SQLServerはcdcトレースをオンにしてDML操作監視を実現
4242 ワード
SQLServerはcdcトレースをオンにしてDML操作監視を実現1、クエリーのデータベースはcdc を有効にしました.2、データベースに対してcdc を起動する 3、クエリー有効cdcのテーブル 4、テーブルに対してcdcを有効にするには、SQL Server Agentサービスが を有効にしていることを確認する必要があります.5、表に対してcdc を無効にする6、データベースに対してcdc を無効にする7、トレースジョブ情報の表示 1、それらのデータベースをクエリーしてcdcを有効にした
2、データベースに対してcdcを起動する
3、クエリーがcdcを有効にする表
4、表に対してcdcを有効にする.SQL Server Agentサービスが有効になっていることを確認しなければならない.
userInfoはcdcを有効にするテーブル名であり、テーブルに対してcdcを有効にするとデータベースのシステムテーブル部分にcdcで1つ多くなる.先頭のテーブルで、このテーブルのデータは元のテーブルuserInfoで削除されたデータログを反映しています.
5、表に対してcdcを無効にする
6、データベースに対してcdcを無効にする
7.トレースジョブ情報の表示
cdcを有効にすると、SQL Server Agentのジョブ・プランにcdcに対応するジョブ・プランが表示されます.
USE master
GO
SELECT [name], database_id, is_cdc_enabled
FROM sys.databases
GO
2、データベースに対してcdcを起動する
use test
go
EXEC sys.sp_cdc_enable_db
go
3、クエリーがcdcを有効にする表
use test
go
-- cdc
SELECT [name], is_tracked_by_cdc
FROM sys.tables
GO
4、表に対してcdcを有効にする.SQL Server Agentサービスが有効になっていることを確認しなければならない.
EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'userInfo', @role_name = NULL
GO
userInfoはcdcを有効にするテーブル名であり、テーブルに対してcdcを有効にするとデータベースのシステムテーブル部分にcdcで1つ多くなる.先頭のテーブルで、このテーブルのデータは元のテーブルuserInfoで削除されたデータログを反映しています.
5、表に対してcdcを無効にする
Exec sys.sp_cdc_disable_table @source_schema = N'dbo', @source_name = N'userInfo', @capture_instance = N'all'
6、データベースに対してcdcを無効にする
exec sys.sp_cdc_disable_db
7.トレースジョブ情報の表示
cdcを有効にすると、SQL Server Agentのジョブ・プランにcdcに対応するジョブ・プランが表示されます.
exec sys.sp_cdc_help_jobs
--
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention=4320
GO
--
EXEC sys.sp_cdc_stop_job N'cleanup'
GO
--
EXEC sys.sp_cdc_start_job N'cleanup'
GO
--
EXEC sys.sp_cdc_help_jobs
GO