资源描述:
《复制表结构的通用存储过程--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、复制表结构的通用存储过程>> 复制表结构的通用存储过程 --Transfer对象的重要属性 --1.属性 属性名 类型 描述 ------------------------------------------------------------------------ CopyAllDefaults Boolean 所有默认值 CopyAllObjects Boolean 所有对象 CopyAllRules Boolean 所有规则 C
2、opyAllStoredProcedures Boolean 所有存储过程 CopyAllTables Boolean 所有表 CopyAllTriggers Boolean 所有触发器 CopyAllUserDefinedDatatypes Boolean 所有用户自定义类型 CopyAllViee 通过对象名称增加对象 ifexists(select*fromdbo.sysobjectse, --目标数据库 Obj_Type nvarchar(4000)=N
3、9;',--复制的对象类型,可以是下列字符串列表: --O所有对象,D默认值,R规则,P存储过程 --T表,TR触发器,DT用户定义数据类型 --V视图,DATA数据,DEL删除目标对象 Source_DB sysname=N'', --源数据库 ServerName sysname=N'', --服务器名 UserName sysname=N'', --用户名,不指定则表示使用E IFISNULL(Source_DB,N'')=N'
4、39;SETSource_DB=DB_NAME() --创建sqldmo对象 EXECerr=sp_oacreate'sqldmo.sqlserver',srvidOUT IFerr<>0GOTOlb_Err --连接服务器 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 --选择目标数据库 EXECerr=sp_oamethodDbid,'item',D_dbidOUT,Des_DB IFerr<>0GOTOlb_Err --设置复制的对象 EXECerr=sp_oacreate'SQLDMO.Transfer',TransferIDOUT IFerr<>0GOTOlb_Err --设置
6、目标服务器信息 EXECerr=sp_oasetproperty TransferID,'DestServer',ServerName IFerr<>0GOTOlb_Err --设置连接用户 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,'