DECLARE @EXECSQL VARCHAR(5000) declare @sourceservername varchar(20) declare @destinationservername varchar(20) declare @dbname varchar(20) set @sourceservername='FILESRV' set @destinationservername='FILESRV' set @dbname='WY2000_80'SET @EXECSQL='INSERT INTO '+ LTRIM(RTRIM(@DESTINATIONSERVERNAME))+ '.WY2000.DBO.TRIGGERS (DBNAME,TBNAME,NAME,CONTENT,ID) '+ ' SELECT '''+LTRIM(RTRIM(@DBNAME))+''',d.NAME, A.NAME,C.TEXT,A.ID '+ ' FROM '+LTRIM(RTRIM(@SOURCESERVERNAME))+'.'+RTRIM(LTRIM(@DBNAME))+'.DBO.SYSOBJECTS A, '+ LTRIM(RTRIM(@SOURCESERVERNAME))+'.'+RTRIM(LTRIM(@DBNAME))+'.DBO.SYSCOMMENTS C, '+ LTRIM(RTRIM(@SOURCESERVERNAME))+'.'+RTRIM(LTRIM(@DBNAME))+'.DBO.SYSOBJECTS D '+ ' WHERE D.XTYPE=''U'' AND A.PARENT_OBJ=D.ID '+ ' AND A.XTYPE=''TR'' AND C.ID=A.ID '+ ' AND RTRIM(A.NAME) NOT IN '+ ' (SELECT RTRIM(TR.NAME) FROM '+ LTRIM(RTRIM(@DESTINATIONSERVERNAME))+ '.WY2000.DBO.TRIGGERS TR WHERE RTRIM(UPPER(TR.DBNAME))='''+ RTRIM(LTRIM(upper(@DBNAME)))+''' )' EXEC(@execsql) ????
declare @sourceservername varchar(20)
declare @destinationservername varchar(20)
declare @dbname varchar(20)
set @sourceservername='FILESRV'
set @destinationservername='FILESRV'
set @dbname='WY2000_80'SET @EXECSQL='INSERT INTO '+
LTRIM(RTRIM(@DESTINATIONSERVERNAME))+
'.WY2000.DBO.TRIGGERS (DBNAME,TBNAME,NAME,CONTENT,ID) '+
' SELECT '''+LTRIM(RTRIM(@DBNAME))+''',d.NAME, A.NAME,C.TEXT,A.ID '+
' FROM '+LTRIM(RTRIM(@SOURCESERVERNAME))+'.'+RTRIM(LTRIM(@DBNAME))+'.DBO.SYSOBJECTS A, '+
LTRIM(RTRIM(@SOURCESERVERNAME))+'.'+RTRIM(LTRIM(@DBNAME))+'.DBO.SYSCOMMENTS C, '+
LTRIM(RTRIM(@SOURCESERVERNAME))+'.'+RTRIM(LTRIM(@DBNAME))+'.DBO.SYSOBJECTS D '+
' WHERE D.XTYPE=''U'' AND A.PARENT_OBJ=D.ID '+
' AND A.XTYPE=''TR'' AND C.ID=A.ID '+
' AND RTRIM(A.NAME) NOT IN '+
' (SELECT RTRIM(TR.NAME) FROM '+
LTRIM(RTRIM(@DESTINATIONSERVERNAME))+
'.WY2000.DBO.TRIGGERS TR WHERE RTRIM(UPPER(TR.DBNAME))='''+
RTRIM(LTRIM(upper(@DBNAME)))+''' )'
EXEC(@execsql)
????
有的時間執行不出錯,有的時候則出錯。