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

Microsoft SQL Serverのすべてのバージョン(MySQL以外)。sql-server-2016のようなバージョン固有のタグも追加してください。これは、質問に関連することが多いためです。


4
トランザクションログが増え続ける、またはスペースが不足するのはなぜですか?
これは、ほとんどのフォーラムやWeb全体でよくある質問のようです。ここでは、一般的に次のような多くの形式で質問します。 SQL Serverで- トランザクションログが非常に大きくなる理由は何ですか? ログファイルが非常に大きいのはなぜですか? この問題の発生を防ぐ方法は何ですか? 根本的な原因を追跡し、トランザクションログファイルを正常なサイズにしたい場合はどうすればよいですか?

18
データベースをどのように文書化しますか?
私のクライアントのほとんどはデータベースをまったく文書化していないことがわかり、かなり怖いです。いくつかのより良いプラクティスを紹介するために、人々が使用しているツール/プロセスを知りたいと思います。 データベースをどのように文書化しますか?(SQLサーバー) どのツールを使用していますか? データベーススキーマ/メタデータのドキュメントストレージ形式? Word文書 エクセルスプレッドシート プレーンテキスト 文書化プロセスまたはポリシー? 既存のデータベースのリバースエンジニアリング/文書化についてではなく、主にシステム/データベースを開発する際の文書化のベストプラクティスについてです。

6
一意のインデックスの代わりに一意の制約を使用する必要があるのはいつですか?
列に個別の値が必要な場合は、制約を使用できます create table t1( id int primary key, code varchar(10) unique NULL ); go または、一意のインデックスを使用できます create table t2( id int primary key, code varchar(10) NULL ); go create unique index I_t2 on t2(code); 一意の制約を持つ列は、一意のインデックスの適切な候補のようです。 一意の制約を使用し、代わりに一意のインデックスを使用しない既知の理由はありますか?

7
CTEと一時テーブルの違いは何ですか?
共通テーブル式(CTE)と一時テーブルの違いは何ですか?そして、いつ一方を使用する必要がありますか? CTE WITH cte (Column1, Column2, Column3) AS ( SELECT Column1, Column2, Column3 FROM SomeTable ) SELECT * FROM cte 一時テーブル SELECT Column1, Column2, Column3 INTO #tmpTable FROM SomeTable SELECT * FROM #tmpTable
174 sql-server  cte 


19
開発者は本番データベースを照会できる必要がありますか?
開発者は、SELECT本番データベースを照会(/読み取り専用)する許可を与えられるべきですか?私が以前働いていた場所では、開発チームがdb_datareader役割を果たしていました。私が現在働いている場所では、開発チームは実稼働インスタンスに接続することさえできません。 テストインスタンスの1つは、1週間に1回、運用環境のバックアップから復元された運用環境のコピーです。したがって、開発者が実際にデータを表示しても問題はありません。 開発者がプロ​​ダクションにクエリを許可しない理由は何ですか(単に機密データの読み取りにアクセス権を持たせたくない場合を除く)。

4
SQL Server 2017のインストールのヘルプ-VS Shellのインストールが終了コード1638で失敗しました
このエラーに対処する方法に関する提案: TITLE: Microsoft SQL Server 2017 Setup ------------------------------ The following error has occurred: VS Shell installation has failed with exit code 1638. For help, click: https://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=0x5B39C8B9%25401434%25403 ------------------------------ BUTTONS: OK ------------------------------ これは新しいラップトップです SQL Server 2016 Express Visual Studio 2017 SSMS 2017 SQL ServerまたはVisual Studioに関連するものをすべてアンインストールしようとしました。 ログ:[3500:3970] [2017-11-03T16:25:20] e000:エラー0x80070666:新しいバージョンがインストールされている場合、製品をインストールできません。 Detailed results: Feature: Full-Text …

4
数値表が「貴重な」のはなぜですか?
私たちの常駐データベースの専門家は、数値表は非常に貴重であると言っています。理由はよくわかりません。これが数字の表です。 USE Model GO CREATE TABLE Numbers ( Number INT NOT NULL, CONSTRAINT PK_Numbers PRIMARY KEY CLUSTERED (Number) WITH FILLFACTOR = 100 ) INSERT INTO Numbers SELECT (a.Number * 256) + b.Number AS Number FROM ( SELECT number FROM master..spt_values WHERE type = 'P' AND number <= 255 ) a …
112 sql-server 

6
インデックスが必要か必要かを判断する方法
MS SQLデータベースで自動インデックスツールを実行しました(インデックス統計テーブルを参照するMicrosoftのスクリプトを変更しました- 自動自動インデックス作成)。統計から、作成する必要のあるインデックスの推奨事項のリストができました。 編集: 上記のインデックスは、データベースエンジンがインデックスに使用できるものを示すDMVから情報を取得し、スクリプトはTop xの推奨事項(シーク、ユーザーへの影響など)を取得し、テーブルに入れます。 (スクリプトが何をしているのかを明確にするために、下のラリー・コールマンの回答から部分的に取った上記の編集) 私はデータベース管理者が初めてであり、ネット上で簡単に検索したので、思い切って推奨インデックスを盲目的に追加することに消極的です。ただし、この分野での経験がないため、推奨事項が必要かどうかを判断する方法についてのアドバイスを探しています。 SQLプロファイラを実行する必要がありますか、それともテーブルをクエリするコードを調べる方が良いですか?他にアドバイスはありますか?

6
SQL Server Management Studio 18が開かない(スプラッシュ画面のみがポップアップする)
VS2019のみがインストールされたコンピューターにSSMS 18 GAをインストールしました。SSMSを開こうとすると、スプラッシュスクリーンが表示されますが、プロセスは終了します。 -logパラメーターを指定してssmsを実行すると、エラーメッセージが表示されます。 パッケージのCreateInstanceが失敗しました[タスクスケジューラパッケージ]ソース: 'mscorlib'説明:ファイルまたはアセンブリ 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 15.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'またはいずれかをロードできませんでしたその依存関係。見つかったアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)System.IO.FileLoadException:ファイルまたはアセンブリ 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 15.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'またはその依存関係の1つをロードできませんでした。見つかったアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)ファイル名: 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 15.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a '---> System.IO.FileLoadException:ファイルまたはアセンブリ' Microsoft.VisualStudio.Shell.Interop.8.0、Version = 8.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a 'またはその依存関係の1つをロードできませんでした。見つかったアセンブリのマニフェスト定義は、アセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)ファイル名: 'Microsoft.VisualStudio.Shell.Interop.8.0、Version = 8.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a' WRN:アセンブリバインディングログはオフになっています。アセンブリバインドエラーログを有効にするには、レジストリ値[HKLM \ Software \ Microsoft \ …
105 sql-server  ssms  ssms-18 


6
TRUNCATEとDROPの両方を使用する理由
私が取り組んでいるシステムには、一時テーブルを利用する多くのストアドプロシージャとSQLスクリプトがあります。これらのテーブルを使用した後、削除することをお勧めします。 私の同僚の多く(ほとんど全員が私よりもはるかに経験豊富です)が通常これを行います: TRUNCATE TABLE #mytemp DROP TABLE #mytemp 私は通常DROP TABLE、スクリプトでシングルを使用します。 TRUNCATE直前に行う理由はありますDROPか?

8
最初の引数がNULLでなくても、SQL ServerはCOALESCE関数をすべて読み取りますか?
T-SQL COALESCE関数を使用していますが、最初の引数は実行された時間の約95%でnullになりません。最初の引数がのNULL場合、2番目の引数は非常に長いプロセスです。 SELECT COALESCE(c.FirstName ,(SELECT TOP 1 b.FirstName FROM TableA a JOIN TableB b ON .....) ) たとえば、c.FirstName = 'John'SQL Serverは引き続きサブクエリを実行しますか? VB.NET IIF()関数では、2番目の引数がTrueの場合、コードは3番目の引数を読み取ります(使用されなくても)。

7
GUID対INT-主キーとしてどちらが良いですか?
私は使用する理由としない理由について読んGuidでいintます。 int小さく、速く、覚えやすく、時系列を保持します。そして、Guid私が見つけた唯一の利点は、それがユニークであることです。どちらの場合、a Guidはa よりも優れており、intその理由は? 私が見たものからint、多くの場合、無関係である数の制限を除いて、欠陥はありません。 なぜ正確にGuid作成されたのですか?実際には、単純なテーブルの主キーとして機能する以外の目的があると思います。(Guid何かに使用する実際のアプリケーションの例は?) (Guid = UniqueIdentifier)SQL Serverのタイプ

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