假设您已经为本地 Windows 组创建了一个登录名,例如machine_name\group_name
您使用相同的计算机名称 ( ) 重建服务器(新物理机)machine_name
,并将旧驱动器(包括 SQL 服务器)连接到该服务器。该组也已重新创建。
但这是新安装的操作系统。因此,新安装的操作系统machine_name\group_name
将具有新的 SID,并且实际上无法运行。
我们如何检测登录的 SID 不再有效,以便我们知道需要重新创建登录?
SELECT SUSER_SID(machine_name\group_name)
仍返回旧 SID(存储在 中sys.server_principals
)。 [sys].[sp_validatelogins]
也没有报告任何内容。
SUSER_SID
乍一看似乎如此sys.server_principals
,所以我们不知道如何检测这一点。