我正在安装一些软件,我需要告诉它使用SQL Server的默认实例,但是Installshield GUI坚持认为我输入了指定实例的信息。如果需要“命名实例”参数,如何连接到SQL Server的默认实例?
目标的SQL Server 2008R2是版本
我希望有一个干净的黑客,我可以使用诸如“”或“默认”,但我还没有猜到它。我也尝试过MSSQLSERVER,但这也不起作用。
我正在安装一些软件,我需要告诉它使用SQL Server的默认实例,但是Installshield GUI坚持认为我输入了指定实例的信息。如果需要“命名实例”参数,如何连接到SQL Server的默认实例?
目标的SQL Server 2008R2是版本
我希望有一个干净的黑客,我可以使用诸如“”或“默认”,但我还没有猜到它。我也尝试过MSSQLSERVER,但这也不起作用。
使用这个剧本,我发现here,确定服务器名,实例名,主机名和端口号:
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\'[email protected]@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 Server配置管理器,可以在C:\ Windows \ System32下。查找SqlServerManagerXX.msc(其中XX是SQL版本,例如XX = 11或XX = 13)。
尝试MSSQLSERVER
。这可能是根据this MSDN page的默认实例名称。
运行此查询:
SELECT @@SERVERNAME + '\' + @@SERVICENAME AS InstanceName
,并使用结果作为你的实例名。
安装向导将采用MSSQLSERVER这意味着“默认”实例。
见步骤12中MSDN page
如果您配置只使用服务器主机名作为实例的默认实例
问题是旧的,但我想现在我有一个答案给你! (请参阅** [这里](https://stackoverflow.com/a/46238551/1016343)**) – Matt 2017-09-15 11:53:56