从可疑数据库中获取数据

我们停电了,我们的一个SQL 2000数据库被标记为可疑。 我们有一个备份,但已经超过了一天的时间(在计划备份之前就发生了停电事件),我们不希望这些日子的数据丢失。

有没有办法恢复数据库,然后从可疑的数据库表中复制丢失的数据?

我会在前面说一旦数据库被标记为“可疑”,那么你现在处在一个相当不好的地方 – 不pipe怎么样,你都会有一些数据丢失的机会。

也就是说,您应该能够在紧急模式下启动数据库并从那里开始修复过程(checkdb)。 http://gargmanoj.wordpress.com/2008/07/17/how-to-repair-a-sql-server-2005-suspect-database/有更多面向SQL Server 2005的细节,但我相信他们会工作在2000年也是如此(下文为后人转载)。

--- Find out why the DB is marked suspect DBCC CHECKDB ('YourDBname') WITH NO_INFOMSGS, ALL_ERRORMSGS --- Reset the DB to Emergency Mode EXEC sp_resetstatus 'yourDBname'; ALTER DATABASE yourDBname SET EMERGENCY --- Initial checkdb to get things working DBCC checkdb('yourDBname') --- Single-User Mode & "Dangerous" repair (possibility of data loss!) ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE DBCC CheckDB ('yourDBname', REPAIR_ALLOW_DATA_LOSS) --- Make the DB usable again ALTER DATABASE yourDBname SET MULTI_USER 

在完成维修之后(或者更好,在开始之前),你应该让你的老板为数据库服务器启动UPS。 数据丢失的威胁笼罩在人们的头上,这往往更容易震撼金钱树。