SQL Server还原分离数据库

时间:2019-06-07 08:22:11

标签: sql-server database restore detach

是否可以还原分离的数据库(无需重新连接)?

数据库很大,但是没有可用的磁盘空间来创建备份。 因此,我正在考虑分离数据库,然后将其复制到另一台服务器。

该另一台服务器使用Powershell脚本还原数据库。 这是否适用于分离的数据库?我无法使用此脚本重新附加它。只需还原即可。

  

Restore-SqlDatabase -ServerInstance $ serverInstance-数据库$ myDb -BackupFile“ detachedFile”-凭据$ Cred

1 个答案:

答案 0 :(得分:1)

数据库的备份格式不同(.bak)。在分离操作中获得的文件是mdf,ndf数据文件格式,ldf日志文件格式是不同的格式。

You can read about the formats。我将内容从网站下面放下来,以方便参考。

  

通常,扩展名为.bak的数据库备份文件包含   Microsoft本身用作的标准Microsoft磁带格式(MTF)   以及许多用于Microsoft Windows平台的备份工具。

     

在将数据写入和读取数据时使用Microsoft磁带格式   在存储管理或数据期间从可移动存储设备访问   保护操作,例如数据传输,复制,备份和   恢复。对于SQL Server,MTF文件包含数据和日志   恢复数据库所需的信息(MDF和LDF文件)。   MDF文件是主数据文件或主数据库数据文件,   将该数据库中的所有其他文件绑定在一起。 LDF是日志   数据文件,其中包含所有日志信息,对于   数据库还原过程。

您不能对mdf,ldf文件使用Restore database命令。您需要使用附加,分离方法才能在其他环境中使用它们。正如@Peter Smith所建议的那样,您可以使用powershell脚本执行相同的操作。