プロファイラーを使用して SQL Server Express をチューニングしますか?

プロファイラーを使用して SQL Server Express をチューニングしますか?

SQL Server 2005 データベースを所有しています。そのコピーは開発時にフル バージョンの SQL Server で実行されています。別のコピーは Web サーバー上の SQL Server 2005 Express で実行されています。

SQL プロファイラーを使用して、データベースの SQL Express コピーのアクティビティからチューニング トレース ログを保存しました。

保存したトレース ログをデータベース エンジン チューニング アドバイザーで使用したいのですが...

Advisor を Express データベースに接続しようとすると、Express はサポートされていないというメッセージが表示されます。

アドバイザーを SQL Server データベースに接続しようとすると、空の結果が返されます。

これを実行する方法はありますか?

答え1

リモート運用サーバー (Express) から収集されたトレース データを使用して、ローカル開発サーバー上の同一のデータベースをチューニングできるはずです。

しかし、リモートサーバーに保存されているトレーステーブルを使用してこれを行うことはできません。データベース エンジン チューニング アドバイザーの使用に関する考慮事項「データベース エンジン チューニング アドバイザーは、リモート サーバーにあるトレース テーブル内のワークロードをチューニングできません」

ただし、トレース ファイルを使用していると思われるため、これは問題にならないはずです。

推奨がない場合は、まず前述のリストを確認してください。MSDNページ:

データベース エンジン チューニング アドバイザーは、次の状況では推奨を行わない可能性があります。

チューニング中のテーブルには 10 個未満のデータ ページが含まれています。

推奨されるインデックスでは、現在の物理データベース設計に比べてクエリ パフォーマンスが十分に向上しません。

データベース エンジン チューニング アドバイザーを実行するユーザーは、db_owner データベース ロールまたは sysadmin 固定サーバー ロールのメンバーではありません。ワークロード内のクエリは、データベース エンジン チューニング アドバイザーを実行するユーザーのセキュリティ コンテキストで分析されます。ユーザーは、db_owner データベース ロールのメンバーである必要があります。

答え2

Express インスタンスからフルインスタンスに復元されたデータベースのコピーが必要になると思います。アドバイザーはスキーマを調べてチューニングのアドバイスを作成します。

答え3

必要なのは、DB をテーブルまでトレースし、トレース結果を含むテーブル内のデータにチューニング アドバイザーをポイントすることだけだと思います。そうすれば、データベースを移動する必要はないと思います。

答え4

また、SQL プロファイラーでトレース ファイルを編集し、ログイン名またはデータベース名を指定する列を削除できることもわかりました。その後、チューニング アドバイザーは機能しました。

関連情報