デフォルトのトレースは有効ですがアクティブではありません


9

デフォルトのトレースの構成を照会すると、有効になっていることが表示されます。

exec sp_configure 'default trace enabled';
-->
name                    minimum  maximum  config_value  run_value
default trace enabled         0        1             1          1

しかしsys.traces、パスを照会すると、空の行セットが返されます。

select * from sys.traces;

有効なトレースが存在しない理由は何ですか?


@AaronBertrand:select * from sys.traces空の行セットを返します
Andomar 2013

また、書き込み中のドライブがいっぱいになったためにトレースが停止するケースについて聞いたことがあります(これは、目立った相関関係のない限り、必ずしもSQL Serverに影響を与えるわけではありません)。
アーロンベルトラン

@AaronBertrand:管理者は、ドライブは数日前にいっぱいになりました。SQL Serverサービスを再起動すると、デフォルトのトレースも再起動されますか?
Andomar 2013

停止しているトレースは、あまりにもかかわらず、私の最初だったが、EXEC sp_trace_setstatus @traceid = 1, @status = 0持ち帰るThe default trace cannot be stopped or modified.ので、エラーで実行できないように、それをそれがない限り、必ずそれが停止することができません。エラーログに何かありますか?
マーティン・スミス

@Martinそうです、デフォルトのトレースを手動で停止することはできません。
アーロンバートランド

回答:


13

スペース不足イベントと欠落したトレースの間には強い相関関係があると思います。このsp_configureオプションは、デフォルトのトレースが有効になっていることを通知するだけですが、実行されていることや存在していることを意味するものではないことに注意してください。sys.tracesこれはテーブルではなくビューであることに注意してください。

create view sys.traces as select * from OpenRowset(TABLE SYSTRACES)

TABLE SYSTRACES行セットは何を提供しますか?それはどのように機能しますか?結果はどのようにフィルタリングされますか?あなたの推測は私のものと同じです。トレースはまだ存在している可能性がありますが、このビューによってトレースが公開されない状態になっています。また、サービスを再起動しても起動できない状態である可能性があります。

最初に、デフォルトのトレースの場所に十分なスペースがあること、SQL Serverサービスアカウントに書き込みを行うための適切な権限があること、スペースクォータの影響を受けないことなどを確認してください。場所はレジストリから取得できます。

HKEY_LOCAL_MACHINE\Software\Microsoft\...YourInstance...\Setup\SQLDataRoot\

SQL Serverがこのフォルダーに書き込めることを確認したら、デフォルトのトレースを無効にして再度有効にすることができます。

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'default trace enabled', 0;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'default trace enabled', 1;
GO
RECONFIGURE WITH OVERRIDE;

この時点でSQL Serverサービスを再起動する必要はありませんが、それでもに行が表示されない場合は、SQL Serverのパンツで最後のキックになる可能性がありますsys.traces。注意trace_idあなたが得るが1にとどまることが保証されていません。


おかげで、無効にして再度有効になりました。使用しませんでしたwith override。エラーログには実際に領域不足のイベントが表示されました。
Andomar 2013

1
@Andomar申し訳ありませんが、with override癖です。
アーロンバートランド

1

ドライブがいっぱいになった後、私は同じ問題を抱えていました。デフォルトのトレースは有効になっていますが、実行されていません。これを無効にして再度有効にすると、サービスを停止せずにすぐに機能しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.