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

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

11
大きなMS SQL .sqlファイルをどのようにインポートしますか?
RedGateのSQLデータ比較を使用して.sqlファイルを生成したので、ローカルマシンで実行できます。しかし問題は、ファイルが300 MBを超えていることです。つまり、クリップボードで処理できないため、コピーと貼り付けができず、SQL Server Management Studioでファイルを開こうとすると、エラーが発生します。ファイルが大きすぎることについて。 大きな.sqlファイルを実行する方法はありますか?ファイルには、基本的に2つの新しいテーブルのデータが含まれています。
240 sql  sql-server  import 


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上の唯一のものです。) 接続しているユーザーに関係なくデータベースを削除できるスクリプトはありますか?


4
ON [PRIMARY]の意味?
私はSQLセットアップスクリプトを作成し、他の誰かのスクリプトを例として使用しています。スクリプトの例を次に示します。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[be_Categories]( [CategoryID] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [DF_be_Categories_CategoryID] DEFAULT (newid()), [CategoryName] [nvarchar](50) NULL, [Description] [nvarchar](200) NULL, [ParentID] [uniqueidentifier] NULL, CONSTRAINT [PK_be_Categories] PRIMARY KEY CLUSTERED ( [CategoryID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = …

11
行が存在するかどうかを確認し、存在しない場合は挿入します
テーブルの行を更新するT-SQLストアドプロシージャを作成する必要があります。行が存在しない場合は挿入します。このすべてのステップはトランザクションによってラップされます。 これは予約システム用であり、アトミックで信頼性の高いものでなければなりません。トランザクションがコミットされ、フライトが予約されている場合は、trueを返す必要があります。 T-SQLは初めてなので、使い方がわかりません@@rowcount。これは私が今まで書いたものです。私は正しい道を進んでいますか?きっとあなたにとって簡単な問題だと思います。 -- BEGIN TRANSACTION (HOW TO DO?) UPDATE Bookings SET TicketsBooked = TicketsBooked + @TicketsToBook WHERE FlightId = @Id AND TicketsMax < (TicketsBooked + @TicketsToBook) -- Here I need to insert only if the row doesn't exists. -- If the row exists but the condition TicketsMax is violated, …

14
varcharとnvarcharのSQL Serverデータ型の主なパフォーマンスの違いは何ですか?
私は学校の小さなWebアプリのデータベースをで使用していSQL Server 2005ます。vs の問題について、いくつかの考えの集まりが見られます。varcharnvarchar 使用varcharあなたが国際化されたデータの多くに対処しない限り、その後使用nvarchar。 nvarcharすべてに使用するだけです。 ビュー2のメリットが見え始めています。nvarcharは2倍のスペースを占めることはわかっていますが、これは数百人の学生のデータを保存するだけなので、必ずしも大したことではありません。私には、それを心配せずに、すべてにnvarcharの使用を許可するのが最も簡単なようです。それとも私が見逃しているものはありますか?

3
SQL Serverでのトランザクションの正しい使用
私には2つのコマンドがあり、両方を正しく実行するか、どれも実行しないようにする必要があります。トランザクションが必要だと思いますが、正しく使用する方法がわかりません。 次のスクリプトの何が問題になっていますか? BEGIN TRANSACTION [Tran1] INSERT INTO [Test].[dbo].[T1] ([Title], [AVG]) VALUES ('Tidd130', 130), ('Tidd230', 230) UPDATE [Test].[dbo].[T1] SET [Title] = N'az2' ,[AVG] = 1 WHERE [dbo].[T1].[Title] = N'az' COMMIT TRANSACTION [Tran1] GO INSERTコマンドが実行されますが、UPDATEコマンドに問題があります。 これを実装して、実行中にエラーが発生した場合に両方のコマンドをロールバックするにはどうすればよいですか?

8
データベースで継承をどのように表すことができますか?
SQL Serverデータベースで複雑な構造を表現する方法について考えています。 オブジェクトのファミリの詳細を格納する必要があるアプリケーションを考えてみてください。これらのオブジェクトは、いくつかの属性を共有しますが、他の多くの属性は一般的ではありません。たとえば、商業保険パッケージには、同じ保険証券レコード内の負債、モーター、財産、および補償の補償が含まれる場合があります。 セクションのコレクションでポリシーを作成できるため、C#などでこれを実装するのは簡単です。セクションは、さまざまなタイプのカバーに必要に応じて継承されます。ただし、リレーショナルデータベースでは、これを簡単に行うことができないようです。 主に2つの選択肢があることがわかります。 Policyテーブルを作成し、次にSectionsテーブルを作成します。可能なすべてのバリエーションについて、すべてのフィールドが必須であり、ほとんどがnullになります。 カバーの種類ごとに1つずつ、ポリシーテーブルと多数のセクションテーブルを作成します。 特に、すべてのセクションにまたがるクエリを記述する必要があるため、これらの方法はどちらも不十分であるように見えます。 このシナリオのベストプラクティスは何ですか?

10
LIKE句で角括弧をエスケープするにはどうすればよいですか?
likeを使用して、ストアドプロシージャでアイテムをフィルター処理しようとしています。列はvarchar(15)です。フィルタリングしようとしているアイテムの名前には角かっこがあります。 例: WC[R]S123456。 私が行う場合、LIKE 'WC[R]S123456'それは何も返しません。 でのESCAPEキーワードの使用に関するいくつかの情報を見つけましたLIKEが、角かっこを通常の文字列として扱うためにそれを使用する方法がわかりません。

9
SQL Server Management Studioで記憶されているログインとパスワードのリストを削除する
私は最近、私の一般的なユーザーがセットアップした会社のスペアラップトップを修理中に使用しました。データベースにログインするときに、SQL Server Management Studioの[パスワードを記憶する]オプションをオンにしました。 ラップトップを使用する次の人がログイン名とパスワードを使用できないようにするために使用したログインとパスワードの情報をクリアする必要があります。これどうやってするの?

10
SQL Serverに存在する場合にのみ、外部キー制約を削除するにはどうすればよいですか?
次のコードを使用してテーブルが存在する場合、テーブルを削除できますが、制約を使用して同じことを行う方法がわかりません。 IF EXISTS(SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'TableName') AND type = (N'U')) DROP TABLE TableName go 次のコードを使用して制約も追加します。 ALTER TABLE [dbo].[TableName] WITH CHECK ADD CONSTRAINT [FK_TableName_TableName2] FOREIGN KEY([FK_Name]) REFERENCES [dbo].[TableName2] ([ID]) go


14
カンマ区切りの文字列を個別の行に変換する
次のようなSQLテーブルがあります。 | SomeID | OtherID | Data +----------------+-------------+------------------- | abcdef-..... | cdef123-... | 18,20,22 | abcdef-..... | 4554a24-... | 17,19 | 987654-..... | 12324a2-... | 13,19,20 次のようなSELECT OtherID, SplitData WHERE SomeID = 'abcdef-.......'個々の行を返すようなクエリを実行できるクエリはありますか。 | OtherID | SplitData +-------------+------------------- | cdef123-... | 18 | cdef123-... | 20 | cdef123-... | 22 …
234 sql-server  tsql  split  comma 

5
SQLの大文字と小文字を区別する文字列の比較
どのように文字列を比較して、各文字列の大文字小文字が等しい場合にのみ比較が真になるようにしますか。例えば: Select * from a_table where attribute = 'k' ...属性「K」の行を返します。私はこの行動を望んでいません。
234 sql  sql-server 

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