【发布时间】:2020-08-24 07:14:57
【问题描述】:
我有一个处于恢复状态的 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 步后返回的错误:
消息 5011,第 14 级,状态 9,第 2 行
用户无权更改数据库“ReportServer”,数据库不存在,或数据库未处于允许访问检查的状态。消息 5069,第 16 层,状态 1,第 2 行
ALTER DATABASE 语句失败。
我确定我对此数据库拥有管理员权限,如果没有,我该如何检查?因为 ReportServer 数据库确实存在,所以它只是处于恢复模式..
【问题讨论】:
标签: sql-server set recovery reportserver