--sql2005 通过 DDL触发器同步数据库 结构
--开始演示
CREATE DATABASE DBTEST1
GO
CREATE DATABASE DBTEST2
GO
USE DBTEST1;
GO
CREATE TRIGGER TR_PASS
ON DATABASE
FOR CREATE_TABLE,ALTER_TABLE ,DROP_TABLE
AS
DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL=EVENTDATA().value
('(EVENT_INSTANCETSQLCommandCommandText)[1]','nvarchar(max)')
EXEC('USE DBTEST2;'+@SQL)
GO
--Test the trigger.
CREATE TABLE TB (Column1 int);
GO
SELECT FROM DBTEST2.DBO.TB
Column1
-----------
(所影响的行数为 0 行)
--Test the trigger.
ALTER TABLE TB ADD Column2 int;
GO
SELECT FROM DBTEST2.DBO.TB
Column1 Column2
----------- -----------
(所影响的行数为 0 行)
DROP TABLE TB
GO
SELECT FROM DBTEST2.DBO.TB
服务器 消息 208,级别 16,状态 1,行 1
对象名 'DBTEST2.DBO.TB' 无效。
--删除演示
--Drop the trigger.
DROP TRIGGER TR_PASS
ON DATABASE
GO
--
USE MASTER
GO
DROP DATABASE DBTEST2
GO
DROP DATABASE DBTEST1
GO