Tenemos una base de datos de prueba y algunos inicios de sesión de prueba a los que nos gustaría otorgar acceso a db_owner a través de un script. Por lo general, deberíamos ingresar a los inicios de sesión y hacer clic con el botón secundario en el nombre de usuario e ir a la asignación del usuario, seleccionar la base de datos para asociarla y darle acceso al propietario y hacer clic en OK.SQL Server dando inicio de sesión (usuarios) acceso de db_owner a la base de datos
Respuesta
Es necesario hacer dos cosas, tanto que se ejecuta en el contexto de la base de datos de destino (es decir, ejecutar USE (database)
primero) :
- añadir que el usuario como un inicio de sesión a la base de datos:
CREATE USER [LoginName] FOR LOGIN [LoginName]
- Añadir ese usuario a la función:
EXEC sp_addrolemember N'db_owner', N'LoginName'
En general, si usted tiene SQL Server Management Studio 2005 o superior, se puede entrar en la interfaz de usuario para una operación, rellene el cuadro de diálogo (en este caso, asignando al usuario a la base de datos & agregando roles), y luego haz clic en el botón "Script" en la parte superior. En lugar de ejecutar el comando, escribirá un script para la acción en una nueva ventana de consulta.
Uso sp_addrolemember
sp_addrolemember EXEC 'db_owner', 'MyUser'
he intentado que uno y dice Msg 15410, nivel 11, estado 1, sp_addrolemember procedimiento, línea 75 usuario o función 'QA-Tester1' no existe en esta base de datos. – user516883
Aquí se explica cómo usar ALTER ROLE
con un inicio de sesión de servidor existente llamado MyLogin
.
USE MyDatabase
CREATE USER MyLogin FOR LOGIN MyLogin
ALTER ROLE db_owner ADD MEMBER MyLogin
GO
https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-role-transact-sql
- 1. Restringir el acceso de inicio de sesión de SQL Server a una sola base de datos
- 2. SQL Server Reporting Services Datasource sigue perdiendo credenciales de inicio de sesión de base de datos
- 3. Cómo dar acceso a los procedimientos de correo de la base de datos de SQL Server para iniciar sesión en una base de datos diferente?
- 4. Cómo conectar un inicio de sesión existente de SQL Server a un usuario existente de la base de datos SQL Server del mismo nombre
- 5. SQL Server - ¿Cómo otorgar acceso de lectura a TODAS las bases de datos a un inicio de sesión?
- 6. ¿Cómo otorgo acceso de lectura para un usuario a una base de datos en SQL Server?
- 7. Configurar una base de datos de SQL Server que solo sea visible para ciertos usuarios
- 8. ¿Cuál es la diferencia entre "db_owner" y "el usuario que posee la base de datos" en SQL Server 2000?
- 9. Cómo agregar un grupo de usuarios de Active Directory como inicio de sesión en SQL Server
- 10. Cambiar inicio de sesión predeterminado SQL Server Management Studio (SSMS)
- 11. Acceso de Android a la base de datos SQL remota
- 12. Sesión de SQL Server
- 13. Ocultar la información de inicio de sesión de la base de datos en código PHP
- 14. SQL asignar un inicio de sesión a un usuario existente
- 15. SQL Server: Puede base de datos no está abierto solicitada por el inicio
- 16. Error en el inicio de sesión de SQL Server
- 17. No se puede abrir la base de datos solicitada por el inicio de sesión. El inicio de sesión falló. Falló el inicio de sesión para el usuario
- 18. Migrar la base de datos SQLite a Microsoft SQL Server
- 19. ¿Actualizar la tabla de la base de datos de una tabla de base de datos de SQL Server a otra?
- 20. Cambiar la base de datos predeterminada para un inicio de sesión de SQL Azure
- 21. ¿Cómo obtener acceso exclusivo a la base de datos SQL Server 2005 para restaurar?
- 22. Restaurar la base de datos de SQL Server 2008 a SQL Server 2000
- 23. ¿Cómo convertir la base de datos de SQL Server 2008 R2 a SQL Server 2012?
- 24. Desventajas del uso de SQL Server Compact frente a la base de datos SQL Server dedicada
- 25. Conectar Access 2007 a SQL Server 2008 Base de datos
- 26. ¿Cómo puedo ver la base de datos predeterminada de un inicio de sesión?
- 27. restaurar la base de datos de error de inicio de sesión de usuario
- 28. Traer la base de datos de SQL Server en línea
- 29. ¿Cómo transferir una base de datos Y sus usuarios de un servidor SQL a otro?
- 30. Problema de inicio de sesión de usuario en SQL Server 2008
¿Qué pasa si el usuario ya existe solo necesita ser mapeado a la base de datos primero y luego ejecutar el sp_addrolemember SP. Se puede hacer esto? – user516883
La asignación a la base de datos * es * la primera consulta. Asume que ya se ha creado un inicio de sesión (nombre de usuario/contraseña) en el servidor. Puede verificar si ya han sido mapeados mirando 'sys.database_principals' en la base de datos de destino. – Tadmas
Gracias. exactamente lo que necesitaba – user516883