sql >> Database >  >> RDS >> Sqlserver

Toegang tot SQL Server Login beperken tot slechts één database

Ik denk dat dit is wat we heel graag doen.

--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

Als u al eerder een gebruiker hebt aangemaakt en aan die database hebt toegewezen door

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

verwijder het dan vriendelijk door hieronder te doen en volg de stappen

   USE yourDB;
   GO
   DROP USER newlogin;
   GO

Volg de links voor meer informatie:

Verbergen databases voor een login op Microsoft Sql Server 2008R2 en hoger



  1. Eenheidstesten voor PL/SQL

  2. In SQL Server 2008 kan ik tabelwaardeparameter doorgeven aan mijn opgeslagen procedure van NHibernate. Hoe hetzelfde te bereiken in Oracle

  3. MySQL Is het mogelijk om een ​​subquery te doen na de LIMIT-syntaxis? Zo niet, waarom?

  4. Mysql drop-gebruiker met subsidies voor meerdere hosts