Как проверить номер порта прослушивания на SQL Server 2005? - PullRequest
2 голосов
/ 12 октября 2011

Я хотел бы узнать номер порта прослушивания, который находится на сервере SQL. Это должно быть сделано через транзакцию SQL. Кроме того, есть ли способ узнать, является ли это статическим или динамическим портом?

Я пробовал Google до сих пор, но пока безуспешно.

Запуск сценариев T-SQL вернул следующую ошибку:

RegOpenKeyEx() returned error 2, 'The system cannot find the file specified.'

1 Ответ

2 голосов
/ 12 октября 2011

http://smartypeeps.blogspot.com/2006/11/t-sql-script-to-find-nw-port-of-sql.html

set nocount on
DECLARE @test varchar(20), @key varchar(100)
if charindex('\',@@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=@test OUTPUT

SELECT 'Server Name: '+@@servername + ' Port Number:'+convert(varchar(10),@test)

OR

http://sql -articles.com / блоги / как к найти-TCPIP-порт-через-T-SQL /

DECLARE @key VARCHAR(50), @RegistryPath VARCHAR(200)

IF (SERVERPROPERTY('INSTANCENAME')) IS NULL    
BEGIN    
SET @RegistryPath='Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp\'    
END    
ELSE    
BEGIN    
SET @RegistryPath='Software\Microsoft\Microsoft SQL Server\'+CONVERT(VARCHAR(25),SERVERPROPERTY('INSTANCENAME')) + '\MSSQLServer\SuperSocketNetLib\Tcp\'    
END    
EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE', @RegistryPath, 'tcpPort'

И выполняется, и возвращает текущий номер порта TCP / IP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...