备份和恢复DTS(本地包)的方法.
来源:互联网 发布:算法 谢璐云 编辑:程序博客网 时间:2024/05/17 00:00
备份的储存过程:
Save all DTS packages on server to files
Author Nigel Rivett
This will save all dts packages on the server to storage files.It uses a trusted connect to access the package - just change the LoadFromSQLServer call to use a sql server connection.if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[s_SavePackages]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[s_SavePackages]GOCreate procedure s_SavePackages@Pathvarchar(128)as/**/set nocount ondeclare @objPackage intdeclare @PackageName varchar(128)declare @rc intdeclare @ServerName varchar(128)declare @FileName varchar(128)declare@FilePath varchar(128)declare@cmd varchar(2000)select @ServerName = @@ServerName ,@FilePath = @Pathif right(@Path,1) <> '/'beginselect @Path = @Path + '/'end-- create output directory - will fail if already exists but ...select@cmd = 'mkdir ' + @FilePathexec master..xp_cmdshell @cmdcreate table #packages (PackageName varchar(128))insert #packages(PackageName)select distinct namefrommsdb..sysdtspackagesselect@PackageName = ''while @PackageName < (select max(PackageName) from #packages)beginselect@PackageName = min(PackageName) from #packages where PackageName > @PackageNameselect@FileName = @FilePath + @PackageName + '.dts'exec @rc = sp_OACreate 'DTS.Package', @objPackage outputif @rc <> 0beginraiserror('failed to create package rc = %d', 16, -1, @rc)returnendexec @rc = sp_OAMethod @objPackage, 'LoadFromSQLServer' , null,@ServerName = @ServerName, @Flags = 256, @PackageName = @PackageNameif @rc <> 0beginraiserror('failed to load package rc = %d, package = %s', 16, -1, @rc, @PackageName)returnend-- delete old fileselect @cmd = 'del ' + @FileNameexec master..xp_cmdshell @cmd, no_outputexec @rc = sp_OAMethod @objPackage, 'SaveToStorageFile', null, @FileNameif @rc <> 0beginraiserror('failed to save package rc = %d, package = %s', 16, -1, @rc, @PackageName)returnendexec @rc = sp_OADestroy @objPackageendgo
恢复的储存过程:
This will load the dts package from structured storage file @FileName and save to sql server (msdb) as @PackageName.if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[s_LoadPackageToServer]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[s_LoadPackageToServer]GOCreate procedure s_LoadPackageToServer@PackageNamevarchar(128) ,@FileNamevarchar(500) ,@Usernamevarchar(100) ,@Passwordvarchar(100)as/*execs_LoadPackageToServer@PackageName = 'mypackage' ,@FileName = 'c:/dtspckgs/mypackage.dts' ,@Username = 'sa' ,@Password = 'pwd'*/declare @objPackage intdeclare @rc intexec @rc = sp_OACreate 'DTS.Package', @objPackage outputif @rc <> 0beginraiserror('failed to create package rc = %d', 16, -1, @rc)returnendexec @rc = sp_OAMethod @objPackage, 'LoadFromStorageFile' , null,@UncFile = @FileName, @password = nullif @rc <> 0beginraiserror('failed to load package rc = %d, package = %s', 16, -1, @rc, @PackageName)returnendexec @rc = sp_OAMethod @objPackage, 'SaveToSQLServerAs' , null,@NewName = @PackageName, @ServerName = @@ServerName, @ServerUserName = @Username, @ServerPassword = @Passwordif @rc <> 0beginraiserror('failed to load package rc = %d, package = %s', 16, -1, @rc, @PackageName)returnendgo
- 备份和恢复DTS(本地包)的方法.
- SQL2000 备份和恢复DTS(本地包)的方法
- 注册表的备份和恢复方法
- MySQL备份和恢复数据表的方法
- sqlserver2000 备份和恢复数据库的方法
- MySQL备份和恢复数据表的方法
- 用VB备份和恢复SQL Server数据库的方法
- 用VB备份和恢复SQLServer的方法
- 用mysqldump备份和恢复指定表的方法
- 备份和恢复 Windows 共享信息的简便方法
- MySQL数据备份和恢复的方法大全
- 用mysqldump备份和恢复指定表的方法
- DB2的备份和恢复(RESTORE)数据库方法
- 用VB备份和恢复SQLServer数据库的方法
- 用mysqldump备份和恢复指定表的方法
- DB2的备份(backup)和恢复(RESTORE)数据库方法
- 备份和恢复Android手机分区的方法
- MySQL的备份和恢复
- 《面向对象基础:C++实现》学习笔记之五
- javascript 运行代码的代码 By Stabx
- 给一段软件公司求职对白,供想要求职的软件开发人员参考
- LZW for GIF 算法原理和实现
- 几个比较好的博客程序(转)
- 备份和恢复DTS(本地包)的方法.
- 第一次去看演唱会20060527
- 《五项核心度量》笔记3-满意工程
- [转]35岁成功法则 修正版
- 测试csdn的博客功能
- 到底是谁在为虚假广告大开绿灯?!
- ComboBox
- WINDOWS的消息号
- Dead Reckoning: 在网络游戏中消除延时影响