SQL Server - Crear usuario en SQL Express

 
Vista:

Crear usuario en SQL Express

Publicado por Eduardo (7 intervenciones) el 10/02/2013 14:19:49
Buenas. Tengo instalado el Visual Studio 2010 y estoy desarrollando mi primera aplicación de 3 capas en ASP.Net. No tengo intalado ningún SGBD pero estoy usando el motor de BD que se instala por default con el IDE (SQL EXPRESS) y necesito crear un usuario con password vía código ya que obviamente no puedo hacerlo de manera gráfica. Esto para poder usar dicho usuario desde la cadena conexión Favor si pudieran ayudarme.

Un cordial saludo y gracias por alguna respuesta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Crear usuario en SQL Express

Publicado por Isaias (4558 intervenciones) el 11/02/2013 21:13:48
Valida que tipo de AUTENTICACION definiste, y busca la solucion en San Google, de no encontrarla, vuelves y nos preguntas nuevamente

http://www.google.com.mx/#hl=es-419&tbo=d&sclient=psy-ab&q=sql+express+crear+usuario&oq=sql+express+crear+u&gs_l=hp.1.0.0i30j0i8i30l3.1479.8227.0.10626.32.20.5.6.7.0.272.2944.3j10j6.19.0...0.0...1c.1.2.hp.q23u1Ls48gw&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&bvm=bv.42080656,d.b2I&fp=22c7f4139cc96b11&biw=1067&bih=523
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear usuario en SQL Express

Publicado por Eduardo (7 intervenciones) el 17/02/2013 00:32:28
Hola de nuevo. Esto de la autenticación me confunde. Tengo entendido que cuando es con Seguridad integrada, no se requiere password y cualquier usuario logueado en el sistema operativo, puede acceder a la BD. Por otro lado con Autenticación SQL Server, necesita estar registrado como usuario en SQL Sever. Bueno esto es lo que he entendido y lo segundo es lo quiero poner en práctica ya que creo es lo más común en la vida real, espero no equivocarme o ya me estarán corrigiendo.
Para crear un usuario me hice de un procedure que encontré en Google haciéndole unos pequeños cambios quedó como a continuación:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CREATE PROCEDURE [dbo].[pr_CrearLogin]
(
    @USU  VARCHAR(100),
    @CLA  VARCHAR(100),
    @BD   VARCHAR(100)
)
AS
BEGIN TRY
    DECLARE @SQLString NVARCHAR(MAX)
    SET @SQLString = 'CREATE LOGIN [' + UPPER(@USU) + '] WITH PASSWORD=N'''+ @CLA + ''' , DEFAULT_DATABASE=[' + @BD + '], DEFAULT_LANGUAGE=[Español], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON';
    EXECUTE SP_EXECUTESQL @SQLString
 
    SET @SQLString = 'USE ' + @BD;
    SET @SQLString =@SQLString  +  'CREATE USER [' + UPPER(@USU) + '] FOR LOGIN ' + '[' + UPPER(@USU) + ']';
    SET @SQLString =@SQLString  +  ' WITH DEFAULT_SCHEMA = ' + @BD;
    EXECUTE SP_EXECUTESQL @SQLString
 
    --¡¡¡¡¡¡¡SE DEBE CAMBIAR DB_OWNER POR OTRO ROL CON MENOS PERMISOS SOBRE EL SERVIDOR!!!!!
    SET @SQLString = 'EXECUTE SP_ROLEMEMBER "db_owner", [' + UPPER(@USU) + ']'
    EXECUTE SP_EXECUTESQL @SQLString
END TRY
BEGIN CATCH
    PRINT 'NUMERO DE ERROR: ' + CONVERT(VARCHAR,ERROR_NUMBER());
    PRINT 'MENSAJE DE ERROR: ' + ERROR_MESSAGE();
END CATCH;


Al ejecutar el procedure de acuerdo a lo que necesito:
1
EXEC pr_CrearLogin 'USER01', 'PASSWORD', 'DB_PRUEBA'


Me crea el loguin en Server Security / Logins / USER01

Altero el usuario para asignarle DB_PRUEBA y de esa forma me aparece en DB_PRUEBA / SECURITY / USERS / USER01.

Pero sin embargo no puedo loguear en SQL Server. Me arroja "Login failed for user 'USER01'."

No sé qué hago mal, ya busqué bastante en la web pero no consigo dar con la solución.
Favor podrías apoyarme.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar