Restreindre L'accès au Login du serveur SQL à une seule base de données

j'ai un serveur SQL Server qui contient environ 50 bases de données.

je souhaite créer un nouveau Login pour un client qui souhaite avoir accès à leur base de données.

mais je ne veux pas leur donner accès à l'autre 49 bases de données .

Comment faire?

26
demandé sur DineshDB 2010-11-03 12:36:28

3 réponses

  1. connectez - vous à L'instance de votre serveur SQL en utilisant management studio
  2. Goto Security - > Logins - > (clic droit) nouveau Login
  3. entrer les coordonnées de l'utilisateur
  4. sous cartographie utilisateur, sélectionnez les bases de données que vous souhaitez que l'utilisateur soit en mesure d'accéder et de configurer

mise à jour:

vous voudrez aussi aller Security -> Server Roles , et pour public vérifier les permissions pour TSQL Default TCP/TSQL Default VIA/TSQL Local Machine/TSQL Named Pipes et supprimer la connect permission

22
répondu Irfy 2018-03-22 07:42:47

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

--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 assigné à cette base de données avant en faisant

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

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

   USE yourDB;
   GO
   DROP USER newlogin;
   GO

pour plus d'information s'il vous plaît suivre les liens:

cacher des bases de données pour une connexion sur Microsoft Sql Server 2008R2 et au-dessus

41
répondu kta 2018-03-22 07:40:00

pour quiconque se demande comment faire cela, J'ai la solution suivante pour SQL Server 2008 R2 et plus tard:

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

cela répondra exactement à l'exigence décrite ci-dessus..

1
répondu mhickin 2012-10-17 12:50:06