dcsimg

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

October 2, 2002


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








The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers