使SQL Server数据库退出恢复模式时出错?

问题描述 投票:0回答:1

我有一个处于恢复状态的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')...

sql-server set recovery reportserver
1个回答
0
投票
ALTER DATABASE [database_name] 
SET SINGLE_USER 
WITH ROLLBACK IMMEDIATE; 
© www.soinside.com 2019 - 2024. All rights reserved.