通过网络还原数据库备份

Rya*_*yan 45 database sql-server backup sql-server-2005 restore

如何通过网络使用SQL Server 2005还原数据库备份?我记得以前做过这个,但是你必须做的事情有点奇怪.

TPA*_*OPA 80

您几乎没有选择将网络文件用作备份源

  1. 将网络驱动器/路径,托管文件映射到SAME用户下作为MS-SQL Server.
  2. 使用xp_cmdshell扩展存储过程从MS SQL内部映射网络驱动器(这样,命令shell将具有与运行SSMS的用户帐户相同的权限)
-- allow changes to advanced options 
EXEC sp_configure 'show advanced options', 1
GO
-- Update currently configured values for advanced options.
RECONFIGURE
GO
-- To enable xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
-- Update currently configured values for advanced options.
RECONFIGURE
GO
EXEC xp_cmdshell 'NET USE Z: \\Srv\Path password1 /USER:Domain\UserName'
Run Code Online (Sandbox Code Playgroud)

之后驾驶Z:将在Server Managment工作室中显示,或者只是

RESTORE DATABASE DataBaseNameHere FROM DISK = 'Z:\BackNameHere.BAK'
GO
Run Code Online (Sandbox Code Playgroud)

  • 使用 SQL Server 当前服务用户调用 `NET USE` 可以解决问题。这个答案真的很有用。 (2认同)

Cur*_*her 18

数据库通常在没有网络访问权限的帐户下作为服务运行.如果是这种情况,那么您将无法直接通过网络进行恢复.备份需要复制到本地计算机,或者数据库服务需要以具有适当网络访问权限的用户身份运行.

  • 或者在网络访问之前执行`EXEC xp_cmdshell'NET USE ...`; 看到其他答案.. (2认同)

bal*_*ldy 9

您无法通过SSMS GUI执行此操作,但您可以使用脚本执行此操作.从DISK ='\ unc\path\filename'恢复数据库如果您需要自动执行此过程,最好的方法是设置SQL Server作业并以具有文件位置访问权限的用户身份运行它.

  • 这不是真的.只要在打开"还原数据库..."对话框之前映射了网络驱动器,就可以通过网络将其还原. (2认同)

小智 6

确保运行您的用户SQL services"Services.msc"是一个活跃的目录"Domain User",这将解决这个问题.


cou*_*sej 6

您可以使用SP xp_cmdshell 为sql server 映射网络驱动器,之后它将显示在文件浏览窗口中。

EXEC xp_cmdshell 'NET USE Z: SERVERLOCATION PASSWORD /USER:DOMAIN\USERNAME'
Run Code Online (Sandbox Code Playgroud)

更多信息:从网络驱动器还原数据库

为我工作!