备份服务器实例下的所有数据库.(完全备份)

本文提供了一种在SQL Server 2000及2005环境中使用存储过程进行数据库备份的方法,通过启用xp_cmdshell命令实现自动化备份到指定路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

--SQL server 2000 中xp_cmdshell 可以直接使用.所以使用一下存储过程即可.

Create PROC P_JRJ_SYSTEM_BACKServerNameDB
@BkPath varchar(20)='E:'
AS
Begin
DECLARE @sql nvarchar(4000)
-- 设置备份目录
SET @BkPath=N''+@BkPath+''
 
+CAST(SERVERPROPERTY(N'ServerName'as sysname)
 
+N''
SET @sql=N'md '+QUOTENAME(@BkPath, N'"')
EXEC master.dbo.xp_cmdshell @sql
SET @sql=N'
IF N
''?'' = N''tempdb''
 RETURN
RAISERROR(N
''Backup Database: ?'',10,1) WITH NOWAIT
BACKUP DATABASE [?] TO DISK=N
'
 
+QUOTENAME(@BkPath+N'?.bak',N'''')
 
+N' WITH FORMAT, STATS=10'
EXEC sp_msforeachdb @sql
End 

--调用 JRJ_SYSTEM_BACKServerNameDB


--SQL Server 2005 中使用需要重新启动xp_cmdshell 命令.
默认情况下,xp_cmdshell 选项在新安装的软件上处于禁用状态,但是可以通过使用外围应用配置器工具或运行 sp_configure 系统存储过程来启用它,

-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options'1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell'1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO

CREATE PROC P_JRJ_SYSTEM_BACKServerNameDB
@BkPath varchar(20)='E:'
AS
Begin
DECLARE @sql nvarchar(4000)
-- 设置备份目录
SET @BkPath=N''+@BkPath+''
 
+CAST(SERVERPROPERTY(N'ServerName'as sysname)
 
+N''
SET @sql=N'md '+QUOTENAME(@BkPath, N'"')
EXEC master.dbo.xp_cmdshell @sql
SET @sql=N'
IF N
''?'' = N''tempdb''
 RETURN
RAISERROR(N
''Backup Database: ?'',10,1) WITH NOWAIT
BACKUP DATABASE [?] TO DISK=N
'
 
+QUOTENAME(@BkPath+N'?.bak',N'''')
 
+N' WITH FORMAT, STATS=10'
EXEC sp_msforeachdb @sql
End

--调用 P_JRJ_SYSTEM_BACKServerNameDB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值