移动(恢复)之前不存在的 SQL Server 2005 数据库

Jac*_*all 5 sql-server-2005 sql-server backup permissions restore

我还没有准备好,但在尝试从远程服务器恢复数据库后发现,如果数据库以前不存在,它就不会恢复。我会做的是

  1. 创建一个 .bak 文件(备份数据库)
  2. 使用共享文件夹将 .bak 文件复制到远程服务器
  3. 在 SQL Server Management Studio 中运行还原以还原数据库

它会给我错误。我想我几乎是意外地发现了它(或者沮丧,只是在数据库顶部恢复它,并且它起作用了)。

现在,当我输入问题时,我意识到移动可能与恢复不同。对于还原,数据库必须已经存在吗?

我再次处于相同的位置以恢复我的系统上不存在的数据库。

1. 我要遵循什么程序?

2. 在远程服务器上成功恢复之前,我需要对 .bak 文件设置权限吗?

3. 或者有更好的方法吗?

我错过了什么吗?我想知道,恢复(或移动)数据库时的规则是什么。

编辑:添加对话框错误。我只是重复了这个过程。我不确定这是我之前遇到的确切错误。我重命名了我拥有的原始数据库。然后我使用 SSMS 导入。

在此处输入图片说明

Tho*_*ger 6

不,对于还原,您不必已经存在数据库(请注意不要with replacerestore database命令中设置选项)。

以下语句将从备份创建一个新数据库:

RESTORE DATABASE [YourNewDbName] 
FROM  DISK = N'C:\YourBackupFile.bak' 
WITH  FILE = 1,  
    MOVE N'YourDataFile' TO N'C:\YourNewDbName.mdf',  
    MOVE N'YourLogFile' TO N'C:\YourNewDbName_1.ldf',  
    NOUNLOAD,  
    STATS = 10
GO
Run Code Online (Sandbox Code Playgroud)

显然,相应地修改参数。但这不需要YourNewDbNamerestore database.