Red de conocimiento informático - Material del sitio web - ¿Qué significa "canalización con nombre" en el servidor SQL?

¿Qué significa "canalización con nombre" en el servidor SQL?

Tubería con nombre y su uso en SQL Server

1.

Al igual que TCP/IP (Protocolo de control de transmisión o Protocolo de Internet), las canalizaciones con nombre son un protocolo de comunicación. Generalmente se usa en redes de área local porque requiere que el cliente tenga permiso para acceder a los recursos del servidor.

Para explicar este problema, es mejor para mí extraer la información oficial de Microsoft

/library/ms187892.aspx

Para conectarme al motor de base de datos de SQL Server , Los protocolos de red deben estar habilitados. Microsoft SQL Server puede manejar solicitudes a través de múltiples protocolos simultáneamente. Los clientes se conectan a SQL Server mediante un único protocolo. Si el programa cliente no sabe en qué protocolo está escuchando SQL Server, puede configurar el cliente para que pruebe varios protocolos en secuencia. Utilice el Administrador de configuración de SQL Server para habilitar, deshabilitar y configurar protocolos de red.

Memoria compartida

La memoria compartida es el protocolo más simple disponible y no tiene ajustes configurables. Debido a que los clientes que utilizan el protocolo de memoria compartida solo pueden conectarse a instancias de SQL Server que se ejecutan en la misma computadora, es inútil para la mayoría de las actividades de bases de datos. Si sospecha que otros protocolos están mal configurados, utilice el protocolo de memoria compartida para solucionar problemas.

Nota:

Los clientes que utilizan MDAC 2.8 o anterior no pueden utilizar el protocolo de memoria compartida. Si estos clientes intentan usarlo, cambiarán automáticamente al protocolo Named Pipes.

TCP/IP

TCP/IP es un protocolo común muy utilizado en Internet. Se comunica con computadoras con diferentes estructuras de hardware y sistemas operativos en una red interconectada. TCP/IP incluye estándares para enrutar el tráfico de red y proporciona funciones de seguridad avanzadas. Actualmente es el protocolo más utilizado en las empresas. Configurar una computadora para usar TCP/IP puede ser complicado, pero la mayoría de las computadoras en red ya están configuradas correctamente. Para configurar las opciones de TCP/IP que no aparecen en el Administrador de configuración de SQL Server, consulte la documentación de Microsoft Windows.

Named Pipes es un protocolo desarrollado para redes de área local. Una porción de la memoria utilizada por un proceso para pasar información a otro proceso, por lo que la salida de un proceso es la entrada de otro proceso. El segundo proceso puede ser local (en la misma computadora que el primer proceso) o remoto (en una computadora con conexión de red).

VIA

El protocolo Adaptador de interfaz virtual (VIA) se utiliza con el hardware VIA. Para obtener información sobre cómo utilizar VIA, comuníquese con su proveedor de hardware.

Tuberías con nombre y sockets TCP/IP

En un entorno de red de área local (LAN) rápida, el cliente de socket del Protocolo de control de transmisión o Protocolo de Internet (TCP/IP) y Named The Pipes cliente es comparable en términos de rendimiento. Sin embargo, cuanto más lenta sea la red (como una red de área amplia (WAN) o una red de acceso telefónico), más significativa será la diferencia de rendimiento entre el cliente TCP/IP Sockets y el cliente Named Pipes. Esto se debe a que los mecanismos de comunicación entre procesos (IPC) se comunican de manera diferente entre pares.

Para Named Pipes, la comunicación de red es generalmente más interactiva. Un par no envía datos hasta que otro par los solicita mediante un comando de lectura.

Las lecturas de red generalmente consisten en una serie de vistazos a Named Pipes antes de comenzar a leer datos. Esto puede resultar muy costoso en redes lentas y provocar un tráfico de red excesivo, lo que a su vez afecta a otros clientes de la red.

También es importante aclarar si estamos hablando de una tubería local o de una tubería de red. Si la aplicación del servidor se ejecuta localmente en la computadora que ejecuta la instancia de SQL Server, puede elegir el protocolo Named Pipes local. Las canalizaciones con nombre locales se ejecutan en modo kernel y son muy rápidas.

Con los sockets TCP/IP, la transferencia de datos es más eficiente y tiene menos gastos generales. Las transferencias de datos también pueden aprovechar los mecanismos de mejora del rendimiento del socket TCP/IP, como ventanas, acuses de recibo retrasados ​​y más. Esto puede resultar muy beneficioso en redes lentas. Estas diferencias de rendimiento pueden ser significativas para diferentes tipos de aplicaciones.

Los sockets TCP/IP también admiten colas de trabajos pendientes. Esta cola puede tener un efecto de suavizado limitado en comparación con las canalizaciones con nombre, lo que puede provocar errores de canalización ocupada al intentar conectarse a SQL Server.

Generalmente, TCP/IP funciona mejor en una red LAN, WAN o de acceso telefónico lenta. Cuando la velocidad de la red no es un problema, Named Pipes es una mejor opción porque es más potente, más fácil de usar y tiene más opciones de configuración.

Habilitar protocolo

Este protocolo debe estar habilitado tanto en el cliente como en el servidor para funcionar correctamente. El servidor puede escuchar solicitudes de todos los protocolos habilitados simultáneamente. Las computadoras cliente pueden elegir un protocolo o probar los protocolos en el orden que aparece en el Administrador de configuración de SQL Server.

Nota:

Microsoft SQL Server no admite los protocolos de red Banyan VINES Sequential Packet Protocol (SPP), multiprotocolo, AppleTalk o NWLink IPX/SPX. Los clientes que se conectaron previamente utilizando estos protocolos deben elegir un protocolo diferente para conectarse a SQL Server.

En realidad, las canalizaciones con nombre se ven así en el Administrador de configuración de SQL Server. De hecho, después de instalar SQL Server, automáticamente habrá un nombre de canalización. Por supuesto también puedes modificar el nombre.

2. ¿Por qué utilizar canalizaciones con nombre?

Generalmente hay dos razones para usar canalizaciones con nombre

Mejorar la velocidad

Suponiendo que lo mismo ocurre en la LAN, entonces será mejor usar el protocolo de canalización con nombre que el protocolo TCP/IP Sea más rápido.

Aumentar la seguridad

Debido a que las canalizaciones con nombre solo se pueden utilizar en LAN, si el servidor desactiva el protocolo TCP/IP y solo habilita las canalizaciones con nombre, se pueden evitar algunos riesgos de seguridad.

p>

3. ¿Cómo utilizar canalizaciones con nombre?

Para utilizar canalizaciones con nombre para conectarse a SQL Server, la sintaxis aproximada de la cadena de conexión en el código del cliente es la siguiente

"server=.;database=northwind;uid=sa ; pwd=pass@word;Network Library=dbnmpntw"

Si el servidor es una instancia con nombre, entonces

"server=.\instanceName;database=northwind;uid=sa; pwd=pass @word; Network Library=dbnmpntw"

Tenga en cuenta que el protocolo de canalización con nombre debe estar habilitado en el servidor y se debe iniciar el servicio Broswer

Para evitar este tipo de problemas en la cadena de conexión y para evitar la filtración de cierta información confidencial sobre los datos de conexión. SQL Server Native Client también admite la definición de alias