Sql server 重新连接SQL数据库以替换原始数据库(而不是备份/恢复)
我们在Windows Server 2008R2上有一个SQL 2012数据库,该数据库已被我们的基础架构团队分离,作为一种备份形式。我们现在需要恢复数据库,并且没有“正确”的数据库备份。我想我们需要这样做:Sql server 重新连接SQL数据库以替换原始数据库(而不是备份/恢复),sql-server,database,Sql Server,Database,我们在Windows Server 2008R2上有一个SQL 2012数据库,该数据库已被我们的基础架构团队分离,作为一种备份形式。我们现在需要恢复数据库,并且没有“正确”的数据库备份。我想我们需要这样做: 使当前Live DB脱机 从文件系统中删除当前数据库 文件将以前分离的数据库从其备份位置复制到\Data文件夹中 重新连接数据库 复制时,我们会将.MDF和.LDF文件复制到原始\数据位置 我遗漏了什么吗 (欢迎使用“分离”作为备份方法的可取性或其他)。如果你要附加一个数据库,你需要考虑以
(欢迎使用“分离”作为备份方法的可取性或其他)。如果你要附加一个数据库,你需要考虑以下先决条件:
如果在前提条件下没有什么重要的考虑,则可以使用以下步骤分离/附加数据库:
CREATE DATABASE Stellar
ON (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\stellar.mdf')
FOR ATTACH ;
请注意,如果.ndf文件也存在,则可能需要在上述查询中包含它们
您也可以使用SQL Server Management Studio detach/atach向导执行以下步骤
最后,对于备份和恢复来说,使用分离/连接并不是一个好的解决方案。您可能会阅读更多关于它的信息您可以使用以下T-SQL语句分离数据库:
USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'stellar'
GO
USE [master]
GO
CREATE DATABASE [stellar] ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\stellar.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\stellar_log.ldf' )
FOR ATTACH
GO
要附加,可以使用以下T-SQL语句:
USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'stellar'
GO
USE [master]
GO
CREATE DATABASE [stellar] ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\stellar.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\stellar_log.ldf' )
FOR ATTACH
GO
附加数据库的另一种方法是使用创建数据库
CREATE DATABASE Stellar
ON (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\stellar.mdf')
FOR ATTACH ;
如果没有日志文件,可以使用以下T-SQL命令生成新的日志文件:
CREATE DATABASE Stellar
ON (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\stellar.mdf')
FOR ATTACH_REBUILD_LOG ;
检查参考号。应该可以。分离作为备份的一种形式有点,嗯,过于热情了,因为在这段时间内数据库基本上不存在。SQL Server的备份(或其他第三方备份工具)完成了这项工作,并允许您的数据库保持活动状态和可用性。这就是它们的用途。在此之后,我强烈建议您不仅要制定备份计划,还要制定恢复计划。我的意思是,许多商店遇到这种情况,然后开始备份。但他们不测试这些备份,也不了解如何在紧急情况下恢复数据。备份计划只是数据恢复的第一步。谢谢。就备份而言,我们通常将适当的备份脚本写入磁盘,然后由基础架构团队进行备份,但他们建议我们,使用新的SQL感知备份软件,我们将不再需要这样做。这就是我之前评论的证据。失败的地方在于,实际上没有人测试恢复。