读书人

怎么查看数据库变更记录

发布时间: 2012-12-30 10:43:15 作者: rapoo

如何查看数据库变更记录
sqlserver2005中如何查看数据库的变更记录,即数据库有诸如修改了表字段、增加了表等等,这些操作有没有记录,如何查看
[解决办法]
第一步:建库建表


CREATE DATABASE AuditDB
GO
USE [AuditDB]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DF__DDLEvents__Event__7E6CC920]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[DDLEvents] DROP CONSTRAINT [DF__DDLEvents__Event__7E6CC920]
END

GO

USE [AuditDB]
GO

/****** Object: Table [dbo].[DDLEvents] Script Date: 10/29/2012 17:29:26 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DDLEvents]') AND type in (N'U'))
DROP TABLE [dbo].[DDLEvents]
GO

USE [AuditDB]
GO

/****** Object: Table [dbo].[DDLEvents] Script Date: 10/29/2012 17:29:26 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[DDLEvents](
[EventDate] [datetime] NOT NULL,
[EventType] [nvarchar](64) NULL,
[EventDDL] [nvarchar](max) NULL,
[EventXML] [xml] NULL,
[DatabaseName] [nvarchar](255) NULL,
[SchemaName] [nvarchar](255) NULL,
[ObjectName] [nvarchar](255) NULL,
[HostName] [varchar](64) NULL,
[IPAddress] [varchar](32) NULL,
[ProgramName] [nvarchar](255) NULL,
[LoginName] [nvarchar](255) NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[DDLEvents] ADD DEFAULT (getdate()) FOR [EventDate]
GO

读书人网 >SQL Server

热点推荐