Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL将数据库从.bak还原到其他计算机-错误_Sql_Sql Server - Fatal编程技术网

SQL将数据库从.bak还原到其他计算机-错误

SQL将数据库从.bak还原到其他计算机-错误,sql,sql-server,Sql,Sql Server,我正在尝试从托管服务器上的备份还原数据库。 我已使用以下方法检查了逻辑名称: restore FILELISTONLY from disk = 'c:\DBBackup2_17092013.bak' 并使用它们执行以下查询: restore database StadlerTest from disk = 'c:\DBBackup2_17092013.bak' with replace, move 'Stadler_base' to 'C:\Program Files\Microsoft S

我正在尝试从托管服务器上的备份还原数据库。 我已使用以下方法检查了逻辑名称:

restore FILELISTONLY from 
disk = 'c:\DBBackup2_17092013.bak'
并使用它们执行以下查询:

restore database StadlerTest
from disk = 'c:\DBBackup2_17092013.bak'
with replace,
move 'Stadler_base' to 'C:\Program Files\Microsoft SQL
Server\MSSQL10.SQLEXPRESS\MSSQL\StadlerTest.mdf',
move 'Stadler_base_log' to 'C:\Program Files\Microsoft SQL
Server\MSSQL10.SQLEXPRESS\MSSQL\StadlerTest.ldf'
在创建空数据库StatlerTest后,我从master运行了上述两个查询,但我得到了一系列错误,听起来像这样(翻译自意大利语):

“”消息3634,级别16,状态1,第1行 尝试在“C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\statlertest.mdf”上“RestoreContainer::ValidateTargetForCreation”时,操作系统返回错误“5(拒绝访问)。”


我做错了什么,但我不知道什么是错的,我已经检查了SO和其他网站上给出的几个答案,但我没有得到正确的答案。一些帮助将不胜感激。谢谢。

听起来像是权限错误。SQL Server可能没有在那里创建文件的权限。请记住,SQL Server正在尝试在其服务帐户下创建数据库,而不是在您的windows登录下创建数据库。检查SQL Server帐户的权限,该帐户与management studio中的Security->logins下的所有其他登录名一起找到


但是,不应在C驱动器上创建数据库。如果它们增长,并且C驱动器耗尽空间,您的整个计算机和操作系统都将崩溃。如果可能,请将数据库文件放在不同的驱动器上。如果这只是用于个人测试,那么这很好,但不适用于任何重要的系统。

嗯……bak在c上,因为我懒得把它放在其他地方并写路径。但目标数据库位于sql server目录中。实际上,我只需要恢复表来修改asp页面。谢谢,但是,我是作为管理员登录的机器管理员,我不应该有权限问题。我想?@FeliceM是的,但创建数据库的不是你,而是SQL Server。不管您拥有多少权限,只要SQL Server拥有多少权限即可。为SQL Server帐户授予访问该路径所需的权限。要使用的SQL Server帐户是在安装服务器时确定的,并将与所有其他登录一起列在management Studio的Security->logins选项卡中。这非常有趣,谢谢。我将在几个小时后进行测试,并让您知道。现在谢谢你。很好的提示。嗨,我把.bak移到了目的地的同一个目录中,但看起来我遇到了同样的问题。我不认为问题在于磁盘上的凭据,但可能是关于.bak的问题,因为如果db有密码,它可能会受到密码保护,因为它来自托管服务器。我不会马上来的。不过,谢谢你的支持。