专业编程基础技术教程

网站首页 > 基础教程 正文

SQL Server 多个数据库远程备份到另一台服务器

ccvgpt 2024-08-03 12:37:12 基础教程 19 ℃

需求:将A机器的数据库远程备份到另B机器

在B机器新建文件夹并赋予everyone的读写权限

SQL Server 多个数据库远程备份到另一台服务器

A机器存储过程如下:

create proc [dbo].[usp_backupinfo]

@backupdir varchar(500),@dblist varchar(max)

as

declare @pos int

declare @dbname varchar(100)

set @pos=CHARINDEX(';',@dblist,0);

while (@pos>0)

begin

set @dbname=SUBSTRING(@dblist,0,@pos);

set @dblist=SUBSTRING(@dblist,@pos+1,LEN(@dblist)-@pos)

set @pos=CHARINDEX(';',@dblist,0);

declare @data nvarchar(100)

set @data=@backupdir+@dbname+'_'+convert(varchar(10),getdate(),112)+'.bak'

if exists(select 1 from sys.databases where name=@dbname)

begin

BACKUP DATABASE @dbname TO DISK = @data

end

end

A机器调用存储过程如下:

EXEC sp_configure 'show advanced options', 1

RECONFIGURE

EXEC sp_configure 'xp_cmdshell', 1

RECONFIGURE

EXEC sp_configure 'show advanced options', 0

RECONFIGURE

exec master..xp_cmdshell 'net use \\B机器IP\B机器共享文件夹 "B机器系统密码" /user:B机器IP\B机器用户名 '

exec usp_backupinfo '\\B机器IP\B机器共享文件夹','数据库;'

--多个数据库用分号(;)来标识

EXEC sp_configure 'show advanced options', 1

RECONFIGURE

EXEC sp_configure 'xp_cmdshell', 0

RECONFIGURE

EXEC sp_configure 'show advanced options', 0

RECONFIGURE

最近发表
标签列表