SQL Azure – New Login

Buenas noches, hace un rato tuve que levantar un SQL en Azure generando el database server y luego la base de datos. Todo esto lo realice desde el Panel de Azure utilizando el usuario Admin.
No hubo problemas de conectarme desde el ManagmentStudio con dicho usuario al servidor, el tema es cuando quise generar un usuario especifico para la base, ya no están las opciones que sí tenemos en el managment de un SQL físico sino que lo tenemos que realizar vía script. Es decir cuando tenemos que agregar un usuario nuevo lo que solemos hacer es lo siguiente:

  1. Agregar un nuevo Login en la raíz principal (no en la base particular) –> Carpeta security Raiz.
  2. Asignarle a ese login la base que queremos que vea junto a los permisos (que es lo que va poder hacer en esa bd)

Todo eso lo hacemos mediante Interface Gráfica pero en SQL Azure cuando le das click a New Login te abre un script:

Bien en este caso tenemos una BD llamada IronTest. Entonces supongamos que queremos generar un nuevo user IronDev que tenga permisos de owner sobre IronTest. Deberíamos hacer lo siguiente:

  1. Generamos el usuario IronDev en la master (Nos posicionamos en la bd master)
CREATE LOGIN IronDev
WITH PASSWORD = 'STRONG PASSWORD'
GO

(*) Aca para la strong password podrian ayudarse de este site que autogenera passwords: https://passwordsgenerator.net/

2. Vamos a la base donde lo queremos asignar, en este caso nos posicionamos en la base IronTest y le generamos el usuario, login y le asignamos el rol

CREATE USER IronDev FROM LOGIN IronDev;
ALTER ROLE db_owner ADD MEMBER IronDev;

3. En este punto deberíamos poder conectarnos pero nos va a dar un Error porque IronDev NO tiene permisos para conectarse a la master! Siempre que nos conectamos desde el Managment intentara conectarse a la master primero. Acá tenemos 2 opciones

a) Dejar todo como esta y cuando nos conectamos desde el el managment, vamos a options y especificamos la base a la cúal nos queremos conectar:

b) Lo otro que podemos hacer, y que es recomendable para no ir a options siempre, es generarle un login al nuevo user en la base master. Entonces nos posicionamos en la bd master y ejecutamos el siguiente script:

CREATE USER IronDev FROM LOGIN IronDev;

4. Nos conectamos con el nuevo user:

Vemos como estamos conectados con el user ironDev y el mismo solo tiene permisos para la base de datos Iron Test

Saludos!
FM