Все экземпляры сервера SQL хранятся в реестре Windows. Вы можете запросить реестр с помощью инструмента Windows C:\Windows\System32\Regedt32.exe
и просматривать / искать там, вы можете сделать это с помощью языка, например C # (см. Пример 1 там) или даже T-SQL (также известный как Transact-SQL).
В этом ответе я покажу вам, как это сделатьэто с T-SQL .Используйте этот скрипт, который я нашел здесь , чтобы определить 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
для доступа к экземпляру по умолчанию - или - - Используйте Sql Server Configuration Manager -> Собственный клиент SQL XX.Y Конфигурация -> Псевдонимы , чтобы определить псевдоним.Например:установит псевдоним
Inst1
для локального сервера SQL.Укажите (local)\Inst1,1433
для доступа к нему.Конечно, вместо (local)
вы также можете использовать имя_сервера. ВАЖНО: После настройки псевдонима необходимо перезапустить службу SQL связанного экземпляра или перезагрузить компьютер, иначе он не будет доступен сразу.Если вы используете порт, отличный от порта по умолчанию 1433, вам может потребоваться открыть локальный брандмауэр, чтобы это работало.
Примечание: Еслиу вас его нет в меню «Пуск», диспетчер конфигурации SQL Server можно найти в C: \ Windows \ System32.Найдите SqlServerManagerXX.msc (где XX - версия SQL, например, XX = 11 или XX = 13).