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

Microsoft SQL Serverは、リレーショナルデータベース管理システム(RDBMS)です。このタグは、Compact、Express、Azure、Fast-track、APS(以前のPDW)、Azure SQL DWを含むすべてのSQL Serverエディションに使用します。他のタイプのDBMS(MySQL、PostgreSQL、Oracleなど)には、このタグを使用しないでください。データベースに直接関連している場合を除き、このタグをソフトウェアやモバイル開発の問題に使用しないでください。

4
複数のINSERTステートメントと複数のVALUESを持つ単一のINSERT
1000のINSERTステートメントを使用してパフォーマンスを比較しています。 INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('6f3f7257-a3d8-4a78-b2e1-c9b767cfe1c1', 'First 0', 'Last 0', 0) INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('32023304-2e55-4768-8e52-1ba589b82c8b', 'First 1', 'Last 1', 1) ... INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('f34d95a7-90b1-4558-be10-6ceacd53e4c4', 'First 999', 'Last 999', 999) ..対して、1000個の値を持つ単一のINSERTステートメントを使用します: INSERT INTO T_TESTS (TestId, FirstName, …

2
SELECT…FOR UPDATEを使用する場合
背後のユースケースを理解するのを手伝ってくださいSELECT ... FOR UPDATE。 質問1:次のSELECT ... FOR UPDATE使用例は良い例ですか? 与えられた: 部屋[id] タグ[ID、名前] room_tags [room_id、tag_id] room_idとtag_idは外部キーです アプリケーションは、すべての部屋とそのタグをリストする必要がありますが、タグのない部屋と削除された部屋を区別する必要があります。SELECT ... FOR UPDATEを使用しない場合、次のことが起こります。 最初は: 部屋には [id = 1] タグに含まれる [id = 1, name = 'cats'] room_tagsには [room_id = 1, tag_id = 1] スレッド1: SELECT id FROM rooms; returns [id = 1] スレッド2: DELETE FROM room_tags …



4
SQL Serverでの「Null」値のサイズ
たとえば、10列の大きなテーブルがあります。それらの4つはほとんどの場合nullのままです。null値が任意のサイズまたはバイト単位のサイズをとらないクエリがあります。私はそれらのいくつかが言っているいくつかの記事を読みました: http://www.sql-server-citation.com/2009/12/common-mistakes-in-sql-server-part-4.html テーブルにNULL値がある場合、ストレージスペースを占有しないという誤解があります。実際、NULL値はスペースを占有します– 2バイト SQL:NULL値とデフォルト値の使用 NULLデータベースの値は、1バイトのストレージを占めるシステム値であり、スペースやゼロなどのデフォルト値ではなく、値が存在しないことを示します。 ヌル値でとったサイズについて教えてください。

7
Entity Framework Migrationsがテーブルとカラムの名前を変更
いくつかのエンティティとそのナビゲーションプロパティの名前を変更し、EF 5で新しい移行を生成しました。EF移行での名前の変更と同様に、デフォルトでは、オブジェクトを削除して再作成していました。それは私が欲しかったものではないので、移行ファイルをゼロから構築しなければなりませんでした。 public override void Up() { DropForeignKey("dbo.ReportSectionGroups", "Report_Id", "dbo.Reports"); DropForeignKey("dbo.ReportSections", "Group_Id", "dbo.ReportSectionGroups"); DropForeignKey("dbo.Editables", "Section_Id", "dbo.ReportSections"); DropIndex("dbo.ReportSectionGroups", new[] { "Report_Id" }); DropIndex("dbo.ReportSections", new[] { "Group_Id" }); DropIndex("dbo.Editables", new[] { "Section_Id" }); RenameTable("dbo.ReportSections", "dbo.ReportPages"); RenameTable("dbo.ReportSectionGroups", "dbo.ReportSections"); RenameColumn("dbo.ReportPages", "Group_Id", "Section_Id"); AddForeignKey("dbo.ReportSections", "Report_Id", "dbo.Reports", "Id"); AddForeignKey("dbo.ReportPages", "Section_Id", "dbo.ReportSections", "Id"); AddForeignKey("dbo.Editables", "Page_Id", "dbo.ReportPages", "Id"); …


6
LIKEフィルターでアンダースコア文字を使用すると、すべての結果が得られるのはなぜですか?
以下のSQLクエリをLIKE条件付きで記述しました。 SELECT * FROM Manager WHERE managerid LIKE '_%' AND managername LIKE '%_%' のLIKE下線を検索したいのです%_%が、列のデータに下線文字がないことがわかります。 クエリでテーブルのすべてのレコードが返されるのはなぜですか? サンプルデータ: create table Manager( id int ,managerid varchar(3) ,managername varchar(50) ); insert into Manager(id,managerid,managername)values(1,'A1','Mangesh'); insert into Manager(id,managerid,managername)values(2,'A2','Sagar'); insert into Manager(id,managerid,managername)values(3,'C3','Ahmad'); insert into Manager(id,managerid,managername)values(4,'A4','Mango'); insert into Manager(id,managerid,managername)values(5,'B5','Sandesh'); Sql-Fiddle
118 sql  sql-server 

13
エラー-データベースが使用中のため、排他アクセスを取得できませんでした
私は実際に1つのバックアップファイルから1つのデータベースを復元するスクリプト(SQL Server 2008)を作成しようとしています。私は次のコードを作成し、エラーが発生しています- Msg 3101, Level 16, State 1, Line 3 Exclusive access could not be obtained because the database is in use. Msg 3013, Level 16, State 1, Line 3 RESTORE DATABASE is terminating abnormally. この問題を解決するにはどうすればよいですか? IF DB_ID('AdventureWorksDW') IS NOT NULL BEGIN RESTORE DATABASE [AdventureWorksDW] FILE = N'AdventureWorksDW_Data' FROM …

13
ディレクトリ内のすべてのSQLファイルを実行する
他の開発者がSQL Server 2005データベースに加えた変更を適用するために実行する必要がある.sqlファイルがいくつかあります。ファイルは、次のパターンに従って名前が付けられます。 0001 - abc.sql 0002 - abcef.sql 0003 - abc.sql ... それらすべてを一度に実行する方法はありますか?

4
SQL Server Management Studioでテーブルの値をすばやく編集するにはどうすればよいですか?
オブジェクトエクスプローラーのコンテキストメニュー-> [上位200行を編集]を除いて、セルの値をすばやく変更できる編集モードでテーブルをすばやく開く方法はありますか? 最初の200行を超えてページングできるようにする必要があります。そして、私が行う必要のあるすべての微調整のために「挿入」スクリプトを書きたくありません... SMSがページテーブルエディタ(Navicatなど)にすばやくアクセスできない理由がわかりません。
117 sql  sql-server  ssms 

6
SQLServerタイムアウト例外をキャッチする方法
SQLサーバーのタイムアウト例外を個別にキャッチして、異なる方法で処理できるようにする必要があります。SqlExceptionをキャッチし、メッセージ文字列に「タイムアウト」が含まれているかどうかを確認できることはわかっていますが、それを行うより良い方法があるかどうか疑問に思っていましたか? try { //some code } catch (SqlException ex) { if (ex.Message.Contains("Timeout")) { //handle timeout } else { throw; } }



6
動的SQLの結果をsql-serverの変数に取得する
ストアドプロシージャで次のように動的SQLを実行します。 DECLARE @sqlCommand nvarchar(1000) DECLARE @city varchar(75) SET @city = 'London' SET @sqlCommand = 'SELECT COUNT(*) FROM customers WHERE City = @city' EXECUTE sp_executesql @sqlCommand, N'@city nvarchar(75)', @city = @city count(*)列の値をSPの戻り値として使用するにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.