我的生产数据库突然变成了单用户模型。
我将其更改回MULTI USER,现在一切正常运行。
为什么会这样?
答案 0 :(得分:0)
数据库本身不只是设置为单个用户,还应该有一些进程或人实际发出命令以使其相同。
该ALTER DATABASE
命令算作DDL操作,因此它记录在默认跟踪中。
您可以从“模式更改历史记录”报告中查看一些快速调查信息,或直接查询默认跟踪:
--SELECT * from sys.traces
declare @TraceIDToReview int
declare @path varchar(255)
SET @TraceIDToReview = 1 --this is the trace you want to review!
SELECT @path = path from sys.traces WHERE id = @TraceIDToReview
SELECT
TE.name As EventClassDescrip,
v.subclass_name As EventSubClassDescrip,
T.*
FROM ::fn_trace_gettable(@path, default) T
LEFT OUTER JOIN sys.trace_events TE ON T.EventClass = TE.trace_event_id
LEFT OUTER JOIN sys.trace_subclass_values V
ON T.EventClass = V.trace_event_id AND T.EventSubClass = V.subclass_value
WHERE DatabaseName ='Blank'
AND IndexID = 15 --Single User
OR IndexID = 16 --Multi User