我需要找到一种方法来识别 SQL 实例,无论对 SQL Server 和/或运行它的 Windows Server 进行了哪些更改,因为我们正在将有关实例的远程信息收集到我们的操作数据库中,并且仍然遇到我们的方式识别它并不像看起来那么独特。
例如,如果我有服务器 WIN1\SQL 并且由于服务器刷新将安装在不同的服务器 WIN2\SQL 上,迁移数据并交换服务器名称,以便 WIN2\SQL 将变为 WIN1\SQL,反之亦然,我需要能够识别当前的 WIN1\SQL 不同于以前的 WIN1\SQL 忽略操作系统版本和/或 SQL 版本\补丁级别
已经尝试以下:
NetworkName\InstanceName - 在服务器主机名\网络名称因服务器刷新而发生更改之前一直有效,如上所述
SQL Server SID - 我正在寻找一些像 Windows 一样的 SQL 安装 SID,但似乎没有这样的东西真正存在
##MS_SQLAuthenticatorCertificate## 的 SID - 这是我找到的最后一个最佳镜头,扫描了数百个 SQL Server,它真的很独特 - 以为我终于找到了它,直到我将 Service Pack 应用到一台服务器并发现 SID 已更改
任何想法如何唯一标识 SQL 实例(如 SQL 实例 SID)将不胜感激,因为我迷路了
编辑:我没有管理所有 SQL 服务器。无法对超出范围的设备进行修改,因此寻找一些可以在 SQL2005+ 上运行的“已经内置”的方式