首页 > 新闻系统 > 编程天地 > 文章正文

SQL Server2008新功能 捕获数据变化1

2008-02-29 11:15:17 来源:IT专家网 作者:Jackie 点击:
能够监控表的变化,这是SQL Server 2008的一个新特征。我们可以通过SQL Server 2008的变化数据捕获功能轻松地监控表的变化。这一部分将阐述如何对一个数据库进行变化数据捕获,如何对一个表进行变化数据捕获,以及如何监控一个表的数据定义语言变化。

 
  第一步

  先创建一个名为“MyDataBase“的数据库,如下所示(参见图Fig 1.0):

  USE [master]
  GO
  /*** Object: Database [MyDataBase] Script Date: 01/07/2008 18:46:15 ***/
  IF EXISTS (SELECT name FROM sys.databases WHERE name = N'MyDataBase')
  DROP DATABASE [MyDataBase]
  GO
  USE [master]
  GO
  /*** Object: Database [MyDataBase] Script Date: 01/07/2008 18:46:33 ***/
  CREATE DATABASE [MyDataBase]
  GO

Fig 1.0

  第二步

  在MyDataBase数据库中创建一个名为MyTable的表,如下所示(参见图Fig 1.1):

  USE [MyDataBase]
  GO
  /*** Object: Table [dbo].[MyTable] Script Date: 01/07/2008 18:52:14 ***/
  IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MyTable]')
  AND type in (N'U'))
  DROP TABLE [dbo].[MyTable]
  GO
  USE [MyDataBase]
  GO
  /*** Object: Table [dbo].[MyTable] Script Date: 01/07/2008 18:52:26 ***/
  SET ANSI_NULLS ON
  GO
  SET QUOTED_IDENTIFIER ON
  GO
  SET ANSI_PADDING ON
  GO
  CREATE TABLE [dbo].[MyTable](
  [ID] [int] NOT NULL,
  [Name] [varchar](100) NULL,
  CONSTRAINT [MyTable_PK] PRIMARY KEY CLUSTERED
  (
  [ID] ASC
  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
  IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  GO
  SET ANSI_PADDING OFF
  GO

  

Fig 1.1

  第三步

  为了监控表的变化,需要在数据库上开启变化数据捕获功能。我们可以通过如下的SQL语句来开启这项功能。(参见图Fig 1.2)

  到现在为止,数据库中都只有一个模式,那就是dbo。一旦我们开启变化数据捕获功能,一种新的模式和一些其它的对象将被创建。

  USE [MyDataBase]
  GO
  EXEC sys.sp_cdc_enable_db_change_data_capture
  GO

Fig 1.2

  在CDC模式下,如下的表被创建(参见图Fig 1.3)

  cdc.captured_columns

  cdc.change_tables

  cdc.ddl_history

  cdc.index_columns

  cdc.lsn_time_mapping

Fig 1.3
  
  当你查询这些表的时候,你会发现这些表都是空的。(参见图Fig 1.4)
9 7 3 1 2 3 4 8 :

精彩推荐
焦点大图推荐
本类热门文章

论坛美图

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203