Bagikan melalui


MSSQLSERVER_916

Berlaku untuk: SQL Server

Detail

Atribut Nilai
Nama Produk SQL Server
ID Peristiwa 916
Sumber Kejadian MSSQLSERVER
Komponen SQLEngine
Nama Simbolis NOTUSER
Teks Pesan Prinsipal server "%.*ls" tidak dapat mengakses database "%.*ls" di bawah konteks keamanan saat ini.

Penjelasan

Login tidak memiliki izin yang memadai untuk menyambungkan ke database bernama. Login yang dapat tersambung ke instans SQL Server ini tetapi tidak memiliki izin khusus dalam database menerima izin pengguna tamu. Ini adalah langkah keamanan untuk mencegah pengguna dalam satu database menyambungkan ke database lain di mana mereka tidak memiliki hak istimewa. Pesan kesalahan ini dapat terjadi ketika pengguna tamu tidak memiliki izin CONNECT ke database bernama dan properti tepercaya tidak diatur. Pesan kesalahan ini dapat terjadi ketika pengguna tamu tidak memiliki izin CONNECT ke database bernama.

Saat izin CONNECT ke database msdb ditolak atau dicabut, SQL Server Management Studio dapat menerima kesalahan ini ketika Object Explorer mencoba menampilkan status Manajemen Berbasis Kebijakan dari setiap database. Object Explorer menggunakan izin login saat ini untuk mengkueri database msdb untuk informasi ini, yang menyebabkan kesalahan. Pesan kesalahan berikut juga terjadi:

Gagal mengambil data untuk permintaan ini. (Microsoft.SqlServer.Management.Sdk.Sfc)

Tindakan Pengguna

Peringatan

Sebelum menghindari langkah-langkah keamanan ini, pastikan untuk memiliki pemahaman yang jelas tentang pengguna diautentikasi dalam berbagai database. Metode berikut mungkin memungkinkan pengguna yang memiliki izin dalam satu database untuk menyambungkan ke database lain yang dapat mengekspos data ke pengguna berbahaya. Saat database mandiri diaktifkan, langkah-langkah berikut dapat memungkinkan pemilik database dalam satu database untuk memberikan akses ke database lain pada instans SQL Server.

Anda bisa menyambungkan ke database dengan salah satu cara berikut:

  • Berikan akses masuk tertentu ke database bernama. Contoh berikut memberikan akses masuk Adventure-Works\Larry ke msdb database.

    USE msdb ;
    
    GO
    
    GRANT CONNECT TO [Adventure-Works\Larry] ;
    
  • Berikan izin CONNECT ke database bernama dalam pesan kesalahan untuk pengguna tamu. Contoh berikut memberikan CONNECT izin ke msdb database untuk pengguna guest.

    USE msdb ;
    
    GO
    
    GRANT CONNECT TO guest ;
    
  • Aktifkan properti TRUSTWORTHY pada database yang telah mengautentikasi pengguna.

    ALTER DATABASE AdventureWorks SET TRUSTWORTHY ON;