我有一个处于恢复状态的SQL Server数据库,这是我用来尝试使其脱离恢复模式的脚本:
--Step 1 (Check Database Status)
SELECT
DATABASEPROPERTYEX ('CM_DSS', 'status') AS '"CM_DSS Current Status"',
DATABASEPROPERTYEX ('ReportServer', 'status') AS '"ReportServer Current Status"',
DATABASEPROPERTYEX ('ReportServerTempDB', 'status') AS '"ReportServerTempDB Current Status"',
DATABASEPROPERTYEX ('SUSDB', 'status') AS '"SUSDB Current Status"'
--Step 2 (Set Database into Single User Mode)
ALTER DATABASE ReportServer SET Single_User
--Step 3 (Set Database in Emergency Mode)
ALTER DATABASE ReportServer SET EMERGENCY
--Step 4 (Repair Missing Log File with Dataloss
DBCC CHECKDB('ReportServer', REPAIR_ALLOW_DATA_LOSS)
--Step 5 Set Database Access for Everyone
ALTER DATABASE ReportServer SET MULTI_USER
这是我尝试运行步骤2后返回的错误:
Msg 5011,第14级,状态9,第2行 用户无权更改数据库'ReportServer',该数据库不存在,或者该数据库未处于允许访问检查的状态。
Msg 5069,第16级,状态1,第2行 ALTER DATABASE语句失败。
我确定我对该数据库具有管理员权限,如果没有,该如何检查?因为ReportServer数据库确实存在,所以它只是处于恢复模式。
我有一个处于恢复状态的SQL Server数据库,这是我用来尝试使其退出恢复模式的脚本:-步骤1(检查数据库状态)SELECT DATABASEPROPERTYEX('CM_DSS','status')...
ALTER DATABASE [database_name]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;