我试图确定我已经安装的sql server/sql express的实例(手动或编程),但所有的例子都告诉我运行一个sql查询来确定这假设我已经连接到一个特定的实例。


当前回答

在命令行中:

SQLCMD -L

or

OSQL -L

(注:必须大写L)

这将列出网络上安装的所有sql server。您可以设置一些配置选项来防止SQL Server显示在列表中。要做到这一点…

在命令行:

svrnetcn

在启用的协议列表中,选择“TCP/IP”,然后单击属性。有一个“隐藏服务器”的复选框。

其他回答

我知道这个帖子有点老了,但在我找到我正在寻找的答案之前,我就看到了这个帖子,我想分享一下。如果您正在使用SQLExpress(或localdb),有一种更简单的方法来查找实例名。 在命令行类型中:

> sqllocaldb i

这将列出您在本地安装的实例名。因此,您的完整服务器名称应该在要连接的实例名称前面包含(localdb)\。此外,sqllocaldb允许您创建或删除实例以及配置它们。参见:SqlLocalDB Utility。

在命令行中:

SQLCMD -L

or

OSQL -L

(注:必须大写L)

这将列出网络上安装的所有sql server。您可以设置一些配置选项来防止SQL Server显示在列表中。要做到这一点…

在命令行:

svrnetcn

在启用的协议列表中,选择“TCP/IP”,然后单击属性。有一个“隐藏服务器”的复选框。

安装的所有实例都应该显示在Microsoft管理控制台的服务管理单元中。如果需要获取实例名,请执行“开始|运行|类型的服务”。查找所有带有“Sql Server(实例名)”的条目。

在Windows命令行中输入:

SC \\server_name query | find /I "SQL Server ("

其中“server_name”是希望在其上显示SQL实例的任何远程服务器的名称。

当然,这需要足够的权限。

这个查询可以得到服务器名和实例名:

SELECT @@SERVERNAME, @@SERVICENAME