如何在服务器的SQL Server数据库中恢复数据库?

时间:2013-08-05 13:42:01

标签: sql-server database sql-server-2008

我有2个数据库test1和test2。 我从test1获得了备份。现在我想将此备份恢复到test2。

我在共享服务器中的test2数据库。当我正在恢复时,它会失败。并填充此错误消息。

Msg 3110, Level 14, State 1, Line 1
User does not have permission to RESTORE database 'databasename'.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

我将权限设置为db_backupoperator的用户。但它仍然没有恢复数据库。 请让我知道我做错了什么。

由于

3 个答案:

答案 0 :(得分:7)

您需要db_creator权限才能成功恢复数据库。

来自this MSDN article

  

权限如果要恢复的数据库不存在,则为该用户   必须具有CREATE DATABASE权限才能执行RESTORE。   如果数据库存在,则RESTORE权限默认为成员   sysadmin和dbcreator固定服务器角色和所有者(dbo)的   数据库(对于FROM DATABASE_SNAPSHOT选项,数据库始终   存在)。 RESTORE权限被赋予其中成员资格的角色   信息随时可供服务器使用。因为固定   只有在数据库存在时才能检查数据库角色成员身份   可访问且未损坏,当RESTORE是时,情况并非总是如此   执行后,db_owner固定数据库角色的成员没有   恢复权限。

答案 1 :(得分:0)

db_backupoperator 只能备份数据库。他们无法恢复。 http://msdn.microsoft.com/en-us/library/ms189041(v=SQL.90).aspx

答案 2 :(得分:0)

您需要使用dbcreator或sysadmin角色来还原数据库。 有关数据库角色的更多信息,您可以查看 - MSSQL Server roles