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

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

1
-E起動オプションとSSD
-ESSDを使用した場合の影響の証拠を見た人はいますか? 「回転する錆びる」ドライブへの影響については異論はありませんが、SSDはランダムI / Oによって影響を受けることはありません。この-Eオプションはパフォーマンスに悪影響を与える可能性があるのでしょうか。 ドライブ(SSD SAN、PCI SSD、および従来のSAN)が混在するサーバーでは、SQL Serverは使用するかどうかを起動時に決定する-E必要があります。このオプションがパフォーマンスに悪影響を与える可能性があることを示すいくつかの経験的証拠がありますが、削除する前に、他の人のフィードバックをお願いします。 私のセットアップでは標準の64K RAIDストライプを使用しており、NTFSクラスターのサイズも64Kです。

1
sp_configureのブロックされたプロセスしきい値の変更によるパフォーマンスへの影響
私は運用サーバーで発生しているすべてのブロッキングを識別することを任されています。これを達成するための私の計画は使用することです EXECUTE sp_configure 'blocked process threshold', 5 サーバー側のトレースと組み合わせて、ブロックされたプロセスレポートを収集します。 このアクティビティがパフォーマンスに影響を与えることを理解しています。これが何であるかを数値化する方法を見つけたいと思います。

2
デフォルトでCHECK_POLICYをオフにする
SQL Server 2000からSQL Server 2005に移動しました。変更できないクライアントソフトウェアは、オプションなしでユーザーを作成します CHECK_POLICY = OFF; ユーザーを作成した後、コマンドを実行する必要があります ALTER LOGIN username WITH CHECK_POLICY = OFF; ポリシーを無効にすると、推奨どおり、できなくなります。 CHECK_POLICY彼女のCREATE LOGINユーザーなしで作成されたデフォルトを無効にすることは可能CHECK_POLICY = OFFですか?


1
#SomeTableを複数回作成および削除することは「合法」ですか?
私のコードは「コヒーレントブロック」として分離されており、長い「構成スクリプト」に何度も挿入できます。使用しているパターンの1つは次のとおりです。 CREATE TABLE #WidgetSetting ( WidgetID bigint not null, Name nvarchar(100) not null, Value nvarchar(max) not null, CreateDate datetime not null ) INSERT VALUES MERGE TABLES DROP TABLE #WidgetSetting しかし、現在SSMSは、オブジェクトがすでにCREATE TABLE火災が発生するまでにすでに存在していると不平を言っています。何ができますか? スクリプトの最初に一度テーブルを宣言し、ドロップではなく切り捨てる必要があるのは明らかだと思いますが、当然のことながら、テーブルをドロップして同じ名前を再び使用するのは簡単ではありません。

3
架空のインデックスの削除
以前は、クラスター化インデックスのDROP INDEXステートメントと非クラスター化インデックスのDROP STATISTICSステートメントのいずれかを使用して、架空のインデックスを削除すると思っていました。 クリーンアップしたいDTAの残りがいっぱいのデータベースがあります。ただし、オブジェクトを削除しようとすると、「オブジェクトが存在しないか、権限がないため」オブジェクトを削除できないというエラーメッセージが常に表示されます。私はサーバーの完全なシステム管理者ですので、何かをする権利があると思っています。 私はこれをDROP STATSとDROP INDEXステートメントの両方で試しましたが、どちらも同じエラーを出します。 誰かが以前にこれらを削除したことがあり、私が見逃しているトリックはありますか? 補遺 これを見てみると、オブジェクトをRクリックすると、[名前を付けてスクリプト]オプションと[削除]オプションの両方がグレー表示されることに気づきました。

1
.docx XMLを細断処理す​​る方法?
xml(実際にはdocxファイル)をSQL Server 2008データベースにインポートしようとしています。私はXMLプログラミングの初心者です。私はたくさんググりましたが、そこにあるほとんどすべての例は、単純なxmlファイルです。ここでxmlファイルは少し複雑です(以下を参照してください)。このXMLのテーブルを作成する方法と、SQLサーバーで実行するクエリを教えてください。すべてのタグに値が必要です。たとえば、w:rsidP、w:rsidRDefault、w:rsidRのw:p、w:pStyle、w:bookmarkStart、w:tタグなどです。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"> <w:body> <w:p w:rsidR="00EF42E0" w:rsidRDefault="00EF42E0" w:rsidP="00EF42E0"> <w:pPr><w:pStyle w:val="Heading1"/> </w:pPr><w:bookmarkStart w:id="0" w:name="_Toc212523610"/> <w:r> <w:t>Summary</w:t> </w:r> <w:bookmarkEnd w:id="0"/> </w:p> <w:p w:rsidR="00EF42E0" w:rsidRDefault="00EF42E0" w:rsidP="00EF42E0"><w:pPr><w:pStyle w:val="mainbodytext"/><w:ind w:right="-694"/><w:rPr><w:b/><w:bCs/></w:rPr></w:pPr><w:r><w:rPr><w:b/><w:bCs/></w:rPr><w:t>What is the Group Defined Practice for Integrity Management?</w:t></w:r></w:p> <w:p w:rsidR="00EF42E0" w:rsidRDefault="00EF42E0" …

4
ユーザー「domain \ username」のログインに失敗しました。(Microsoft SQL Server、エラー:18456)
ローカルシステムデータベースに接続するときにこの問題に直面していますが、接続するサーバーに接続すると、この問題が発生します。 Login failed for user 'domain\username'. (Microsoft SQL Server, Error: 18456) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476

2
物理トランザクションログファイルがミラーのプリンシパルである場合、どうすれば縮小できますか?
週末にデータベースミラーリングをセットアップしましたが、トランザクションログをバックアップするジョブを再度有効にするのを忘れていました。私が今朝来たとき、トランザクションログは58GBに膨れ上がっており、ドライブ容量のほとんどを占めていました。 トランザクションログをディスクに手動でバックアップして、データベースを再度実行しましたが、DBCC SHRINKFILEを実行しても、トランザクションログファイルの物理的なサイズは小さくなっていません。 DBCC SHRINKFILE (N'MyDatabaseName_Log', 1000) を使用してログの使用状況を確認した場合 DBCC SQLPERF(LOGSPACE) 現在のログの22%だけが使用されていることがわかります データベース名ログサイズ(MB)ログ使用領域(%)ステータス MyDatabaseName 55440.87 22.38189 0 log_reuse_wait_descsys.databsesでチェックアウトした場合、表示される唯一のレコードはDATABASE_MIRRORINGなので、ログファイルの物理サイズが縮小されないのは、ミラーが役割を果たしていると思いますか? SELECT log_reuse_wait_desc FROM sys.databases WHERE name = N'MyDatabaseName'; また、プリンシパルデータベースミラーリングの状態がSuspendedであることにも気付きました。再開することは、次のエラーですぐに失敗します。 データベース 'MyDatabaseName'のリモートミラーリングパートナーでエラー5149、ステータス1、重大度25が発生しました。データベースミラーリングが一時停止されました。リモートサーバーのエラーを解決してミラーリングを再開するか、ミラーリングを削除してミラーサーバーインスタンスを再確立します。 ミラーサーバーのエラーログにはこのエラーも含まれますが、ログファイルドライブがいっぱいであることに関するエラーも含まれます 物理ファイルを拡張しようとしたときに、MODIFY FILEでオペレーティングシステムエラー112(ディスクに十分なスペースがありません。)が発生しました。 そして F:\ Databaselogs \ MyDatabaseName_1.ldf:オペレーティングシステムエラー112(ディスクに十分なスペースがありません。)が発生しました。 プリンシパルサーバーのログファイルドライブには60 GBがあり(他のデータベースはここでホストされています)、ミラーサーバーには45 GBしかありません。 ログファイルをバックアップするとデータベースが再び使用できるようになりましたが、ディスク上の物理ログファイルのサイズを減らし、ミラーリングを再開したいと考えています。 ミラーリングやバックアップチェーンを犠牲にすることなく、物理トランザクションログファイルのサイズを縮小するにはどうすればよいですか? SQL Server 2005を実行しています

2
デフォルト制約の名前変更を自動化するスクリプトを生成します
背景:デフォルトの列制約の一部は明示的な名前なしで生成されたため、次のようにサーバーごとに異なる楽しい名前が付けられます。 DF__User__TimeZoneIn__5C4D869D すべてを一貫した命名で管理DF_Users_TimeZoneInfoできるようにして、適切な制約が将来のターゲットテーブルに存在することを確認できるようにします(RedGateの比較のように、または視覚的にも)。 私は主に私が望むもののために働くスクリプトを持っています: select 'sp_rename N''[' + s.name + '].[' + d.name + ']'', N''[DF_' + t.name + '_' + c.name + ']'', ''OBJECT'';' from sys.tables t join sys.default_constraints d on d.parent_object_id = t.object_id join sys.columns c on c.object_id = t.object_id and c.column_id = d.parent_column_id join sys.schemas s on …

6
SQL Serverは混乱の状態にあります。データベースは存在しますか、それとも存在しませんか?
本当に奇妙で厄介な問題が発生しました。サーバー上で実行されているSQL Server 2008 R2のインスタンスがなんらかの理由で破損しています。 まず、昨日作成したデータベースが見つからないことに気づきました。それで、私たちは周りを見回して、それはまだそこにあるが、離れていることがわかりました。したがって、mdfを添付しようとしましたが、のようなメッセージが表示されましたThe file is currently in use。 変だと思ったのでSQL Serverを再起動しました。同じこと...さて、抜本的な対策の時間...それで、サービスを停止し、mdfを圧縮し、サービスを開始し、解凍してから、復元しようとしました。上記のメッセージは消えましたが、それから私は得ました: 既存のデータベースと同じ名前のデータベースをアタッチできません 痛い。もちろん、データベースエクスプローラには表示されないので、何が起こっているのかわかりません...最後の手段: DROP DATABASE [DatabaseName] もちろん、それはうまくいきませんでした。データベースが存在しないことを教えてくれます。だから、私は行き詰まっています...ある時点でSQL Serverはデータベースが存在すると見なし、別の時点でdbが存在しないと見なします。明らかに混乱の状態にあります。 誰かこれを見たことがある?それを修正する方法に関するアイデアはありますか?

1
SQL Server 7データベースをSQL Server 2012に移動するにはどうすればよいですか?
SQL Server 7.0からSQL Server 2012にデータベースを移動したいのですが、バックアップと復元には互換性がありません。SQL Server 7.0からエクスポートして2012にインポートする方法はありますか?テーブルだけが必要です-ビューやストアドプロシージャは必要ありません。

1
SQL Server 2008 R2の高バッファI / Oの原因
ドキュメント管理サーバー用のSQLサーバーのパフォーマンスをトラブルシューティングしようとしていますが、今日のパフォーマンスはかつてないほど低くなっています。 最近セットアップした管理データウェアハウス(MDW)を見ると、バッファI / Oに大きなスパイクが見られます。組み合わされたSQL待機時間は、1500〜2000ミリ秒の範囲にあり、通常よりもかなり高くなっています(約500ミリ秒)。この増加の大部分はバッファI / Oです。 DBAではなく、必要以上にこれを行うので、私は深く自分の深みから外れています。 バッファI / Oが大幅に増加した理由を確認する方法はありますか?これは、クエリが大量のデータを取得したためか、SQL Serverのメモリ制限の構成が正しくないためと考えられますか?トラブルシューティングに役立つように照会する必要がある特定の(またはその問題に関して一般的な)またはDMVはありますか? サーバーはSQL Server 2008 R2です。これは、2つのvCPUと8GB RAMを実行するVMであり、ディスクはSAN上の別のアレイでホストされます。 上記のグラフはすべて、SQL Server Management Data Warehouseを使用して生成されました。

1
大量のRAMを備えたSQL Serverを編成するための戦略
これで、DB用の新しいサーバーができ、とりわけ128 GBのRAMを利用できます(以前は16 GBでした)。SQL Serverはそのリソースの管理に非常に優れていることを知っていますが、SSが確実に実行するためにサーバー/データベースの設定または処理コード(ストアドプロシージャ/インデックスなど)で使用する必要がある特別な設定や戦略があるかどうか疑問に思っていました利用可能なラムの最大の利点。 DBは約70GBで、非トランザクションデータベースです(データウェアハウスです)。したがって、基本的には大きなWRITEの後に大量のREADが続くのが通常の流れです。

2
SSIS 2012では、「エントリポイント」パッケージとしてパッケージにフラグを立てる目的は何ですか
Visual Studioデザイナーでは、SSISパッケージを右クリックして、「エントリーポイント」パッケージとして指定できます。 検索を実行すると、MSDNでこのページが見つかりました。 値1は、パッケージが直接開始されることを意味します。値0は、パッケージがパッケージ実行タスクで別のパッケージによって開始されることを意味します。デフォルト値は1です。 このフラグを有効または無効にすると、パッケージを直接実行できました。 このフラグを有効または無効にする目的は何ですか?自分のSSISパッケージの意図を文書化するだけなのか、それともSQL Server / SSISが有効または無効になったときの動作が異なるのか?

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