資源描述:
《復(fù)制表結(jié)構(gòu)的通用存儲過程--》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、復(fù)制表結(jié)構(gòu)的通用存儲過程>> 復(fù)制表結(jié)構(gòu)的通用存儲過程 --Transfer對象的重要屬性 --1.屬性 屬性名 類型 描述 ------------------------------------------------------------------------ CopyAllDefaults Boolean 所有默認(rèn)值 CopyAllObjects Boolean 所有對象 CopyAllRules Boolean 所有規(guī)則 C
2、opyAllStoredProcedures Boolean 所有存儲過程 CopyAllTables Boolean 所有表 CopyAllTriggers Boolean 所有觸發(fā)器 CopyAllUserDefinedDatatypes Boolean 所有用戶自定義類型 CopyAllViee 通過對象名稱增加對象 ifexists(select*fromdbo.sysobjectse, --目標(biāo)數(shù)據(jù)庫 Obj_Type nvarchar(4000)=N
3、9;',--復(fù)制的對象類型,可以是下列字符串列表: --O所有對象,D默認(rèn)值,R規(guī)則,P存儲過程 --T表,TR觸發(fā)器,DT用戶定義數(shù)據(jù)類型 --V視圖,DATA數(shù)據(jù),DEL刪除目標(biāo)對象 Source_DB sysname=N'', --源數(shù)據(jù)庫 ServerName sysname=N'', --服務(wù)器名 UserName sysname=N'', --用戶名,不指定則表示使用E IFISNULL(Source_DB,N'')=N'
4、39;SETSource_DB=DB_NAME() --創(chuàng)建sqldmo對象 EXECerr=sp_oacreate'sqldmo.sqlserver',srvidOUT IFerr<>0GOTOlb_Err --連接服務(wù)器 IFISNULL(UserName,N'')=N''--使用e END ELSE EXECerr=123下一頁>>>>這篇文章來自..,。sp_oamethodsrvid,'connect',NULL,servername,User
5、Name,pethodDbid,'item',S_dbidOUT,Source_DB IFerr<>0GOTOlb_Err --選擇目標(biāo)數(shù)據(jù)庫 EXECerr=sp_oamethodDbid,'item',D_dbidOUT,Des_DB IFerr<>0GOTOlb_Err --設(shè)置復(fù)制的對象 EXECerr=sp_oacreate'SQLDMO.Transfer',TransferIDOUT IFerr<>0GOTOlb_Err --設(shè)置
6、目標(biāo)服務(wù)器信息 EXECerr=sp_oasetproperty TransferID,'DestServer',ServerName IFerr<>0GOTOlb_Err --設(shè)置連接用戶 IFISNULL(UserName,N'')=N''--使用( SELECTKeye=N'CopyAllDefaults'UNIONALL SELECTKeye=N'CopyAllObjects'UNIONALL SELECTKeye=N'Cop
7、yAllRules'UNIONALL SELECTKeye=N'CopyAllStoredProcedures'UNIONALL SELECTKeye=N'CopyAllTables'UNIONALL SELECTKeye=N'CopyAllTriggers'UNIONALL SELECTKeye=N'CopyAllUserDefinedDatatypes'UNIONALL SELECTKeye=N'CopyAllViee=N'CopyData
8、39;UNIONALL SELECTKeye=N'DropDestObjectsFirst' )AethodS_dbid,'