我试图确定我已经安装的sql server/sql express的实例(手动或编程),但所有的例子都告诉我运行一个sql查询来确定这假设我已经连接到一个特定的实例。
当前回答
——T-SQL查询查找机器上已安装的实例列表
DECLARE @GetInstances TABLE
( Value nvarchar(100),
InstanceNames nvarchar(100),
Data nvarchar(100))
Insert into @GetInstances
EXECUTE xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'SOFTWARE\Microsoft\Microsoft SQL Server',
@value_name = 'InstalledInstances'
Select InstanceNames from @GetInstances
其他回答
你可以查询这个注册表值直接得到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++,您可以使用这段代码来获取注册表信息。
安装的所有实例都应该显示在Microsoft管理控制台的服务管理单元中。如果需要获取实例名,请执行“开始|运行|类型的服务”。查找所有带有“Sql Server(实例名)”的条目。
另一个选择是运行SQLSERVER发现报告,进入SQLSERVER安装介质,双击setup.exe
在下一个屏幕中,转到工具并单击如下所示的发现报告
这将向你展示所有的实例以及整个功能..下面是我电脑上的快照
我刚刚安装了Sql server 2008,但我无法连接到任何数据库实例。 @G Mastros发布的命令没有列出活动实例。
因此,我查看了服务,发现SQL server代理被禁用。我把它设置为自动,然后再启动。
将获得SQL server的实例 reg查询“HKLM\软件\Microsoft\Microsoft SQL Server\实例名称\SQL”
或使用 SQLCMD - l
推荐文章
- 我如何在T-SQL用逗号格式化一个数字?
- LEFT OUTER JOIN如何返回比左表中存在的记录更多的记录?
- 如何用SQL语句计算百分比
- SQL Server动态PIVOT查询?
- 如何等待2秒?
- SQL Server: CROSS JOIN和FULL OUTER JOIN的区别是什么?
- varchar和nvarchar SQL Server数据类型之间的主要性能差异是什么?
- 向现有表添加主键
- 我应该在SQL varchar(长度)中考虑电话的最长的全球电话号码是什么
- 表中标识列的显式值只能在使用列列表且IDENTITY_INSERT为ON SQL Server时指定
- 如何确定已安装的SQL Server实例及其版本?
- Scope_Identity()、Identity()、@@Identity和Ident_Current()之间的区别是什么?
- 如何在TSQL中刷新打印缓冲区?
- 如何用一个SQL查询从数据库中删除所有表?
- SQL查询返回两个表之间的差异