タグ付けされた質問 「troubleshooting」

2
ミラーリングセッションがタイムアウトしてフェールオーバーする原因は何ですか?
累積更新プログラム3を適用したSQL Server 2005 SP4を実行する2つの運用SQLサーバーがあります。両方のサーバーは同一の物理マシンで実行されます。4 x 12コアCPUと512GB(yes GB)のRAMを備えたDELL PowerEdge R815、すべてのSQLデータベースとログ用の10GB iSCSI SAN接続ドライブ。OSはMicrosoft Windows Server 2008 R2 Enterpriseエディションで、すべてのSPおよびWindowsが更新されています。OSドライブは、3 x 72GB 2.5 "15k SASドライブのRAID 5アレイです。SA​​Nは、48 x 10K SAS 3.5"ドライブを備えたDell EqualLogic 6510で、RAID 50で構成され、2つのSQL ServerのさまざまなLUNにスライスされ、共有されますExchangeマシンと複数のVMWareサーバーを使用します。 20を超えるデータベースがあり、そのうち11がミラーリングされ、ミラーリング監視サーバーを使用しています。ミラーリング監視サーバーは、ミラーリング監視サービスを提供する以外に使用されないSQL Serverインスタンスを実行する低出力のマシンです。最大のミラーリングされたデータベースは450GBで、約100〜300 iopsを生成します。データベースミラーリングモニターは、現在の送信速度を毎秒約100 kb〜10 mb、ミラーコミットオーバーヘッド(通常)0ミリ秒を報告します。ミラーサーバーは、プリンシパルについていくことに問題はありません。 ミラーリングフェールオーバーが常に発生しています。単一のデータベースがフェールオーバーすることもあれば、ほぼすべてのデータベースが同時にフェールオーバーすることもあります。たとえば、昨夜、11のデータベースのうち10がフェイルオーバーし、手動でフェイルオーバーするまで残りのデータベースはアクセス可能なままでした。 問題を特定するためにいくつかのトラブルシューティング手順を実行しましたが、これまでのところ問題を解決できませんでした。 1)マシンには、最初にプライマリネットワーク接続として使用したBroadcom BCM5709C NetXtreme II 4ポートギガビットネットワークアダプターが付属していました。以来、問題としてNICを排除するために、両方のマシンにIntel(R)PRO / 1000 PTデュアルポートサーバーアダプターをインストールしました。 2)すべてのデータベースには、ミラーリングに関係するデータベースのログバックアップとともに、夜間の自動フルバックアップがあります。ログファイルの使用状況は監視されており、使用率が15%を超えることはめったにありません。メインデータベースのログファイルは125GBで、サイズが511MBから1GBまでの159個の仮想ログファイルで構成されています。TempDBは独自のLUN上にあり、24 x 2GBファイルで構成されています。 3)ミラーリング監視サーバーのSQL Serverのログには、次のエラー以外は表示されません。「TCP://SQL02.DOMAIN.INET:5022」へのミラーリング接続は、応答なしで30秒後にデータベース「Data」に対してタイムアウトになりました。サービスとネットワーク接続を確認してください。 …

3
他のトランザクションをブロックするSPIDのスリープ
私が経験しているいくつかのブロッキングを追跡するのに本当に苦労しています。 ルートブロックSPIDのステータスは「sleeping」、cmdは「AWAITING COMMAND」、およびはsqltextですSET TRANSACTION ISOLATION LEVEL READ COMMITTED。 [ブロックされたトランザクション数別の上位トランザクション]レポートを表示すると、ブロックSQLステートメントは「-」です。 SQLでトレースを実行し、ルートブロッキングSPIDをトレースしてブロッキングが発生した場合、実際にはどこにも導かれていません。最後のtraceステートメントは同じであるsqltext以上SET TRANSACTION ISOLATION LEVEL READ COMMITTED。 関連するすべてのストアドプロシージャをチェックして、それらにTRY / CATCH BEGIN TRAN / COMMIT TRAN / ROLLBACK TRANステートメントがあることを確認しました(すべてにストアドプロシージャを使用しているため、スタンドアロンのステートメントは実行されません)。この問題は過去24時間に発生し始めたばかりで、システムに変更を加えたと主張する人はいません。 解決策:めったに使用されないストアドプロシージャの1つに挿入のエラーがありました(列の数が一致しませんでした)が、正確に何が起こっているのかまだ混乱しています。 すべてのトレース情報を確認すると、このストアドプロシージャのEXECステートメントが時々リストされましたが、ブロックするSPIDでBLOCKが発生する直前には決してありませんでした。ブロックを開始すると、トレースはその実行(またはその中のステートメントのいずれか)を記録しなかったようです。ただし、トレースがその実行を記録し、ブロッキングが発生しなかった場合もあります。 ストアドプロシージャのエラーレポートはユーザーから送信されたものであり、トレースで複数のEXECステートメントを見つけてSSMSで実行することができました。それらを実行したとき、ブロッキングが発生したりハングしたりすることはありませんでした。それらは期待通りに実行されました(catchブロックが起動し、エラー後にトランザクションをロールバックしました)。ストアドプロシージャの修正を解決した後、問題は再び発生していません。

4
パッケージ内のエラーを見つけるためにSSISDBを照会する方法は?
私はこの質問を見てきました SSIS 2012-T-SQLで現在実行中のパッケージをクエリする方法? 次のスクリプトを提供します。 SELECT E.execution_id , E.folder_name , E.project_name , E.package_name , E.reference_id , E.reference_type , E.environment_folder_name , E.environment_name , E.project_lsn , E.executed_as_sid , E.executed_as_name , E.use32bitruntime , E.operation_type , E.created_time , E.object_type , E.object_id , E.status , E.start_time , E.end_time , E.caller_sid , E.caller_name , E.process_id , E.stopped_by_sid …

2
tempdbにファイルを追加するコンテキストでのホットスポットとは何ですか?
SQL Serverサービスを再起動せずにtempdbファイルをSQL Serverに追加できるかどうかを確認しようとしています。私はここでデータベース管理者にこの答えを見ました: Tempdbファイルの追加には再起動が必要 そして1つの答えは次のとおりです。 追加-停止は不要です。MicrosoftのSeanが指摘したように、SQLはより低い値のファイルを使用することを好みます。1つのデータファイルから追加する場合、SQLはしばらくの間新しいデータファイルを使用しますが、ファイルが1つしかない場合よりもパフォーマンスは低下しません。ただし、すでに2+があり、もう1つ追加すると、新しいホットスポットにホットスポットが追加され、パフォーマンスが低下します。 ただし、コメントでは次の点に注意してください。 「追加」の部分に補遺を追加します。「追加:いいえ。ただし、不均衡になる可能性が高いため、ホットスポットになり、事態がさら​​に悪化する可能性があります。」 私はそのコメントについて次の質問を持っていますが、その質問の回答のコメントを介してコメンターに質問するのではなく、自分の新しい質問(この質問)で質問するように指示されました。 具体的には: ホットスポットとは何ですか?(Google経由で情報を入手しましたが、ファイルを追加した後にtempdbでホットスポッティングを行うと何が起こるか詳細に説明しませんでした) ホットスポットはtempdbの状況をさらに悪化させますか? DBのどの特定のものがさらに悪化しますか?

6
MS SQL Serverで混乱したレプリケーションを修正する方法
バックアップからデータベースを復元しました。データベースはレプリケーションを使用して別のサーバーに公開します。データベースを復元するとレプリケーションが壊れると想定して、レプリケーションを削除して再作成しようとしました(ゼロから再作成するスクリプトがあります)。私が何をしたか正確にはわかりませんが、今は完全にめちゃくちゃな状態にあり、修正できません。 最初に、(パブリッシャーサーバー上の)サブスクリプションを削除しようとします。 EXEC sp_dropsubscription @publication = 'PublicationName', @article = N'all', @subscriber = 'SubscriberServerName' これは動作するようです。SELECT * FROM syssubscriptions結果は表示されません。サブスクライバーサーバーでSSMS> {SubscriberServer}>レプリケーション>ローカルサブスクリプション-サブスクリプションがありません。 それで、私は出版物を削除しようとします。SSMS> {サーバー}>レプリケーション>ローカルパブリケーション> {PublicationName}>削除。これにより、次のエラーメッセージが表示されます。 Could not delete publication 'PublicationName'. Could not drop article. A subscription exists on it. Changed database context to 'DatabaseName'. (Microsoft SQL Server, Error: 14046) OK、それで私は記事を落とそうとします: EXEC sp_droparticle @publication = …

4
特定のSQL ServerにアクセスするすべてのIPまたはユーザーを検索する
SQLサーバーを見つけたが、どのアプリケーションがそれに接続しているかがわからないとします。多分私は1つのアプリケーションを見つけますが、それがそれを使用している唯一のアプリケーションかどうかはわかりません。 すべての異なる接続を見つける良い方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.