あなたは:を使うことができaudit
ます
use master
GO
create server audit MyAudit
to file (filepath = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA')
GO
alter server audit MyAudit
with (state = on);
GO
use [<YourDatabase]
GO
create database audit specification MyDatabaseAudit
for server audit MyAudit
add (
select on [<YouSchema>].[YourTable] by dbo
)
with (state = on)
GO
select [<YourColumn>] from [<YouSchema>].[YourTable]
GO
use master
GO
alter server audit MyAudit
with (state = off);
GO
select * from sys.fn_get_audit_file ('C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\MyAudit*',default,default);
GO
OK、これでは列のように細かく取得することはできませんが、各selectステートメントをキャプチャするため、提供されるデータからこの情報を取得できるはずです。
明らかに、上記のファイルパスは例のためだけのものです。
別の方法はSQL Profiler
トレースですが、これでも列のレベルに到達することはできず、実行中のselectステートメントをキャプチャするだけです。これの欠点は、必要な情報を取得するために正しくフィルタリングする必要があることです。これは面倒な場合があります。また、オーバーヘッドが高くなる可能性があります。