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

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

1
「対象テーブルのチェック制約またはパーティション機能で許可されていない値を許可する」でデータの切り替えが失敗する
次の場合 -- table ddl create table dbo.f_word( sentence_id int NULL, sentence_word_id int NULL, word_id int NULL, lemma_id int NULL, source_id int NULL, part_of_speech_id int NULL, person_id int NULL, gender_id int NULL, number_id int NULL, tense_id int NULL, voice_id int NULL, mood_id int NULL, case_id int NULL, degree_id int NULL, citation …

2
保守計画のスクリプト作成
SQL Server Management Studio(SSMS)を使用して、SQL Server 2008 R2のメンテナンスプランを作成しました。 ただし、別のサーバーでやり直す必要がある場合に備えて、スクリプトにエクスポート/変換できません。 方法はありますか? いいえの場合、SQL Serverの新しいバージョンを使用する方法はありますか?

3
CHECKPOINTまたはCOMMITはディスクに書き込みますか?
たとえば、SQLServer2008R2以降の場合、完全復旧モードのデータベースを使用します。 私はいつも考えた: トランザクションがコミットされると(COMMIT)、トランザクションはRAMのトランザクションログに書き込まれます。 CHECKPOINTが発生すると(一定の時間および/またはいくつかのトランザクションおよびその他の基準の後)、最後のCHECKPOINTと現在のCHECKPOINTの間のトランザクションがディスクに書き込まれます。 バックアップログが発生すると、データはMDFファイルに書き込まれます。 私は正しいですか?同僚の中には、自分が間違っていると言っている人もいます。BOLを使っても正しい答えを見つけるのは難しいです。 ありがとう!
12 sql-server 

2
SQLの2つの大きなデータセットを比較する効率的な方法
現在、一意のStoreKey/ProductKey組み合わせを含む2つのデータセットを比較しています。 1番目のデータセットには、StoreKey/ProductKey2012年1月から2014年5月の終わりまでの販売の一意の組み合わせがあります(結果= 45万行)。2番目のデータセットには、StoreKey/ProductKey2014年6月から今日までの販売の一意の組み合わせがあります(結果= 19万行)。 私はStoreKey/ProductKey、2番目のセットにはあるが、1番目のセットにはない組み合わせ、つまり6月初旬から販売された新製品を探しています。 これまで、2つのデータセットを一時テーブルにダンプし、両方のキーで両方のテーブルのインデックスを作成し、EXCEPTステートメントを使用して一意のアイテムを見つけました。 このような大きなデータセットを比較する最も効率的な方法は何ですか?このタイプの大規模な比較を行うより効率的な方法はありますか?

1
約50日後にSQL Server 2012 Page Life Expectancyが0にリセットされる
2サーバーHAクラスターで奇妙な動作に気づいたので、誰かが私の疑いを確認できるか、または他の説明を提供できると期待していました...ここに私のセットアップがあります。 2サーバーのSQL 2012 SP1インストール いくつかのデータベースでSQL AlwaysOn HAが有効になっています CPUは2.4GHz、4コア RAMは34 GB(AWSインスタンスであるため、奇数) リソース使用率は比較的低く、各サーバーには14 GB以上の空きメモリがあり、SQLは使用するメモリ量に制限がありません ディスクアクセス時間は問題ありません-15ms / ReadまたはWriteを超えることはほとんどありません データベースは大きくありません-1 GB、1.5 GB、7.5 GB SQLサーバープロセスは16 GBのプライベートバイト、15 GBのワーキングセットを使用しています 全体的に、リソースの問題は指摘されていません。奇妙な部分です。SQLは再起動されません(プロセスはほぼ6か月間実行されています)が、〜50日ごとに、Page Life Expectancyカウンターが(ほぼ)0に低下しているようです。perfグラフは次のとおりです。 カウンターデータを見ると(正確な数はなく、1時間ごとの集計)、PLEカウンター値は毎回(少なくともデータがあるたびに)約4,295,000秒(約50日間)に達したようです。 私のクレイジーな理論は、PLE番号が符号なしlong int(4,294,967,295の制限がある)としてミリ秒として保持され、49.71日で設計またはバグのためにリセットされるというものです。これにより、2つのサーバーの動作と、それらが持つ同一のパターンが説明されます。または、まったく異なるものになる可能性があり、私はまったく意味をなさない。:) 誰かがそのようなものを見たか、またはこの動作を説明できますか? PS私はこの投稿を見ましたが、私の場合は少し違うようです。 PPSこれは再投稿です-私はもともとここに投稿しましたが、ここの聴衆はより適切であるとアドバイスされました。 ありがとう!

4
パスワードを使用してログインを2008R2から2014に転送するにはどうすればよいですか?
Advanced Scripting Optionsで「Tasks> Generate Scripts...スクリプトログイン」を設定してみましたが、出力で次のようになります。 /* For security reasons the login is created disabled and with a random password. */ これらのログインをパスワードでスクリプト化する簡単な方法や、ログインを2008R2インスタンスから2014インスタンスに転送する別の方法はありますか?

9
間違ったデータベースを誤って変更するリスクを最小限に抑えるにはどうすればよいですか?
オブジェクトエクスプローラーでサーバーから切断しても、そのサーバーで既に開いているクエリウィンドウの実行が停止しないという難しい方法を学びました。 私の状況は次のとおりです。開発/ステージングサーバーと運用サーバーに接続するために使用するSSMSのインスタンスが1つあります。devで大量のデータを削除しなければならなかったため、本番環境への接続を閉じる必要があると考えましたが、使用しているクエリウィンドウには注意を払いませんでした。(幸運にも、ほんの数時間前のバックアップがありました。) 実稼働データを破壊するのは私が最初ではなく、最後になるとは思いません。そこで、間違ったデータベースでクエリを実行するリスクを最小限に抑えるのに役立つチェックリスト、ベストプラクティスなどを探しています。以前にこれを経験しましたか?また、これを回避するためにワークフローをどのように適合させましたか?
12 sql-server  ssms 

11
2つのSQLテーブル間のコンテンツの違いを見つけて、同期SQLを生成する方法
正確なスキーマを持つ2つのテーブル間のデータの違いを見つける方法と、ユニオンの結果(重複なし)を取得するための同期SQLの生成方法 これらは2つのテーブルです。 SOURCE01.dbo.Customers (31,022 rows) TARGET01.dbo.Customers (29,300 rows) 各テーブルのスキーマは次のとおりです。 [CustomerId] : nvarchar(255) [CustomerSerializedProfile]: nvarchar(max) [CreatedDatetime] : DateTime

1
SQL Server 2008 R2インデックスの再構築が重大度17で失敗する
インデックスのメンテナンス中に、SEV 17エラーでジョブが失敗し、再構築中のオブジェクトに十分なスペースを割り当てられないことがあります。データベースは次のようにレイアウトされます。 Data_file1 PRIMARY 0 growth 0% free Max Size UNLIMITED Data_file2 PRIMARY 0 growth 0% free Max Size UNLIMITED Data_file3 PRIMARY 0 growth Less than 1% free Max Size UNLIMITED Data_file4 PRIMARY 250 MB growth Less than 1% free Max Size UNLIMITED 基本的に、4つのデータファイルのうち3つがいっぱいで成長が許可されず、4つ目がいっぱいで成長が許可されています。ファイルはさまざまなLUNに分散しています(そして、その理由は面倒です)。そのため、オンラインインデックスの再構築が開始されると、追加のスペースが必要な場合、Data_file4に成長して問題ないことを理解していますが、成長が許可されておらず失敗する別のファイルに成長しようとしているようです。このエラーを再現することはできませんが、なぜこれが発生するのかについての洞察を誰かが持っているかどうか疑問に思っていました。 SQL Serverの完全バージョンは2008 R2 Enterprise、SP2 CU 4(10.50.4270)です。Ola …

1
SSISトランスフォームが非ブロック、部分ブロック、または完全ブロックのいずれであるかを判断するにはどうすればよいですか?
SSIS変換をブロッキング(非同期)、非ブロッキング(同期)、および部分ブロッキング(非同期)に分類すると主張するブログがいくつかあります。 特定の質問を見るとき:マルチキャストは同期(非ブロッキング)ですか、非同期(部分的にブロッキング)ですか? 1つのリソースが非同期を主張している:「マルチキャストは非同期(部分ブロックとも呼ばれる)変換」ソース:http : //social.technet.microsoft.com/wiki/contents/articles/7392.ssis-multicast-transformation.aspx および別の同期:https ://jorgklein.com/2009/04/14/ssis-lookup-is-case-sensitive/ 他のリソースは、DQS Cleansingトランスフォームが非ブロッキングトランスフォームであると主張していますが、部分的にブロックしているように思えます。 タイプ別に分類された変換のリストへのリンクで答えないでください。この質問に対する答えにより、より厳密な方法で正しい答えを証明できるようになることが期待されます。 部分的にブロックする変換とブロックする変換は、所定のバッファーで動作する非ブロックではなく、新しいバッファーにデータを移動するため、変換の実行中にバッファーの作成を監視するのが解決策になると思いますが、 )これが決定的な答えを生成する場合、および(b)これを行う方法。 非ブロッキング変換では新しい実行ツリーが開始されないため、PipelineExectionTreesとPipelineExecutionPlanのログに答えが存在する可能性があります。これにより、同期と非同期が区別される場合がありますが、部分ブロックと完全ブロックは区別されない場合があります。

2
TM REQUESTおよび計画ハンドル0x0000でセッションがハングする
多数の接続がTM REQUEST(from sys.dm_os_waiting_tasks)でハングアップし、進行しない定期的なイベントがあります。KILL影響を受けた上でsession_id何もしません サーバーはデータベースミラーリング(2008R2)を実行します。ミラーリングを一時停止して再開すると、問題が発生したときに修正されます。 この状態のままになっているセッションは強制終了できません。ミラーへの負荷は通常のもので、バースト的ではありません。この状態で多数の接続がスタックすると、システムがフリーズし、ミラーの複製が停止します(すべてのクエリがブロックされます)。 誰もこれを前に見て、それが何を引き起こしているのか知っていますか?エラーログには何もありません。
12 sql-server 

1
FreeProcCacheとFreeSystemCacheの違い
現在DBCC FREEPROCCACHE、実行中のSQLクエリ間でバッファプールから情報を消去するときに実行します。しかし、私はこの Technetの記事を参照していましたDBCC FREESYSTEMCACHE。どのキャッシュがFREESYSTEMCACHEワイプFREEPROCCACHEしないのですか?
12 sql-server  cache 

3
ALTER DATABASEステートメントはマルチステートメントトランザクション内では許可されません
ここからAdventureWorksベースのインメモリサンプルをダウンロードし、付属のドキュメントに記載されているすべての手順を実行しました。ただし、SQL Server Management Studioでスクリプトを実行しようとすると、次のエラーメッセージが表示されます。 ALTER DATABASEステートメントはマルチステートメントトランザクション内では許可されません エラーは9行目を指しています。 IF NOT EXISTS (SELECT * FROM sys.data_spaces WHERE type='FX') ALTER DATABASE CURRENT ADD FILEGROUP [AdventureWorks2012_mod] CONTAINS MEMORY_OPTIMIZED_DATA GO これは(多かれ少なかれ)Microsoftの公式ドキュメントであるため、私はそれが間違っていると思っていますが、それが何かを理解することはできません。

1
50個のインスタンスを持つSQL Server 2012 Standardサーバーはインスタンスをアンインストールしません
SQL Serverの50インスタンスの上限に達したため、これは問題だと思われます。限界では、当然、それ以上のインスタンスはインストールされません。ただし、それらもアンインストールされないようです。さらに悪いことです。 インスタンスのSQLエンジンを選択した後、次にヒットすると、[機能の選択]ダイアログでハングします。 私はこれについて多くの情報を見つけませんでした。最も興味深いヒットはこれでした:http : //social.msdn.microsoft.com/Forums/sqlserver/en-US/24a1e5f3-25f3-48c8-973a-4c6a18578e42/trying-to-uninstall-1-of-50-sql -server-2008-r2-express-hangs-on-please-wait また、使用することをお勧めします setup.exe、いくつかのパラメーターをしてインスタンスをアンインストールするますが、GUIを起動せずに失敗し、通常のアンインストールを実行しないと、インスタンスをアンインストールできません。 標高は何もしません。再起動は役に立ちません。ログには「ユーザーによってキャンセルされました」としか表示されません。その時点までに明らかなものはありません。検証はすべて緑色です。 セットアップでは、SQL Server 2012 SP1-すべてのインスタンスが11.0.2100であると表示されます。 マイクロソフトが「修正しない」のステータスでチケットをクローズしたため、自分の質問に答える/閉じることを選択します。 彼らがSQL Server 2014でこれを修正することを願っていますが、私はそれを自分でテストしたり、計画したりしていません。

3
BlockOnPossibleDataLossを無視するsqlpackage.exe?
BlockOnPossibleDataLossをfalseに設定したdacpacがありますが、sqlpackage.exeで実行すると展開がブロックされ、「列[a]が削除されているため、データ損失が発生する可能性があります。」 ただし、まったく同じ展開プロファイルを使用してVisual Studio 2012から発行すると、それが実行されます。

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