[sql server] sql2005 通过 DDL触发器同步数据库表结构

--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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值