Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Sembunyikan database SQL dari Management Studio

Setelah berjam-jam mencoba mencari cara membuat akun pengguna yang hanya memiliki akses ke 1 DB, dan hanya dapat melihat DB itu. Saya pikir saya menemukan jawabannya!!!!

  1. Buat akun pengguna ( pastikan tidak dipetakan ke Basis Data apa pun, jika tidak, Anda akan mendapatkan kesalahan terakhir Msg 15110, Level 16, Status 1 dan catat solusi yang diusulkan )

    USE [master]
    GO
    CREATE LOGIN [us4] 
        WITH PASSWORD=N'123', 
        DEFAULT_DATABASE=[master], 
        CHECK_EXPIRATION=OFF, 
        CHECK_POLICY=OFF
    
  2. Klik Kanan pada bagian atas SQL (Nama SQLSERVER)>Properties>Permissions>Klik user account , dan pilih Deny untuk melihat database.

    use [master]
    GO
    DENY VIEW ANY DATABASE TO [us4]
    
  3. Klik kanan pada DB, Properties, Files yang baru dibuat, dan ubah Pemilik menjadi akun yang baru dibuat.(catatan penting :ALTER ROLE [db_owner] ADD MEMBER [us4] tidak berfungsi )

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

Pada titik ini, setelah pengguna masuk, dia akan melihat Master, tempdb dan juga akan melihat DB baru yang merupakan Pemilik DB. Anda mungkin ingin pergi ke Tools>Option dan mengaktifkan opsi untuk menyembunyikan objek sistem sehingga Anda tidak menampilkan master,tempdb,dll. Anda mungkin juga memerlukan SP1 jika opsi ini tidak berfungsi

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

solusi yang diusulkan untuk Msg 15110: untuk mengatasi kesalahan di atas cukup hapus pengguna dari simpul keamanan basis data dan coba lagi

Semoga membantu...

Nikhil



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kerangka kerja entitas sangat lambat dimuat untuk pertama kalinya setelah setiap kompilasi

  2. Pertanyaan Desain Basis Data - Kategori / Subkategori

  3. mengisolasi sub-string dalam string sebelum simbol di SQL Server 2008

  4. Gunakan kembali bidang alias dalam pernyataan SQL SELECT

  5. Apakah ada fungsi Max di SQL Server yang mengambil dua nilai seperti Math.Max ​​di .NET?