タグ付けされた質問 「sql-server-2008-r2」

このタグは、MicrosoftのSQLServerの2008R2バージョンに固有の質問に使用します。

17
タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了されました
モバイルファイルのダウンロードサイトであるWebサイト(1日あたり20000〜60000)に多くのユーザーがいます。私のサーバー(windowsサーバー2008-R2)にリモートアクセスできます。以前に「サーバーが利用できません」というエラー を受け取りましたが、接続タイムアウトエラーが表示されます。 私はこれに精通していません-なぜそれが発生し、どうすれば修正できますか? 完全なエラーは以下のとおりです。 「/」アプリケーションでのサーバーエラー。タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了されました。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細と、コードのどこで発生したかについては、スタックトレースを確認してください。 例外の詳細:System.Data.SqlClient.SqlException:タイムアウトの期限が切れました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了されました。 ソースエラー: 現在のWeb要求の実行中に未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。 スタックトレース: [SqlException(0x80131904):タイムアウトの期限が切れました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了しました。] System.Data.SqlClient.SqlConnection.OnError(SqlException exception、Boolean breakConnection)+404 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()+412 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior 、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj)+1363 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds、RunBehavior runBehavior、String resetOptionsString)+6387741 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior、RunBehavior runBehavior、Boolean returnStream、Boolean async)+6389442 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior runBehavior runBehavior runBehavior runBehavior 538 327 NovinMedia.Data.DbObject.RunProcedure(String storedProcName、IDataParameter []パラメータ、Int32&rowsAffected)+209 DataLayer.OnlineUsers.Update_SessionEnd_And_Online(Object Session_End、Boolean Online)+440 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result、String methodName、Boolean sendToPipe)+689 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()+ …

12
データベースへのすべての接続を強制終了するスクリプト(RESTRICTED_USER ROLLBACK以上)
Visual Studioデータベースプロジェクトから(TFS自動ビルドを介して)頻繁に再展開する開発データベースがあります。 ビルドを実行すると、次のエラーが発生することがあります。 ALTER DATABASE failed because a lock could not be placed on database 'MyDB'. Try again later. ALTER DATABASE statement failed. Cannot drop database "MyDB" because it is currently in use. 私はこれを試しました: ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE それでもデータベースを削除できません。(私の推測では、ほとんどの開発者がdboアクセスできます。) 手動で実行SP_WHOして接続を強制終了できますが、自動ビルドでこれを行う自動方法が必要です。(今回の接続は、ドロップしようとしているdb上の唯一のものです。) 接続しているユーザーに関係なくデータベースを削除できるスクリプトはありますか?

18
シングルユーザーモードを終了する
現在、私のデータベースはシングルユーザーモードです。データベースを拡張しようとすると、エラーが発生します。 データベース「my_db」にアクセスできません。(ObjectExplorer) また、データベースを削除しようとすると、次のエラーが表示されます。 現在、データベース 'my_db'の状態またはオプションを変更することはできません。データベースはシングルユーザーモードであり、ユーザーは現在データベースに接続しています。 シングルユーザーモードを終了するにはどうすればよいですか?このデータベースを使用しているユーザーはいません。 IISで自分のサイトを閲覧しようとすると、次のエラーが発生します。 現在のWeb要求の実行中に未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。 シングルユーザーモードがこれを引き起こしているように感じます。

8
SQLサーバーのストアドプロシージャまたは関数の最終変更日を確認する方法
前回機能が変更された日時を確認する必要があります。作成日を確認する方法を知っています(SQL Server Management Studioの関数のプロパティウィンドウにあります)。 SQL Server 2000では変更日を確認できないことがわかりました(この投稿を参照してください:SQL Server 2000でストアドプロシージャが最後に変更されたのはいつかを判断できますか?) SQL Server 2008で確認できますか?MSは、システムテーブルにチェックを可能にするいくつかの新機能を追加しますか?

10
SQL Server 2008 R2でのデータベース名の変更に関するエラー
このクエリを使用してデータベースの名前を変更しています。 ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted] ただし、実行時にエラーが表示されます。 メッセージ5030、レベル16、状態2、行1 データベースは、操作を実行するために排他的にロックできませんでした。 クエリに問題はありますか?

9
SQL Serverデータベースのサイズを選択します
SQLサーバーにクエリを実行してデータベースのサイズのみを取得するにはどうすればよいですか? 私はこれを使いました: use "MY_DB" exec sp_spaceused 私はこれを得た : database_name database_size unallocated space My_DB 17899.13 MB 5309.39 MB それは私が必要としないいくつかの列を私に返します、おそらくこのストアドプロシージャからdatabase_size列を選択するトリックがありますか? 私もこのコードを試しました: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size * 8) / 1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'MY_DB' それは私にこの結果を与えます: DatabaseName Logical_Name Physical_Name SizeMB MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613 MY_DB MY_DB_log …



12
ファイルまたはアセンブリMicrosoft.SqlServer.management.sdk.sfcバージョン11.0.0.0を読み込めませんでした
MS SQL Server 2008 R2をインストールし、EDMXファイルの下のデータベースからモデルを更新しようとすると、そのエラーが発生します。 ファイルまたはアセンブリMicrosoft.SqlServer.management.sdk.sfcバージョン11.0.0.0を読み込めませんでした ここから Microsoft SQL Server 2008 R2共有管理オブジェクトをインストールしようとしましたが、喜びはありません。

8
row_number()を使用したSQLの更新
列CODE_DESTを増分番号で更新します。私が持っています: CODE_DEST RS_NOM null qsdf null sdfqsdfqsdf null qsdfqsdf 私はそれを次のように更新したいと思います: CODE_DEST RS_NOM 1 qsdf 2 sdfqsdfqsdf 3 qsdfqsdf 私はこのコードを試しました: UPDATE DESTINATAIRE_TEMP SET CODE_DEST = TheId FROM (SELECT Row_Number() OVER (ORDER BY [RS_NOM]) AS TheId FROM DESTINATAIRE_TEMP) このため、これは機能しません ) 私も試しました: WITH DESTINATAIRE_TEMP AS ( SELECT ROW_NUMBER() OVER (ORDER BY [RS_NOM] DESC) …


9
テーブル名の検索
ストアドプロシージャで文字列を検索するには、以下を使用します。 use DBname SELECT Name FROM sys.procedures WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%xxx%' 上記を修正して、特定のdb "DBname"のテーブル名を検索するのは簡単ですか?

6
2点間の距離の計算(緯度、経度)
地図上の2つの位置間の距離を計算しようとしています。私はデータに保存しました:経度、緯度、X POS、Y POS。 以前は以下のスニペットを使用しています。 DECLARE @orig_lat DECIMAL DECLARE @orig_lng DECIMAL SET @orig_lat=53.381538 set @orig_lng=-1.463526 SELECT *, 3956 * 2 * ASIN( SQRT( POWER(SIN((@orig_lat - abs(dest.Latitude)) * pi()/180 / 2), 2) + COS(@orig_lng * pi()/180 ) * COS(abs(dest.Latitude) * pi()/180) * POWER(SIN((@orig_lng - dest.Longitude) * pi()/180 / 2), 2) )) AS …

4
SQL ServerのテーブルからXmlの値と属性をクエリする方法は?
Xml列を含むテーブルがあります。 SELECT * FROM Sqm xml行のデータのサンプルは次のようになります。 <Sqm version="1.2"> <Metrics> <Metric id="TransactionCleanupThread.RecordUsedTransactionShift" type="timer" unit="µs" count="1" sum="21490" average="21490" minValue="73701" maxValue="73701" >73701</Metric> <Metric id="TransactionCleanupThread.RefundOldTrans" type="timer" unit="µs" count="1" sum="184487" average="184487" minValue="632704" maxValue="632704" >632704</Metric> <Metric id="Database.CreateConnection_SaveContextUserGUID" type="timer" unit="µs" count="2" sum="7562" average="3781" minValue="12928" maxValue="13006" standardDeviation="16" >12967</Metric> <Metric id="Global.CurrentUser" type="timer" unit="µs" count="6" sum="4022464" average="670411" minValue="15" maxValue="13794345" standardDeviation="1642047">2299194</Metric> …

4
DISTINCTを使用して可能なパーティション関数COUNT()OVER
次のように、個別のNumUsersの現在の合計を取得するために、次のように記述しようとしています。 NumUsers = COUNT(DISTINCT [UserAccountKey]) OVER (PARTITION BY [Mth]) 管理スタジオはこれについてあまり満足していないようです。DISTINCTキーワードを削除するとエラーは消えますが、明確なカウントにはなりません。 DISTINCTパーティション関数内では不可能のようです。個別のカウントを見つけるにはどうすればよいですか?相関サブクエリなど、より従来の方法を使用しますか? これをもう少し詳しく見てみると、これらのOVER関数は、現在のSQL-Server合計を計算するために使用できないという点で、Oracleとは異なる動作をする可能性があります。 ここSQLfiddleにライブの例を追加しました。ここでは、パーティション関数を使用して現在の合計を計算しようとしています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.