通过SQL Job将数据库备份到单独的服务器磁盘

时间:2019-09-03 19:39:59

标签: sql-server database-backups

由于有内存余量,我需要将数据库备份到具有更多空间的单独的远程服务器磁盘上。

我想使用计划的工作来执行此操作,但是这不允许我执行。

这甚至可能吗?

我尝试了以下代码,但收到错误消息:

  

无法打开备份设备

我想知道是否需要向服务器添加访问凭据,但是不确定如何添加。

DECLARE @Location nvarchar(200)
DECLARE @Day    int
SET @Day = DATEPART(dw, getdate())

Set @Location = '\\server2\E:\SqlBackups\'
Set @Location = @Location + 'Day'+ cast(@Day as nvarchar(1)) + '\'
Set @Location = @Location + 'COST.bak'

BACKUP DATABASE COST TO  DISK = @Location WITH FORMAT, INIT,  NAME = 
N'COST-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  COMPRESSION, 
STATS = 10

declare @backupSetId as int
select @backupSetId = position from msdb..backupset where 
database_name=N'COST' and backup_set_id=(select max(backup_set_id) from 
msdb..backupset where database_name=N'COST' )
if @backupSetId is null begin raiserror(N'Verify failed. Backup 
information for database ''COST'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM  DISK = @Location WITH  FILE = @backupSetId,  
NOUNLOAD,  NOREWIND
GO

2 个答案:

答案 0 :(得分:1)

检查您的UNC路径,它必须具有“ $”而不是“:”

Set @Location = '\\server2\E$\SqlBackups\'

答案 1 :(得分:0)

Slava是正确的,但是我也遇到了无法解决的文件夹/共享权限问题。

SeBackUpPriviledge未启用,我不相信我可以将其添加到域帐户。 :(