我正在尝试使用命令提示符中的命令查找网络上所有 SQL 服务器的列表osql -L
。仅当我正在使用的计算机上安装了 SQLServer 时,此命令才有效。当该特定计算机上未安装 SQLServer,但安装在网络上的某个位置时,是否有任何方法可以运行此命令?
谢谢你!
编辑:我正在用 Java 编写程序,因此在 .NET 框架中可以进行的简单枚举对我来说不起作用。
答案1
如果您正在寻找一个可以运行并获取输入的命令行程序,请查看 SQLPing3 命令行。我知道它说它是 alpha 版本,但它工作正常。它将使用所有已知方法来发现 SQL Server,这超出了 osql -L(它只是执行 udp/1434 广播)。
答案2
看看这个链接
http://www.sqldbatips.com/showarticle.asp?ID=45
此链接显示了如何通过 .Net 框架通过代码执行此操作,如果您正在寻找使用其他编程语言或平台的方法,请说
答案3
根据该实用程序的文档,它应该显示本地服务器以及网络上的服务器。问题可能是 SQL Browser 服务未运行,而该服务用于获取网络上所有 SQL Server 的列表。
SQL 浏览器服务:http://msdn.microsoft.com/en-us/library/ms181087.aspx
答案4
在依赖 SMO 对象返回网络上可用的 SQL 实例列表之前,您应该阅读有关SqlDataSourceEnumerator.它可能会返回不完整或不一致的结果。