Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Restreindre l'accès à la connexion SQL Server à une seule base de données

Je pense que c'est ce que nous aimons beaucoup faire.

--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 vous avez déjà créé un utilisateur et attribué à cette base de données auparavant en faisant

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

puis veuillez le supprimer en faisant ci-dessous et suivez les étapes

   USE yourDB;
   GO
   DROP USER newlogin;
   GO

Pour plus d'informations, veuillez suivre les liens :

Masquage bases de données pour une connexion sur Microsoft Sql Server 2008R2 et supérieur