Solución:
Editar: usuario contenido (v12 y posterior)
A partir de Sql Azure 12, las bases de datos se crearán como Bases de datos contenidas que permitirán que los usuarios se creen directamente en su base de datos, sin la necesidad de iniciar sesión en el servidor a través de un maestro.
CREATE USER [MyUser] WITH PASSWORD = 'Secret';
ALTER ROLE [db_datareader] ADD MEMBER [MyUser];
Tenga en cuenta que cuando se conecte a la base de datos cuando utilice un usuario contenido, siempre debe especificar la base de datos en la cadena de conexión.
Inicio de sesión del servidor tradicional: usuario de la base de datos (anterior a 12)
Solo para agregar a la respuesta de @ Igorek, puede hacer lo siguiente en Sql Server Management Studio:
Cree el nuevo inicio de sesión en el servidor
En master
(mediante el Available databases
desplegable en SSMS – esto se debe a USE master
no funciona en Azure):
crear el inicio de sesión:
CREATE LOGIN username WITH password='password';
Crea el nuevo usuario en la base de datos
Cambie a la base de datos real (nuevamente a través del menú desplegable de bases de datos disponibles o una nueva conexión)
CREATE USER username FROM LOGIN username;
(Supuse que desea que el usuario y los inicios de sesión se unan como username
, pero cámbielo si este no es el caso).
Ahora agregue al usuario a los roles de seguridad relevantes
EXEC sp_addrolemember N'db_owner', N'username'
GO
(Obviamente, el usuario de una aplicación debería tener menos privilegios que dbo
.)
Consulte este enlace para obtener toda la información: https://azure.microsoft.com/en-us/blog/adding-users-to-your-sql-azure-database/
Primero debe crear un inicio de sesión para SQL Azure, su sintaxis es la siguiente:
CREATE LOGIN username WITH password='password';
Este comando debe ejecutarse en master db. Solo después puede ejecutar comandos para crear un usuario en la base de datos. La forma en que funciona SQL Azure o SQL Server es que se crea un inicio de sesión primero en el nivel del servidor y luego se asigna a un usuario en cada base de datos.
HTH
Seguí las respuestas aquí, pero cuando intenté conectarme con mi nuevo usuario, recibí un mensaje de error que decía "The server principal 'newuser' is not able to access the database 'master' under the current security context"
.
También tuve que crear un nuevo usuario en la tabla maestra para iniciar sesión correctamente con SSMS.
USE [master]
GO
CREATE LOGIN [newuser] WITH PASSWORD=N'blahpw'
GO
CREATE USER [newuser] FOR LOGIN [newuser] WITH DEFAULT_SCHEMA=[dbo]
GO
USE [MyDatabase]
CREATE USER newuser FOR LOGIN newuser WITH DEFAULT_SCHEMA = dbo
GO
EXEC sp_addrolemember N'db_owner', N'newuser'
GO