Las credenciales son un nuevo objeto de seguridad a nivel de instancia en SQL Server 2005, que intenta resolver uno de los mayores quebraderos de cabeza con el que los DBAs deben de lidiar a diario. ¿Con qué cuenta se ejecutan las operaciones que acceden a recursos externos de SQL Server?

Un ejemplo, necesitamos crear un procedimiento almacenado que acceda a un fichero de sistema operativo y tenemos inicios de sesión de SQL Server. Para eso aparecen las credenciales. Realmente una credencial no es más que un enlace a una cuenta de sistema operativo, que tiene los privilegios necesarios para ejecutar la acción que necesitamos, pero para lo que no queremos crear un inicio de sesión, porque no tiene porque conectarse a SQL Server.

Un pequeño ejemplo de cómo crear una credencial:

CREATE CREDENTIAL CredencialAntonio WITH IDENTITY=’SQLINTantonio’ ,SECRET=’Pa$$w0rd’

Una vez hemos creado la Credencial, podemos asociarla a un inicio de sesión:

ALTER LOGIN Antonio WITH CREDENTIAL= CredencialAntonio

 ¿Y todo esto para qué? Pues imaginaros que tenemos procedimientos almacenados CLR que acceden a recursos externos de SQL Server, o que queremos enviar un mail utilizando Database Mail, o,…..

Otro de los ejemplos de utilización de las credenciales lo tenemos en las cuentas de Proxy de SQL Server Agent, pero eso será en el siguiente Post J.

Antonio Soto