我正在安装一些软件,我需要告诉它使用SQL Server的默认实例,但是Installshield GUI坚持要输入命名实例的信息。
目标SQL Server是版本2008R2
我希望有一个干净的黑客,我可以使用,如“。”或“默认”,但我还没有猜到。我也尝试了MSSQLSERVER,但也没用。
答案 0 :(得分:9)
运行此查询:
SELECT @@SERVERNAME + '\' + @@SERVICENAME AS InstanceName
并将结果用作实例名称。
答案 1 :(得分:3)
如果您配置了默认实例,只需使用服务器主机名作为实例
答案 2 :(得分:2)
所有SQL服务器实例都存储在Windows Registry.中您可以使用Windows工具C:\Windows\System32\Regedt32.exe
查询注册表并在那里浏览/搜索,您可以使用{{3甚至是T-SQL(也称为Transact-SQL)。
在这个答案中,我将向您展示如何使用 T-SQL 进行操作。使用我发现C# (see Example 1 there)的脚本来确定ServerName,InstanceName,HostName和PortNumber:
set nocount on
Declare @key Varchar(100), @PortNumber varchar(20)
if charindex('\',CONVERT(char(20), SERVERPROPERTY('servername')),0) <>0 begin
set @key = 'SOFTWARE\MICROSOFT\Microsoft SQL Server\'+@@servicename+'\MSSQLServer\Supersocketnetlib\TCP'
end else begin
set @key = 'SOFTWARE\MICROSOFT\MSSQLServer\MSSQLServer\Supersocketnetlib\TCP'
end
EXEC master..xp_regread @rootkey = 'HKEY_LOCAL_MACHINE', @key = @key,
@value_name = 'Tcpport', @value = @PortNumber OUTPUT
SELECT CONVERT(char(20), SERVERPROPERTY('servername')) ServerName,
CONVERT(char(20), SERVERPROPERTY('InstanceName')) InstanceName,
CONVERT(char(20), SERVERPROPERTY('MachineName')) as HostName,
convert(varchar(10), @PortNumber) PortNumber
如果InstanceName
为null
,则表示没有配置命名实例,那么您有两个非独占选项:
ServerName
以访问默认实例Inst1
。指定(local)\Inst1,1433
即可访问它。当然,您也可以使用ServerName代替(local)
重要事项:设置别名后,需要重新启动相关实例的SQL服务或重启PC,否则无法立即访问。如果您使用的是默认端口1433以外的端口,则可能需要打开本地防火墙才能使其正常工作。注意:如果您没有在开始菜单中找到它,可以在C:\ Windows \ System32中找到SQL Server配置管理器。查找SqlServerManagerXX.msc(其中XX是SQL版本,例如XX = 11或XX = 13)。
答案 3 :(得分:0)
试试MSSQLSERVER
。根据{{3}},这可能是默认实例名称。
答案 4 :(得分:0)
安装向导将采用MSSQLSERVER,这意味着“默认”实例。
请参阅MSDN page
中的第12步