データベース

SQL Server

SQLServer のトランザクションログは肥大化する

SQLServerのトランザクションログは、使われていない領域をうまく再利用してくれないのか、SQLServer 2008、SQLServer 2012 とバージョンを問わず、徐々に、どこまでも拡張していきます。 レポート⇒標準レポート⇒デ...
SQL Server

SQL Server 2008 R2 SP2 Cumulative update #7 は危険、CU#8がお勧め

SQL Server 2008 R2 SP2 Cumulative update #7 を開発環境にインストールし、特に問題は見つからなかったので、本番環境にインストールしたら、高負荷なジョブが実行された際、ACCESS_METHODS_D...
SQL Server

SQLServerは、断片化率が高くなると、SQLが実行される際、パラレル処理されなくなり、極端に処理性能が低下します

ストレージを増設する前、12TBのストレージで、10TBのDBを運用していたので、1ヵ月に1回程度、SQLServerのDB Shrinkを実行していました。その影響で、メインのテーブルとインデックスを中心に、断片化率が99%に達していまし...
SQL Server

SQLServerで、SQLがパラレル処理されない場合は、実行プランを丸ごと固定する

SQLServerは、SQL処理時間がcost threshold for parallelismの値(デフォルト5秒)を超えるような場合、1つのSelect文であっても、シリアルではなくパラレルで処理します。パラレル処理されれば1分程度で...
ASP.NET

SQLServerで、IISからのDB処理だけが遅い現象が、どうしても解決しない場合は、ヒント文を使用する

SQLServerで時々発生する、IISや関連サービスからのDB処理だけが、極端に遅くなる現象に対応する為、4つのサイクルを回して来たのですが、運用時間帯に、一部の処理で、IISや関連サービスからのDB処理だけ、極端に遅くなる現象が再発して...
SQL Server

SQLServer トレースフラグの有効性

SQLServerのDBサイズがテラバイトを超えて来ると、DB全体の統計情報を更新するだけで、1日以上かかってしまい、定期的な統計情報の更新を諦めていましたが、統計情報が更新されない事で、特定のSQLが極端に遅くなる現象が発生しました。 S...
SQL Server

SQLServerで、ジョブ名からジョブを削除するSQL

SQLServer Management Studioから、SQL Server Agent に作成したジョブを右クリックし、「DROP To」でDROP文を生成すると、JOB ID を元にしたDROP文が生成されますが、JOB ID はサ...
.NET Framework

SQLServerで、ストアド、ファンクションをリコンパイルしても、IISからのDB処理だけが遅い場合は、IISを再起動する。

SQLServerで、IISからのDB処理だけが遅い場合は、ストアド、ファンクションをリコンパイルするを繰り返しても、「IISからのDB処理だけが遅い」現象が、解消されないことがありました。 その時は、IISを再起動する事で、解消しました。...
SQL Server

SQLServerで、インデックスと統計情報を追加しても、ストアドの処理が遅い場合

ストアドをチューニングアドバイザーに掛け、抽出されたインデックスと統計情報を追加すれば、ストアドのパフォーマンスを大幅に改善する事ができます。それは、テラバイトクラスのDBシステムでも同様です。 しかし、テラバイトクラスのDBだと、統計情報...
C#

SQLServerで、IISからのDB処理だけが遅い場合は、ストアド、ファンクションをリコンパイルする

テラバイトクラスのDBシステムを扱っていると、データ量が増えるたびに、特定のSQLが極端に遅くなることがあります。 その時に、遅くなったSQLの実行プランを確認すると、インデックススキャン(Index seek)のコストが跳ね上がり、SQL...