Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Скриване на SQL база данни от Management Studio

След часове опити да разберете как да създадете потребителски акаунт, който има достъп само до 1 DB и може да вижда само тази DB. Мисля, че разбрах!!!!

  1. Създайте потребителски акаунт (уверете се, че не е съпоставен с никоя база данни, в противен случай ще получите последното съобщение за грешка 15110, ниво 16, състояние 1 и отбележете предложеното решение )

    USE [master]
    GO
    CREATE LOGIN [us4] 
        WITH PASSWORD=N'123', 
        DEFAULT_DATABASE=[master], 
        CHECK_EXPIRATION=OFF, 
        CHECK_POLICY=OFF
    
  2. Щракнете с десния бутон върху горната секция на SQL (име на SQLSERVER)>Properties>Permissions>Щракнете върху user account и изберете Deny за преглед на бази данни.

    use [master]
    GO
    DENY VIEW ANY DATABASE TO [us4]
    
  3. Щракнете с десния бутон върху новосъздадената DB, Properties, Files и променете собственика на новосъздадения акаунт. (важна бележка :ALTER ROLE [db_owner] ADD MEMBER [us4] не работи )

    USE [dbname]
    GO
    EXEC dbo.sp_changedbowner @loginame = N'us4', @map = false
    

В този момент, след като потребителят влезе, той ще види Master, tempdb и също ще види новата DB, на която той е собственик на DB. Може да искате да отидете на Tools>Option и активира опцията за скриване на системни обекти, така че да не показвате master,tempdb и т.н. Може да се нуждаете и от SP1, ако тази опция не работи

Msg 15110, Level 16, State 1, Line 1
The proposed new database owner is already a user or aliased in the database.

предложено решение за Msg 15110: за да разрешите горната грешка, просто изтрийте потребителя от възела за сигурност на базата данни и опитайте отново

Надявам се това да помогне...

Никил



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обединете много колони в една, като запазите сходството и замените разликите

  2. Внедряване на индикатор за производителност на SQL Server за заявки, съхранени процедури и тригери

  3. Коя е най-добрата настройка на SQL Server за среда за разработка?

  4. SQL Pivot с множество колони

  5. SQL:клауза IF в клаузата WHERE