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


当前回答

将获得SQL server的实例 reg查询“HKLM\软件\Microsoft\Microsoft SQL Server\实例名称\SQL”

或使用 SQLCMD - l

其他回答

你可以查询这个注册表值直接得到SQL版本:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup\CurrentVersion

或者你可以查询你的实例名,然后使用sqlcmd和你想要的实例名:

要查看实例名:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names

然后执行这个:

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')

如果您使用c++,您可以使用这段代码来获取注册表信息。

这里有一个简单的方法: 去 然后开始 程序然后 然后是SQL Server 2005 配置工具 然后是SQL Server配置管理器 然后进行SQL Server 2005网络配置 在这里,您可以找到安装到您的机器上的所有实例。

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

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

> sqllocaldb i

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

如果您有兴趣在脚本中确定这一点,您可以尝试以下方法:

sc \\server_name query | grep MSSQL

注意:grep是gnuwin32工具的一部分