Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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\Larrykemsdbdatabase.USE msdb ; GO GRANT CONNECT TO [Adventure-Works\Larry] ;Berikan izin CONNECT ke database bernama dalam pesan kesalahan untuk pengguna tamu. Contoh berikut memberikan
CONNECTizin kemsdbdatabase untuk penggunaguest.USE msdb ; GO GRANT CONNECT TO guest ;Aktifkan properti TRUSTWORTHY pada database yang telah mengautentikasi pengguna.
ALTER DATABASE AdventureWorks SET TRUSTWORTHY ON;