sql >> Databasteknik >  >> RDS >> Sqlserver

Begränsa åtkomst till SQL Server-inloggning till endast en databas

Jag tror att det här är vad vi gillar att göra väldigt mycket.

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

Om du redan har skapat en användare och tilldelat den databasen tidigare genom att göra

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

Ta sedan bort det genom att göra nedan och följ stegen

   USE yourDB;
   GO
   DROP USER newlogin;
   GO

För mer information följ länkarna:

Döljer databaser för inloggning på Microsoft SQL Server 2008R2 och senare



  1. Mystisk SQL som blockerar min lagrade procedur från att köras på ORACLE

  2. Hur aktiverar jag MySQL-frågelogg?

  3. Stöder mysqldump en förloppsindikator?

  4. Grundläggande säkerhet, PHP mySQl