试试这个
ALTER DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
ALTER DATABASE [dvbbs] SET MULTI_USER
GO
前提条件
-- 将 数据库的恢复模式(Recovery mode)设置为 “完整(Full)”
-- 此 *** 作可以在 SQL Server Management Studio 中, 选择数据库, 鼠标右键, 属性后,在 选项 标签中进行设置。
USE [master]
GO
ALTER DATABASE [test] SET RECOVERY FULL WITH NO_WAIT
GO
-- 完整备份数据库
backup database test to disk='e:\test_20130704dat'
GO
已为数据库 'test',文件 'Test' (位于文件 1 上)处理了 376 页。
已为数据库 'test',文件 'Test_log' (位于文件 1 上)处理了 3 页。
BACKUP DATABASE 成功处理了 379 页,花费 1151 秒(2571 MB/秒)。
测试数据
USE [test]
GO
-- 创建测试表
CREATE TABLE test_br_table (
ID int,
VAL VARCHAR(10),
PRIMARY KEY(ID)
);
GO
INSERT INTO test_br_table VALUES (1, 'TEST1');
INSERT INTO test_br_table VALUES (2, 'TEST2');
INSERT INTO test_br_table VALUES (3, 'TEST3');
GO
SELECT GETDATE()
GO
-----------------------
2013-07-04 16:44:12393
(1 行受影响)
-- 假设误 *** 作, 删除所有的数据了
DELETE FROM test_br_table
GO
(3 行受影响)
恢复
USE [master]
GO
-- 步骤1 备份当前数据库的事务日志:
BACKUP LOG [Test] TO disk= N'e:\test_log' WITH NORECOVERY
GO
已为数据库 'Test',文件 'Test_log' (位于文件 1 上)处理了 9 页。
BACKUP LOG 成功处理了 9 页,花费 0046 秒(1486 MB/秒)。
-- 步骤2 恢复一个误删除之前的完全备份:
RESTORE DATABASE [Test] FROM DISK = N'e:\test_20130704dat' WITH NORECOVERY, REPLACE
GO
已为数据库 'Test',文件 'Test' (位于文件 1 上)处理了 376 页。
已为数据库 'Test',文件 'Test_log' (位于文件 1 上)处理了 3 页。
RESTORE DATABASE 成功处理了 379 页,花费 0828 秒(3574 MB/秒)。
-- 步骤3 将数据库恢复至误删除之前的时间点:
RESTORE LOG [Test] FROM DISK = N'e:\test_log' WITH STOPAT = N'2013-07-04 16:44:12393' , RECOVERY
GO
已为数据库 'Test',文件 'Test' (位于文件 1 上)处理了 0 页。
已为数据库 'Test',文件 'Test_log' (位于文件 1 上)处理了 9 页。
RESTORE LOG 成功处理了 9 页,花费 0013 秒(5258 MB/秒)。
核对数据
use [Test]
GO
SELECT FROM test_br_table
GO
ID VAL
----------- ----------
1 TEST1
2 TEST2
3 TEST3
(3 行受影响)
上面为 SQL Server 2008 下面 *** 作的记录, SQL 2000 下面, 不知道行不行了
--恢复Master --方法1:重装SQL,但是数据就Over掉了 --方法2:重建Master Rebuildmexe 用到SQL的安装文件, --从安装目录X86\Data中拷取原文件 --重建成功后,不要启动SQL Server,以单用户模式进入SQL --SQLserver的安装目录\bin\sqlservrexe -m --还原数据库备份restore database master from disk='e:\masterbak' --恢复Master --启动SQL SERVER sp_addumpdevice 'disk',Mas, 'E:\Masterbak' backup database master to mas restore verifyonly from mas --Cut the Master db --rebuildmexe --Sqlservrexe -m restore database master from disk='e:\masterbak' 如果是Model 数据库损坏,具体过程为: 先重建Master数据库,再恢复Model数据库的备份; MSDB的损坏不影响SQL Server的正常运行, 备份还原和用户数据库相同 TempDB:SQL Server每次启动的时候,都会使用Model数据库重建,不用备份
SQL Server2000数据库出现质疑有以下原因:
(1)数据库文件被删除
(2)转移了数据库文件
(3)重新命名了数据库文件
(4)由于文件夹设置了安全访问,导致程序无法访问
(5)由于电脑系统的原因,导致SQL Server无法正常访问数据库文件
从你的情况看,有可能是系统的某种原因导致第一次没有正常与数据库文件通信
但重启后通信成功,这是比较正常的事情
数据丢失后要做的第一步是保护好现场,不要再向这个分区中写入数据了,因为删除后的数据从理论上讲没有真正的删除,但此时这些数据不再受系统的保护中,在这个分区中写入数据,就有覆盖的可能。
SQL数据库文件基本上每天都在增加,所以存放在硬盘中都不是连续扇区中,就产生了碎片,所以一般的恢复软件都不能恢复成功,针对这个问题,我们开发了相应的软件,你可以试试。
>
这种文件是应该是个备份文件,先得确定你要把这个文件恢复到那个数据库中,在要恢复的数据库上右击,选择“所有任务”--〉还原数据库---〉在常规 还原 栏 选---〉从设备---〉点“选择设备”---〉添加---〉文件名,选择你要恢复的文件名就ok了
以上就是关于SQL2000数据库不能备份如何修复全部的内容,包括:SQL2000数据库不能备份如何修复、SQL2000数据库被误重写了,怎样恢复到之前MDF和日志文件都完好没有破坏,在线等...、如何在SQL Server2000中恢复Master数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)