When initially installed, SQL Server
enables the Shared Memory protocol and disables the remaining protocols.
This provides the greatest default security because only applications
running locally to the SQL Server can connect.
To broaden SQL Server availability, you must allow additional network protocols on the server.
Server Configuration Manager
SQL Server Configuration Manager is a
tool to manage the services associated with SQL Server, to configure the
network protocols used by SQL Server, and to manage the network
connectivity configuration from SQL Server client computers.
Network protocols define the common set of rules
and formats that computers and applications use when communicating with
one another. Table 1 lists the protocols available in SQL Server.
Table 1 Three Available Protocols for SQL Server
Shared Memory |
This is an in-memory protocol and thus is only suitable for applications running on the same machine as the SQL Server. |
Named Pipes |
This is an interprocess communications protocol (IPC)
that enables a process to communicate with another process, possibly
running on a different computer, through the use of shared memory. This
protocol typically works well in small and fast local area networks
because it generates additional network traffic during use. In larger
and slower networks, TCP/IP works better. |
TCP/IP |
Transmission Control Protocol/Internet Protocol
(TCP/IP), is widely used today. TCP guarantees the delivery and order of
the information sent between computers, while IP defines the format or
structure of the data sent. TCP/IP also contains advanced security
features that make it attractive to security-sensitive organizations and
users. This protocol works well in larger networks and slower networks. |
The Server Configuration Manager enables for these
various protocols to be enabled, disabled, and configured as
appropriate for the operational environment. You can launch the utility
from the Start menu by selecting Start ? All Programs ? Microsoft SQL
Server 2012 ? Configuration Tools ? SQL Server Configuration Manager.
The Server Configuration Manager presents a list of all the available
protocols and communication options, as shown in Figure 1.
All TCP/IP communications are performed over a
specified port. There are well-known ports such as HTTP (port 80), FTP
(port 21), and SSL (port 443). By default, SQL Server communicates over
port 1433 when using TCP/IP. If communications are performed through a
firewall, this could cause the communication to be blocked. Port 1433
must be opened in a firewall for communications to be possible.
You can also change the port number for instances
of SQL Server. In this way, you can map instances to specific TCP/IP
ports. When you do this, ensure that there is an opening in the firewall
for any ports that you need.
SQL Native Client Connectivity (SNAC)
The SQL Native Client connectivity is
managed through the same Server Configuration Manager. SNAC
installations can initially default the network protocols to enabling
Shared Memory, TCP/IP, and Named Pipes.
SNAC also adds support for large User Defined
Types (UDT). This enables developers to create custom types that are any
arbitrary size. In addition, SNAC supports table value parameters.
Table-valued parameters are declared by using user-defined table types.
You can use table-valued parameters to send multiple rows of data to a
T-SQL statement or a routine, such as a stored procedure or function,
without creating a temporary table or many parameters.
There is a SNAC OLEDB provider, which gives much
better performance in certain circumstances; however, it is being
deprecated from the SQL Server product in lieu of ODBC providers
instead.
If SNAC access is not needed or supported by your
organization, disabling the appropriate network protocols can reduce
your security risks (surface area). You can enable and disable these
protocols from the SQL Server Configuration Manager as shown in Figure 2.