Microsoft SQL Server 2008r2 SP1を持っています。
データベースに接続するユーザーとデータベースから切断するユーザーを知る必要があります。
理想的には、(日時、ユーザー名、接続/切断)のリストが必要です。
これは拡張イベントを使用して実行できますか?またはより良い方法はありますか?
ここでは、ログインとログアウトの監査に使用したいくつかのオプションの概要を示します。まだ監査目的で拡張イベントを使用する機会がありませんでした。以下では、SQL ServerトレースとSQL Server監査を使用したログインイベントとログアウトイベントの追跡について簡単に説明します。以下で簡単に説明するバックグラウンドサーバートレースを設定することになるでしょう。さらに詳しく説明する必要がある場合は、遠慮なく質問してください。
デフォルトトレース
デフォルトのトレースは、何も変更せずにサーバー上のアクティビティを監査する1つの方法です。デフォルトのトレースから何を得ることができるかについての投稿が提供されます here
サーバートレース
ログイン/ログアウト情報を探しているだけの場合は、SQL Serverプロファイラを使用してログインとログアウトを監査するための独自のサーバートレースを作成することもできます。新しいトレースを作成し、それをSQL Serverトレース定義ファイルとしてエクスポートするだけです。
トレースを実行して停止し、[ファイル]でトレースをSQL Serverトレース定義ファイルとしてエクスポートできます。次に、そのトレースをバックグラウンドで実行し、後でsqlサーバーテーブルにインポートできるファイルに保存できます。
プロファイラーによって作成されたサンプルサーバートレースの一部
-- Create a Queue
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
set @maxfilesize = 5
exec @rc = sp_trace_create @TraceID output, 0, N'InsertFileNameHere', @maxfilesize, NULL
if (@rc != 0) goto error
-- Client side File and Table cannot be scripted
-- Set the events
declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 14, 1, @on
exec sp_trace_setevent @TraceID, 14, 9, @on
exec sp_trace_setevent @TraceID, 14, 2, @on
exec sp_trace_setevent @TraceID, 14, 66, @on
exec sp_trace_setevent @TraceID, 14, 10, @on
.....
-- Set the Filters
declare @intfilter int
declare @bigintfilter bigint
-- Set the trace status to start
exec sp_trace_setstatus @TraceID, 1
-- display trace id for future references
select TraceID=@TraceID
goto finish
これは、これらのアイテムをキャプチャしただけの出力です
サーバートレースを拡張イベントセッションに変換することは可能であり、それについて詳しく説明します ここ
サーバー監査
データベース/サーバーレベルのイベントを追跡および監視できるサーバー監査もあります。 監査はEntrepriseとDatacenterのエディションでのみ利用できる場合がありますBooks Onlineで特定の記事に別のことを言っているようには見えません。
USE MASTER
GO
CREATE SERVER AUDIT audit_test
TO FILE (FILEPATH = 'D:\Audit')
GO
CREATE SERVER AUDIT SPECIFICATION audit_test_spec
FOR SERVER AUDIT [audit_test]
ADD (FAILED_LOGIN_GROUP),
ADD (SUCCESSFUL_LOGIN_GROUP)
WITH (STATE=ON)
GO
次に、[セキュリティ]-> [監査]に移動して、SSMSでサーバー監査イベントを表示できます。次に、コンテキストメニューを使用して、[監査ログの表示]を選択し、アクティビティを確認できます
監査の詳細については、ここに追加情報があります。