为什么SQL SERVER 2008突然从MULTI USER更改为SINGLE USER

时间:2018-11-08 10:06:16

标签: sql-server database-backups

我的生产数据库突然变成了单用户模型。

我将其更改回MULTI USER,现在一切正常运行。

为什么会这样?

1 个答案:

答案 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