我需要根据IP地址列表或范围扫描并找到本地LAN上的 SQL Server实例,我正在寻找以下信息:
我无法访问任何凭据,无论是Windows还是sql server。赌注是使用Windows身份验证,但我更喜欢基于发现的方法。此外,我不想在扫描期间引发误报,扫描必须是非侵入性的。扫描必须执行多个漏洞测试(稍后),这将涉及检查和进一步的信息,因此不需要为每个服务器提供任何访问凭证。
此外,某些实例可能已禁用 SQL Server Browser服务,或者可能已停止 SQL Server代理服务。
我需要能够查询给定范围的IP地址的所有SQL Server实例。我一直试图在这里使用参数:
答案 0 :(得分:1)
对于SQL Server 2005及更高版本,有一种记录和支持的方式,使用WMI,请参阅FAQ: Detecting SQL Server 2005 using WMI。这将检测任何已安装的实例,与正在运行或不运行的事实无关,并且不打开与SQL Server本身的任何连接。当然,它需要适当的权限来查询远程机器 WMI。
对于SQL 2000,唯一的方法是使用不受支持的注册表黑客(查找特定的密钥)。