Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Ogranicz dostęp do SQL Server Login tylko do jednej bazy danych

Myślę, że bardzo lubimy to robić.

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

Jeśli już utworzyłeś użytkownika i przypisałeś go wcześniej do tej bazy danych, wykonując

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

następnie uprzejmie usuń go, wykonując poniższe czynności i postępuj zgodnie z instrukcjami

   USE yourDB;
   GO
   DROP USER newlogin;
   GO

Aby uzyskać więcej informacji, skorzystaj z linków:

Ukrywanie bazy danych do logowania w Microsoft Sql Server 2008R2 i nowszych



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Procedura składowana zwraca wiele zestawów wyników

  2. Porównaj ciągi rozdzielane przecinkami w SQL

  3. Wymagane zapytanie zliczania

  4. Gdzie są zapisywane pakiety SSIS?

  5. Jak określić wartość pola, której nie można przekonwertować na (dziesiętne, zmiennoprzecinkowe, int) w SQL Server?