hq8501 发表于 2016-11-7 09:33:44

[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)','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
  
页: [1]
查看完整版本: [sql server] sql2005 通过 DDL触发器同步数据库表结构