usuarios usuario una sobre permisos error datos dar crear con codigo asignar acceso sql-server-2008 login-control

sql-server-2008 - usuario - error 18456 sql server



Restringir el acceso de inicio de sesiĆ³n de SQL Server a una sola base de datos (3)

  1. Conéctese a su instancia de servidor SQL utilizando el estudio de administración
  2. Goto Security -> Logins -> (CLIC DERECHO) Nuevo inicio de sesión
  3. complete los detalles del usuario
  4. En Asignación de usuarios, seleccione las bases de datos a las que desea que el usuario pueda acceder y configurar

ACTUALIZAR:

También deseará ir a Security -> Server Roles , y para comprobar en public los permisos para TSQL Default TCP/TSQL Default VIA/TSQL Local Machine/TSQL Named Pipes y eliminar el permiso de connect

Tengo un SQL Server que tiene alrededor de 50 bases de datos.

Deseo crear un nuevo Login de Login para un cliente que desea tener acceso a su base de datos.

Pero no quiero darles acceso a las otras 49 bases de datos .

¿Cómo puedo hacer esto?


Creo que esto es lo que nos gusta hacer mucho.

--Step 1: (create a new user) create LOGIN hello WITH PASSWORD=''foo'', CHECK_POLICY = OFF; -- Step 2:(deny view to any database) USE master; GO DENY VIEW ANY DATABASE TO hello; -- step 3 (then authorized the user for that specific database , you have to use the master by doing use master as below) USE master; GO ALTER AUTHORIZATION ON DATABASE::yourDB TO hello; GO

Si ya creó un usuario y se le asignó a esa base de datos antes, al hacerlo

USE [yourDB] CREATE USER hello FOR LOGIN hello WITH DEFAULT_SCHEMA=[dbo] GO

entonces amablemente elimínelo haciendo abajo y siga los pasos

USE yourDB; GO DROP USER newlogin; GO

Para obtener más información, siga los enlaces:

Ocultar bases de datos para iniciar sesión en Microsoft Sql Server 2008R2 y superior


Para cualquier persona que se pregunte cómo hacer esto, tengo la siguiente solución para SQL Server 2008 R2 y posterior:

USE master go DENY VIEW ANY DATABASE TO [user] go

Esto abordará exactamente el requisito descrito anteriormente.