我正在尝试修复可疑数据库。问题是当我运行时:
EXEC sp_resetstatus property;
Run Code Online (Sandbox Code Playgroud)
它给了我这个回应:
Warning: You must recover this database prior to access.
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时:
ALTER DATABASE property SET EMERGENCY;
Run Code Online (Sandbox Code Playgroud)
它也失败了:
Msg 5011, Level 14, State 7, Line 1
User does not have permission to alter database 'property', the database does not exist, or the database is not in a state that allows access checks.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
Run Code Online (Sandbox Code Playgroud)
我下一步该怎么做?谢谢。
从早期的备份副本中恢复是很好的。如果您没有备份副本..下面是修复可疑数据库的步骤..Paul Randal 在这里用更多示例对此进行了解释:创建、分离、重新附加,并修复可疑数据库
步骤概述
下面是脚本
CREATE DATABASE DEMOSUSPECT
ALTER DATABASE DEMOSUSPECT SET OFFLINE
--- you have to copy and drop the old database files prior to this
----NOW DELETE THE mdf and ldf files created for new database
--copy those corrupted files into new location
alter database demosuspect set online
--check status once
SELECT DATABASEPROPERTYEX (N'DemoSuspect', N'STATUS')
--tyr putting the database into emergency mode and use DBCC
ALTER DATABASE [DemoSuspect] SET EMERGENCY;
GO
ALTER DATABASE [DemoSuspect] SET SINGLE_USER;
GO
DBCC CHECKDB (N'DemoSuspect', REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS;
GO
-- Check the state
SELECT DATABASEPROPERTYEX (N'DemoSuspect', N'STATUS') AS N'Status';
GO
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13051 次 |
| 最近记录: |