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

 

-- 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

你可能感兴趣的:(sql,数据库,XP,服务器,System,sqlserver)