了解最新公司动态及行业资讯
工作日数据-供参考
备份数据库有两种方式,一种是备份数据库文件,另一种是直接拷贝数据库文件mdf和日志文件ldf。下面将主要讨论后者的备份和恢复。本文假设您熟练使用(企业管理器)和呃(查询分析器)
1、普通备份和SQL数据库恢复方法
在普通模式下,当我们要备份数据库时,必须先断开数据库与正在运行的数据服务器的连接,或者停止整个数据库服务器,然后再复制文件。
删除数据库的命令:数据库名称
连接数据库的命令:或e_db
[@=]′′,[@=]′′[,...16]
e_db[@=]′′,[@=]′′
使用此方法可以正确恢复.0和.0的数据库文件。重点是备份的时候mdf和ldf文件都要备份。 mdf文件为数据库数据文件,ldf为数据库日志文件。
例子:
假设数据库是test,它的数据文件是.mdf,它的日志文件是.ldf。让我们讨论如何备份和恢复数据库。
卸载数据库:'test'
连接数据库:'test','C:\MSSQLData.mdf','C:\MSSQLData.ldf'
e_db'test','C:\MSSQLData.mdf'
2、只有 mdf 文件的恢复技术
由于种种原因,如果我们当时只备份mdf文件,恢复起来会很麻烦。
如果你的mdf文件是当前数据库生成的,那么幸运的是,也许你可以使用or e_db来恢复数据库,但是会出现类似下面的提示信息
设备激活错误。物理文件名 'C:\MSSQLdata.LDF' 可能有误。
已创建名为“C:\MSSQLData.LDF”的新日志文件。
但是,如果您的数据库文件是从另一台计算机上复制的,那么很遗憾,上述解决方案可能不起作用。您可能会收到类似于以下的错误消息
服务器:消息 1813武汉数据恢复,级别 16,状态 2,第 1 行
无法打开新数据库“测试”。将终止。
设备激活错误。物理文件名 'd:.LDF' 可能有误。
怎么办?不用担心,这里有一个如何恢复的示例。
A.我们使用默认的方法创建一个数据库(例如test)进行恢复。可以内建。
B.停止数据库服务器。
C.删除刚刚生成的数据库的日志文件.ldf,用要恢复的数据库mdf文件覆盖刚刚生成的数据库数据文件.mdf。
D.启动数据库服务器。此时,您将看到数据库测试的状态为“可疑”。目前无法对该数据库执行任何操作。
E.设置数据库允许直接操作系统表。对于此操作,可以选择其中的数据库服务器,右键单击,选择“属性”,在“服务器设置”页面中选择“允许直接修改系统目录”。也可以使用下面的语句来实现。
去
'',1
去
想法
去
F。将测试设置为紧急修复模式
=-=DB_ID('test')
此时可以看到数据库处于“只读怀疑离线紧急模式”,可以看到数据库中的表,但只能看到系统表
G.下面进行实际的恢复操作,重建数据库日志文件
('test','C:\MSSQLData.ldf')
执行过程中,如果遇到如下提示:
服务器:消息 5030,级别 16,状态 1,第 1 行
无法为此操作独占锁定数据库。
DBCC 执行完成。如果 DBCC 输出错误信息,请联系您的系统管理员。
表示您的其他程序正在使用此数据库。如果只是使用了步骤F中打开测试库的系统表,可以退出。
警告:数据库“test”的日志已重建。事务一致性已丢失。应运行以验证物理一致性。必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完成。如果 DBCC 输出错误信息,请联系您的系统管理员。
这时候打开,会看到数据库的状态是“only for DBO”。至此,就可以访问数据库中的用户表了。
H.验证数据库一致性(可选)
('测试')
一般执行结果如下:
发现 0 个分配错误和 0 个一致性错误(在数据库“测试”中)。
DBCC 执行完成。如果 DBCC 输出错误信息,请联系您的系统管理员。
我。将数据库设置为正常状态
'测试','','假'
如果没有错误,那么恭喜你武汉数据恢复,现在可以正常使用恢复的数据库了。
J。最后一步,我们需要恢复步骤E中设置的“允许直接修改系统目录”。因为直接操作表通常是比较危险的事情。当然我们可以在里面恢复,或者用下面的语句来完成
'',0
去
想法
去