如何通过网络使用SQL Server 2005还原数据库备份?我记得以前做过这个,但是你必须做的事情有点奇怪.
您几乎没有选择将网络文件用作备份源
将网络驱动器/路径,托管文件映射到SAME用户下作为MS-SQL Server.
使用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'
之后驾驶Z:将在Server Managment工作室中显示,或者只是
RESTORE DATABASE DataBaseNameHere FROM DISK = 'Z:\BackNameHere.BAK' GO
数据库通常在没有网络访问权限的帐户下作为服务运行.如果是这种情况,那么您将无法直接通过网络进行恢复.备份需要复制到本地计算机,或者数据库服务需要以具有适当网络访问权限的用户身份运行.
您无法通过SSMS GUI执行此操作,但您可以使用脚本执行此操作.从DISK ='\ unc\path\filename'恢复数据库如果您需要自动执行此过程,最好的方法是设置SQL Server作业并以具有文件位置访问权限的用户身份运行它.
确保运行您的用户SQL services
中"Services.msc"
是一个活跃的目录"Domain User"
,这将解决这个问题.