usuarios usuario una solo puede linea independiente datos create crear contraseña con comandos codigo asignar sql-server azure azure-sql-database

sql-server - usuario - portal login azure



¿Cómo creo un nuevo usuario en una base de datos SQL Azure? (8)

Estoy tratando de usar la siguiente plantilla:

-- ================================================= -- Create User as DBO template for SQL Azure Database -- ================================================= -- For login <login_name, sysname, login_name>, create a user in the database CREATE USER <user_name, sysname, user_name> FOR LOGIN <login_name, sysname, login_name> WITH DEFAULT_SCHEMA = <default_schema, sysname, dbo> GO -- Add user to the database owner role EXEC sp_addrolemember N''db_owner'', N''<user_name, sysname, user_name>'' GO

Me gustaría crear un usuario llamado user1 con una contraseña de ''user1pass''. Me conecté con mi base de datos predeterminada ''autenticación'' y tengo una ventana de consulta abierta.

Pero la plantilla no tiene sentido para mí. Por ejemplo, ¿qué es sysname ?, ¿dónde proporciono la contraseña y qué debo usar como default_schema?

El usuario particular necesita tener el poder de hacer todo. Pero ¿cómo lo configuro para que pueda hacer todo? ¿Se hace eso si hago que el usuario sea propietario de la base de datos?

Hasta ahora lo he intentado:

CREATE USER user1, sysname, user1 FOR LOGIN user1, sysname, user1 WITH DEFAULT_SCHEMA = dbo, sysname, dbo GO

Dando:

Msg 102, nivel 15, estado 1, línea 1 Sintaxis incorrecta cerca de '',''.

y:

CREATE USER user1 FOR LOGIN user1 WITH DEFAULT_SCHEMA = dbo GO

Dando:

Msg 15007, nivel 16, estado 1, línea 1 ''usuario1'' i

no es un inicio de sesión válido o no tiene permiso.


Consulte este enlace para obtener toda la información: https://azure.microsoft.com/en-us/blog/adding-users-to-your-sql-azure-database/

Primero necesita crear un inicio de sesión para SQL Azure, su sintaxis es la siguiente:

CREATE LOGIN username WITH password=''password'';

Este comando necesita ejecutarse en el maestro 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 primero se crea un inicio de sesión en el nivel del servidor y luego se asigna a un usuario en cada base de datos.

HTH


Creo que las plantillas usan la siguiente notación: nombre de la variable, tipo de variable, valor predeterminado.

Sysname es un tipo de datos integrado que puede contener los nombres de los objetos del sistema.

Está limitado a 128 caracteres Unicode.

-- same as sysname type declare @my_sysname nvarchar(128);


Encontré este enlace muy útil:
https://azure.microsoft.com/en-gb/documentation/articles/sql-database-manage-logins/

Detalla cosas como:
- Cuenta de abonado de Azure SQL Database
- Usar usuarios de Azure Active Directory para acceder a la base de datos
- Cuentas de principal a nivel de servidor (acceso sin restricciones)
- Agregar usuarios a la dbmanager base de datos de dbmanager

Usé esta y la respuesta de Stuart para hacer lo siguiente:
En la base de datos master (vea el enlace en cuanto a quién tiene permisos sobre esto):

CREATE LOGIN [MyAdmin] with password=''ReallySecurePassword''

Y luego en la base de datos en cuestión:

CREATE USER [MyAdmin] FROM LOGIN [MyAdmin] ALTER ROLE db_owner ADD MEMBER [MyAdmin]

También puede crear usuarios como este, según el enlace:

CREATE USER [[email protected]] FROM EXTERNAL PROVIDER;


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 con éxito 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


Simplemente puede crear un usuario contenido en SQL DB V12.

Create user containeduser with password = ''Password''

El ingreso de usuario contenido es más eficiente que el inicio de sesión en la base de datos utilizando el inicio de sesión creado por el maestro. Puede encontrar más detalles @ http://www.sqlindepth.com/contained-users-in-sql-azure-db-v12/



crea un usuario y luego agrega un usuario a un rol específico:

CREATE USER [test] WITH PASSWORD=N''<strong password>'' go ALTER ROLE [db_datareader] ADD MEMBER [test] go


Editar - Usuario contenido (v12 y posterior)

A partir de Sql Azure 12, las bases de datos se crearán como bases de datos contenidas, lo que permitirá que los usuarios se creen directamente en su base de datos, sin la necesidad de un servidor de inicio de sesión a través de maestro.

CREATE USER [MyUser] WITH PASSWORD = ''Secret''; ALTER ROLE [db_datareader] ADD MEMBER [MyUser];

Tenga en cuenta que cuando se conecta a la base de datos cuando usa un usuario contenido, siempre debe especificar la base de datos en la cadena de conexión.

Inicio de sesión tradicional en el servidor - Usuario de la base de datos (Pre v 12)

Solo para agregar a la respuesta de @Igorek, puede hacer lo siguiente en Sql Server Management Studio:

Crear el nuevo inicio de sesión en el servidor
En el master (a través de las Available databases desplegable en SSMS, esto se debe a que USE master no funciona en Azure):

crea el inicio de sesión:

CREATE LOGIN username WITH password=''password'';

Crear el nuevo usuario en la base de datos
Cambie a la base de datos real (nuevamente a través de la lista desplegable de bases de datos disponibles o una nueva conexión)

CREATE USER username FROM LOGIN username;

(He supuesto que desea que el usuario y los inicios de sesión se vinculen como username , pero cambie 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, un usuario de la aplicación debería tener menos privilegios que dbo ).