什么是"SHUTDOWN正在进行中的MSSQL异常代码.用户登录失败''XXXX''.此时只有管理员可以连接."

use*_*477 5 sql-server exception server

我想知道上述异常的SQL异常错误代码.当意外的SQL群集服务关闭,并且应用程序尝试访问服务器时,会发生此问题.

Jer*_*ert 6

这是两个单独的消息:"SHUTDOWN正在进行中"(代码6005)和"用户登录失败'%.*ls'.此时只有管理员可以连接.%.*ls"(代码18451).您可以通过查询来确定sys.messages:

select * from sys.messages 
where [text] like '%only administrators%' or [text] like 'SHUTDOWN is in progress%'
and language_id = 1033
Run Code Online (Sandbox Code Playgroud)

因为"SHUTDOWN正在进行中"具有严重性10,所以它仅仅是信息性的,不会导致异常.但是,"登录失败"(并且"SHUTDOWN"消息将被合并到其中).

请注意,如果您的服务器已关闭,或者正在关闭并且其网络名称不再可访问,则您可以在连接尝试期间获得非服务器生成的其他错误.寻找此错误并不是检测关闭条件的可靠方法,您可能不应该使用特殊情况逻辑.