Script to Get Dynamic Port on Which the SQL Server Instance Listens

Wednesday Oct 2nd 2002 by DatabaseJournal.com Staff
Share:

As every SQL Server DBA might be aware, the default port for SQL Server on which it listens is 1433. But this holds only for the default instance. In a multi-instance environment, the port allocation is dynamic and is potentially different every time SQL Server is restarted. This script can be used to find the dynamic port of an instance.


As every SQL Server DBA might be aware, the default port for SQL Server on which it listens is 1433. But this holds only for the default instance. In a multi-instance environment, the port allocation is dynamic and is potentially different every time SQL Server is restarted. This script can be used to find the dynamic port of an instance, by scanning the registry.

This script gets the current instance name on the fly and needs NO customization. The script supports both SQL Server 7.x and SQL Server 2000.

Author: Vijay Anisetti


-- This script will get the listening port of the 
-- SQL Server, useful for multiple instance servers
-- Vijay Anisetti

CREATE TABLE #GetPort
(
token varchar(100),
value varchar(20))
go

DECLARE @inst varchar(200)
DECLARE @inst1 varchar(100)
IF(charindex('\',@@servername) > 0) 
BEGIN
  SELECT @inst = substring(@@servername,charindex('\',@@servername),50)
  SELECT @inst = 'SOFTWARE\Microsoft\Microsoft SQL
Server'+@inst+'\MSSQLServer\SuperSocketNetLib\Tcp'
  SELECT @inst1 = 'TcpDynamicPorts'
END
 ELSE
BEGIN
  SELECT @inst =
'SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib\Tcp'
  SELECT @inst1 = 'DefaultPort'
END

INSERT #GetPort
    EXEC master..xp_regread 'HKEY_LOCAL_MACHINE', @inst, @inst1 

SELECT value FROM #GetPort
DROP TABLE #GetPort


Back to Database Journal Home

Share:
Home
Mobile Site | Full Site
Copyright 2017 © QuinStreet Inc. All Rights Reserved