我正在安裝一些軟件,我需要告訴它使用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