Published on

January 9, 2016

Comprendiendo el permiso CONNECT en SQL Server

En SQL Server, el permiso CONNECT juega un papel crucial al permitir a los usuarios conectarse a la instancia o base de datos asociada. Existe tanto a nivel de instancia como de base de datos, otorgando acceso al servidor o a una base de datos específica.

Antes de SQL Server 2012, el permiso se llamaba simplemente CONNECT. Sin embargo, a partir de SQL Server 2012, se conoce como CONNECT SQL a nivel de instancia. A pesar del cambio de nombre, la funcionalidad sigue siendo la misma en ambos casos.

Es importante tener en cuenta que el permiso CONNECT por sí solo no otorga ningún permiso adicional. Solo permite al usuario establecer una conexión con el servidor o la base de datos. Una vez conectado, el usuario puede tener permisos básicos otorgados a través de un grupo de Active Directory (AD) o el rol Público.

El rol Público es un rol incorporado en SQL Server que incluye a todos los usuarios de forma predeterminada. Cualquier permiso otorgado al rol Público es compartido por todos los usuarios.

En ocasiones, los usuarios pueden encontrar fallas de conexión debido a la falta de permisos CONNECT. Por ejemplo, si no se otorga el permiso CONNECT SQL a nivel de instancia, el usuario recibirá un mensaje de error como:

No se puede conectar a (local)\sql2014cs. Error de inicio de sesión para el usuario 'MiInicio'. (Microsoft SQL Server, Error: 18456)

Si al usuario le falta el permiso CONNECT para su base de datos predeterminada, el mensaje de error será:

No se puede conectar a (local)\sql2014cs. No se puede abrir la base de datos predeterminada del usuario. Error de inicio de sesión. Error de inicio de sesión para el usuario 'MiInicio'. (Microsoft SQL Server, Error: 4064)

De manera similar, si un usuario intenta usar una base de datos para la cual no tiene el permiso CONNECT, recibirá el siguiente error:

Msg 916, Nivel 14, Estado 1, Línea 31 El principal del servidor "MiInicio" no puede acceder a la base de datos "Test2" en el contexto de seguridad actual.

Para resolver estos problemas, se puede otorgar el permiso CONNECT faltante utilizando la instrucción GRANT. Por ejemplo:

GRANT CONNECT SQL TO MiInicio

Después de otorgar el permiso CONNECT SQL, el usuario podrá conectarse a la instancia sin ningún problema.

Comprender y gestionar los permisos CONNECT es esencial para garantizar una conectividad fluida y un control de acceso en SQL Server.

Archivado bajo: Microsoft SQL Server, Seguridad, SQLServerPedia Syndication

Etiquetado: permisos de base de datos, microsoft sql server, seguridad, permisos de servidor

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.