web-dev-qa-db-ja.com

SQL Server 2005からSQL Server 2012への移行後のSQLパフォーマンスの問題

昨日、SQL Server 2005データベースをSQL Server 2012に移行しました。完全バックアップを作成し、それを新しいサーバーに復元しました。

今問題は、SQL Server 2012上のデータベースがSQL Server 2005を搭載したWindows 2003サーバー上のデータベースよりもはるかに遅いことです。さらに心配なのは、まったく同じメンテナンスプラン(SQL Server 2005での実行に37分かかった)であるということです。現在2時間以上かかり、16GBのメモリを使用しており、tempdbC: ドライブ。どうしたの?

サーバーの仕様はどちらも同じです。

  • X5650 @ 2.67GHz(4procs)
  • 16 GBのRAM

保守計画は、次の手順で構成されています。

  • ステップ1:DBの整合性を確認する
  • ステップ2:インデックスを再編成する
  • ステップ3:インデックスを再構築する
  • ステップ4:データベースを縮小する
5
Guido Neele

対処すべきことがたくさんあります。以下は、結論に飛びつく前に確認すべき事項の概要です。

まず、POST復元手順のシーケンスは、実行したすべての作業を台無しにします。特にインデックスのメンテナンスを行った後は、データベースを縮小しないでください。

読み上げ-なぜデータファイルを縮小すべきでないかポールランダルによる。

以下は、下位バージョンから上位バージョンへの移行の一般的な復元後の手順です。あなたの場合、SQL Server 2005から2012まで。

  • 復元されたデータベースの互換性レベルを110に変更します(完全な回帰テストが必要になることに注意してください)。
  • 復元されたデータベースでDBCC UPDATEUSAGEを実行しますDBCC UPDATEUSAGE('database_name') WITH COUNT_ROWS
  • フルスキャンですべてのテーブルの統計を更新します:Update Statistics table_name with FULLSCAN
  • 断片化レベルを確認し、断片化レベルに応じて、すべてのインデックスのreorg/rebuildを実行します。 Olaのインデックスと統計のメンテナンススクリプト を使用できます。
  • sp_recompile 'procedureName'を使用してすべてのSPを再コンパイルします
  • ビューを更新してくださいSP_REFRESHVIEW view_name

----------

補足として:

  • ターンオンインスタントファイル初期化 新しいサーバーで。
  • 同じサイズの 複数のtempdbデータファイル を用意します。
  • トレースフラグ1118を有効にする
  • 最大メモリと最小メモリを正しく構成します。 特に最大メモリ デフォルトから離れています。
  • MAXDOP設定を適切に調整します。詳細は https://dba.stackexchange.com/a/36578/878 を参照してください。
  • Brent Ozarの sp_Blitz をインストールするのが最善です。実行して、報告された重大で優先度の高い問題に対処します。
  • SQL Power Docをkendalvandykeから使用することもできます-SQL Power DocはSQL Server 2000〜2012、およびWindows ServerのすべてのバージョンとWindows 2000およびWindowsのコンシューマWindowsオペレーティングシステムXP Windows Server 2012およびWindows 8。計画アップグレードにも役立ちます-インスタンスで使用されている非表示の機能を確認します。
  • アドホックワークロードの最適化とデフォルトのバックアップ圧縮オプションを有効にします。

詳細については、UPGRADEおよびPOST UPGRADEの手順を参照してください。

6
Kin Shah

この問題にも遭遇しました。この理由により、2008R2エディションを保持しています。

SQL Server 2012以降、SQL Serverの各エディションには2つの計算能力の制限があります:ソケットの最大数(物理プロセッサーまたはソケットまたはプロセッサーパッケージと同じ)。オペレーティングシステムによって報告されるコアの最大数。

http://technet.Microsoft.com/en-US/library/ms143432(v = sql.110).aspx#Engine

0
user36643

「完全バックアップを作成し、新しいサーバーに復元しました。サーバーの仕様はどちらも同じです。

X5650 @ 2.67GHz(4procs)16 GB RAM "

古いサーバーとまったく同じ仕様の新しいサーバーを購入しましたか?または、これはVMですか?

Kinが行ったすべてのポイントを含め、最新の累積的な更新プログラムを使用してSP1をインストールする必要があります。以下を含む多くのパフォーマンス修正があります。

FIX:SQL Server 2012でクエリを実行すると、次善の実行プランが生成されます。IX:SQL Server 2012でchar、varchar、またはnvarcharタイプの列にインデックスを作成しようとすると、システムメモリ不足エラーが発生します。

修正:SQL Server 2012で同時クエリを実行するワークロードを実行すると、「非降伏リソースモニター」。

修正:SQL Server 2012 Standard Editionでは、スレッドが均等にスケジュールされません。

修正:SQL Server 2008 R2のWHERE句でLIKE演算子を使用するクエリを実行すると、パフォーマンスが低下します。 SQL Server 2012でクエリを実行すると、メモリダンプが作成される場合があります。

0
stacylaray