通过数据库链接从一台SQL服务器启动并获取备份文件



从我的开发SQL Server,我想在我的生产SQL Server上启动一个备份,通过数据库链接将备份写入开发SQL Server磁盘。

出于安全原因,我无法获得生产SQL Server上的驱动器权限(这将允许我从Prod备份在Dev上启动还原(。这是我唯一能想到的解决办法。

总体目标是每晚获得一份生产版的完整备份副本,并将一份副本恢复到开发版。这将为我们提供一份最近的副本,以便在Dev.中使用

我尝试了以下代码,但它无法识别数据库。

--RUN FROM DEV Database
BACKUP DATABASE [PROD_DATABASE_LINK].[blog]
TO DISK = N'\Dev_Database_DriveD$Backupblogblog_FullBackup_Test' 
WITH NOFORMAT, NOINIT,  
NAME = N'blog-Full Database Backup', 
SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

DECLARE @SQL NVARCHAR(100)
SET @SQL = 'BACKUP DATABASE [PROD_DATABASE_LINK].[dbo].[blog]TO  DISK = N''\Database_A_DriveD$Backupblogblog_FullBackup_Test'''
EXECUTE [DEV_DATABASE_LINK].dbo.sp_executesql @SQL

任何帮助都将不胜感激,

Eric

不能备份单个表,UNC路径应该是\serversharefolderfile。因此BACKUP命令应该看起来像:

BACKUP DATABASE [blog] 
TO DISK = N'\DevServerD$BackupVRVblogVRVblog_FullBackup_Test.bak'

要访问管理员D$共享,SQL Server服务帐户需要是目标服务器上的管理员。

BACKUP不能引用链接服务器上的数据库,但您可以将该批数据发送到目标服务器以像一样执行

declare @sql nvarchar(max) = N'
BACKUP DATABASE [blog] 
TO DISK = N''\DevServerD$BackupVRVblogVRVblog_FullBackup_Test.bak''
'
exec (@sql) at ProdServer

很抱歉延迟,但你是对的,只是因为权限问题,你无法从这里到达那里。

自从问题发布后,我们进行了合同/人事变更,纠正了问题。

相关内容

  • 没有找到相关文章

最新更新