web-dev-qa-db-ja.com

SQL Serverでトレースフラグを「永続的に」設定しますか?

全文のブロックを軽減するために SQL Serverトレースフラグ7646 を使用する必要がありますが、おそらくデータベースサーバーが再起動されたときに、トレースフラグ自体が「設定解除」されていることに気が付きませんでした。

私は使いました

DBCC TRACEON (7646, -1)

トレースフラグを設定し、

DBCC TRACESTATUS

すべてのトレースフラグを表示するには、それが設定されていないと設定されている(再起動後、私は推測します)。トレースフラグを永続的に設定するには、次のようにしました。

  • sQL Server構成マネージャーに移動しました
  • sQL Serverサービスの表示プロパティ
  • 詳細設定タブにアクセスしました
  • スタートアップパラメータオプションを編集しました

と追加されました

;-T {tracenumber} 

最後まで….

-dD:\ MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf; -eD:\ MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG; -lD:\ MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf; -T7646

あれは正しいですか? SQL Server起動パラメーターの構文 で矛盾する結果を見つけています。

25
Jeff Atwood

うん、それはあなたのためにそれをやります。つまり、-T {traceflag}起動パラメーターを使用します。

15
squillman

私が難しい方法で学んだことの1つは、各トレースフラグの前にセミコロンが必要であることです。たとえば、デッドロック情報のファイルへのロギングを有効にすると、例は次のようになります...

-dD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf;-
eD:\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-
lD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.l
df;-T7646;-T3605;-T1204;-T1222

トレースフラグ間のスペースにより、以降のフラグは無視されます。

11
GaTechThomas