2013-10-14 92 views
-1

我在网络上有两个系统(A,B),我想从A备份到B存储。 这两个系统火腿sql 2008启动并运行。 我把A DB的链接服务器添加到B管理工作室 但是下面的命令给我错误。从链接服务器备份MS SQL Server数据库

BACKUP DATABASE [10.45.2.63].[DB] TO DISK = N'E:\BackUp\60\DB.BK' 
-- COMPAC RAR 
DECLARE @SERVER VARCHAR(100), @COMMAND VARCHAR(100), @FILE VARCHAR(100) 
SET @SERVER = @@SERVERNAME 
SET @COMMAND = 'E:\BackUp\RAR\RAR.exe A E:\BackUp\60\' + @SERVER + '_BASE.RAR E:\BackUp\60\DB.BK' 
EXEC XP_CMDSHELL @COMMAND 
-- EXCLUIR FILE BACKUP 
EXEC XP_CMDSHELL 'DEL E:\BackUp\60\DB.BK' 

我有从[10.45.2.63]选择数据没有问题。[dB]的,但不能在备份中乙机。

在上面的查询中,sql给出了“[10.45.2.63]”的错误,并没有将其识别为链接服务器。

+1

什么是错误? – geomagas

+0

我假设你的链接服务器叫做'[10.45.2.63]'(这个信息很方便知道)。要在链接服务器上远程执行某些操作,请使用'OPENQUERY',尽管我不知道它是否可以与'BACKUP' –

回答

0

首先,没有错误信息,除了通过在墙上的一些东西,看到什么棒?

当您创建链接服务器时,请在连接到远程服务器时为其提供凭据以供使用。从这里开始,这些凭证是否有能力执行备份?

第二,你说你备份到服务器B的存储,所以我假设“E”是映射驱动器?如果是这样,首先使用UNC,而不是映射的驱动器号。驱动器号是用户特定的(IE。//10.45.2.64/ShareName)第二,链接服务器的凭据是否可以从一台服务器访问另一台服务器来写备份?请记住,您正在告诉其他服务器执行备份,而您并未在远程服务器上执行备份。

你应该做的是在服务器上启动你正在使用这些证书进行备份和测试的服务器,然后按照你的方式进行操作直到它全部工作。最重要的是,发布你的错误!

+0

一起工作,谢谢回复,是的,我认为凭证可以,因为我对select查询没有任何问题。 问题是如果我在[10.45.2.63]链接的服务器名称变为undefiend之前放置了“BACKUP DATABASE”,但是如果我使用“Select * from”[10.45.2.63]“它的工作原理:| –

+0

能够”READ“数据与完成数据库备份有很大的不同,只是因为你可以做到这一点,所以你可以做其他的事情,就像说我知道我会成为一名优秀的歌手,只是因为我可以骑自行车 – Steve

+0

所以我猜连接服务器不能像本地服务器一样工作(一些限制)。“E”字母是服务器B上的物理驱动器。我想这是问题 –

相关问题