如果一个程式在运行,你没有source code,看不到相关的SQL语句或与DB交互的命令,有没有办法追踪数据的来龙去脉呢?下面介绍一个简单的方法来收集Insert/Update/Delete操作所引起的数据变化,以便你熟悉程式运行的每一步所引起的数据变化。下面以表PERSON为例:
建PERSON表:
USE [TESTDB]
GO
/****** Object: Table [dbo].[PERSON] Script Date: 2012/10/11 14:11:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[PERSON](
[ID] [int] NULL,
[NAME] [varchar](50) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
建表PERSON_LOG,用于存放PERSON数据变化前后的数据:
USE [TESTDB]
GO
/****** Object: Table [dbo].[PERSON_LOG] Script Date: 2012/10/11 14:12:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[PERSON_LOG](
[ID] [int] NULL,
[NAME] [varchar](50) NULL,
[DAT] [varchar](8) NULL,
[TIM] [varchar](6) NULL
)