Create a valid connection string using TCP/IP

Applies to: SQL Server - Windows only

To create a valid connection string using TCP/IP, you must:

  • Specify an Alias Name.

  • For the Server, enter either a server name to which you can connect using the ping utility, or an IP address to which you can connect using the ping utility. For a named instance, append the instance name.

  • Specify TCP/IP for the Protocol.

  • Optionally, enter a port number for the Port No. The default is 1433, which is the port number of the default instance of the Database Engine on a server. To connect to a named instance or a default instance that isn't listening on port 1433, you must provide the port number, or start the SQL Server Browser service. For information on configuring the SQL Server Browser service, see SQL Server Browser Service.

At the time of connection, the SQL Server Native Client component reads the server, protocol, and port values from the registry for the specified alias name, and creates a connection string in the format tcp:<servername>[\<instancename>],<port> or tcp:<IPAddress>[\<instancename>],<port>.

Note

The Windows Firewall closes port 1433 by default. Because SQL Server communicates over port 1433, you must reopen the port if SQL Server is configured to listen for incoming client connections using TCP/IP. For information on configuring a firewall, see "How to: Configure a Firewall for SQL Server Access" in SQL Server Books Online or review your firewall documentation.

SQL Server and SQL Server Native Client fully support both Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6). SQL Server Configuration Manager accepts both IPv4 and IPv6 formats for IP addresses. For information on IPv6, see "Connecting Using IPv6" in SQL Server Books Online.

Connect to the local server

When connecting to SQL Server running on the same computer as the client, you can use (local) as the server name. This value isn't encouraged as it leads to ambiguity, however it can be useful when the client is known to be running on the intended computer. For instance, when creating an application for mobile disconnected users, where SQL Server runs on laptop computers and stores project data, a client connecting to (local) would always connect to the SQL Server running on the laptop. The word localhost or a period (.) can be used in place of (local).

Verify your connection protocol

The following query returns the protocol used for the current connection.

SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;

Examples

Connecting by server name:

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server <servername>

Connecting by server name to a named instance:

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server <servername>\<instancename>

Connecting by server name to a specified port:

Setting Value
Alias Name <serveralias>
Port No <port>
Protocol TCP/IP
Server <servername>

Connecting by IP address:

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server <IPAddress>

Connecting by IP address to a named instance:

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server <IPAddress>\<instancename>

Connecting by IP address to a specified port:

Setting Value
Alias Name <serveralias>
Port No <port number>
Protocol TCP/IP
Server <IPAddress>

Connecting to the local computer using (local):

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server (local)

Connecting to the local computer using localhost:

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server localhost

Connecting to a named instance on the local computer localhost:

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server localhost\<instancename>

Connecting to the local computer using a period:

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server .

Connecting to a named instance on the local computer using a period:

Setting Value
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server .\<instancename>

Note

For information on specifying the network protocol as a sqlcmd parameter, see sqlcmd - Connect to the database engine.

See also