Crear cuenta de usuario para acceso a SQL Server

Siempre que he tenido que crear una base de datos en SQL Server lo he hecho desde la consoloa de administración, incluyendo las tareas relativas a la creación de nuevos usuarios y sus autorizaciones sobre las bases de datos creadas.

Hoy sin embargo me ha tocado preparar un script que se encargue de crear una base de datos, crear una cuenta de usuario, y autorizarla sobre la base de datos.

use Master
 
CREATE DATABASE bbddPrueba
GO
 
exec sp_addlogin 'usrPrueba', 'usrPruebaPWD'
GO
 
Use bbddPrueba
 
exec sp_grantdbaccess 'usrPrueba'
GO
 
exec sp_addrolemember 'db_owner','usrPrueba'
GO

Lo que hace el script es muy sencillo. Trabajando primero sobre master, mediante CREATE DATABASE crea la nueva base de datos de nombre bbddPrueba, y crea a continuación el usuario usrPrueba. Después de esto se cambia la base de datos de trabajo a la recién creada use bbddPrueba y se autoriza al usuario a acceder a ella con sp_grantdbaccess. Mediante la última orden, sp_addrolemember, hacemos que el nuevo usuario tome el role de propietario de la base de datos.

Esto último puede no ser lo conveniente en muchas situaciones en las que prefiramos tener un mayor control sobre las acciones que pueden realizar los usuarios. Para estos casos deberemos utilizar otro role que el de db_owner y autorizar las acciones mediante instrucciones GRANT.

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

11 Respuestas para “Crear cuenta de usuario para acceso a SQL Server”

  1. muy bien

  2. no me agrada su informacion

  3. usted tampoco a mi, jose 😉

  4. Alberto Paniagua 24. Nov, 2008 en 4:12 pm

    Hola estimado, gracias por publicar esta forma de crear usuario en SQL, pues no sabia como crear un usuaro mediante codigo, pues estuve buscando mucho tiempo hasta que encontre el script que subiste y eso me ayudo bastante, gracias

  5. lo voy aprobar si resulta estoy le agradesco

  6. ojala funcione lo intentare …. de todos modos gracias

  7. esto funciona en autenticacion de sql

  8. Perfecto. Funcionó a la primera. Gracias

  9. muy bueno funciona gracias

  10. y como podria hacer esto me doy una idea pero no me sale mediante comanbdos
    q un usuario solo pueda select una tabla1 y q no pueda insert a tabla1

  11. puedo crear una autenticación sql ?? si al instalarlo solo solo hicecon autenticación windows