在将本地计算机上的SQL Server备份到服务器计算机时出现错误,但是如果我尝试查询本地数据库,则它可以工作。您能帮我解决问题吗?
BACKUP DATABASE 'DBName' TO DISK 'FILENAME'
从本地进行备份时,出现此错误-主:
无法打开备份设备的“路径”。设备错误或设备脱机。 BACKUP DATABASE异常终止。
但是当我在本地计算机上运行时,它运行完美。
答案 0 :(得分:1)
如果要备份SQL Server数据库,则必须记住,客户端会将命令/查询发送给SQL Server实例以执行该备份。因此,必须从服务器的角度考虑所有指定的路径。不是客户的。因此,在进行SQL Server备份时,像'C:\Backup\MyDatabase.BAK'
这样的本地路径将指向服务器的C驱动器,而不是您自己的客户端的C驱动器。
您可以使用UNC路径(类似于'\\SERVER\Share\Backup'
)将数据库备份到网络位置,但是必须确保服务器(以及用于运行SQL Server实例的用户帐户)在您的服务器上)具有对该网络位置的足够访问权限。
并且-再次-如果要使用驱动器映射到网络路径/别名,则也必须为SQL Server实例的用户帐户定义和访问它们;也许最好是始终使用完整路径名在网络位置上创建数据库备份。
希望这会有所帮助。
修改
我也总是对备份命令使用以下语法:
BACKUP DATABASE 'DBName' TO DISK = 'FILENAME'
请注意DISK
之后的等号。没有它,您可能会收到语法错误。 (我很快对其进行了测试,并且在SQL Server 2017中收到语法错误。)