Anda tidak harus menonaktifkan semua pengguna dalam database msdb di SQL Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 2539091 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Ringkasan

SQL Server buku Online merekomendasikan bahwa Anda menonaktifkan semua pengguna dalam database setiap sebagai penerapan terbaik untuk mengamankan database server. Rekomendasi ini tidak sahih tomaster, msdb, dan tempb sistem database.Dalam rangka untuk beberapa fitur Microsoft SQL Server untuk bekerja, semua penggunaharus diaktifkan dalam msdb database. Artikel ini menjelaskan beberapa masalah yang mungkin Anda alami jika Anda menonaktifkan semua pengguna dalam msdb database. Artikel ini juga menyediakan informasi tentang cara mengatasi masalah tersebut.

Untuk informasi lebih lanjut tentang rekomendasi ini dalam SQL Server buku Online, kunjungi website Microsoft Developer Network (MSDN) berikut:

Informasi tentang membatasi akses ke data di SQL Server

Informasi lebih lanjut

Gejala ketika pengguna tamu dinonaktifkan dalam msdb database

Ketika pengguna tamu dinonaktifkan dalam msdb database, Anda mungkin menerima galat 916Ketika kedua node database di Studio manajemen memperluas atau ketika serverapplication seperti OCS berusaha menyambung ke SQL Server.You mungkin mengalami satu atau lebih gejala berikut di lingkungan Anda ketika masalah ini terjadi.

NOteTeks kesalahan sedikit mungkin bervariasi, tergantung pada skenario. Namun, penyebab yang mendasari adalah pada dasarnya sama. Bahwa penyebab adalah kurangnya hak dalam msdb database. Dua gejala pertama terjadi ketika objek Explorer berusaha menunjukkan status manajemen berbasis kebijakan setiap database. Objek Explorer menggunakan izin log masuk saat ini untuk query database msdb untuk informasi ini, yang menyebabkan kesalahan.

Gejala 1

Dalam SQL Server 2008 dan SQL Server 2008 R2 lingkungan, bila pengguna yang bukan anggota Sysadmin tetap peran server di SQL Server dan tidak diberikan izin yang sesuai di msdb mencoba untuk memperluas node database atau salah satu folder di bawah simpul tersebut, mereka menerima pesan galat yang menyerupai berikut ini:

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

Informasi tambahan:

Pengecualian terjadi saat menjalankan Transact-SQL pernyataan atau batch.

(Microsoft.SqlServer.ConnectionInfo)

Kepala server <Servername>ini tidak dapat mengakses database "msdb" dalam konteks keamanan saat ini. (Microsoft SQL Server, kesalahan: 916)</Servername>

Catatan Memperluas Database node adalah salah satu kegiatan yang memerlukan izintautan langsungakun tamu untuk msdbdatabase. Kesalahan serupa dapat terjadi dengan aktivitas apapun yang memerlukan setidaknya sedikit akses ke themsdb database.

Gejala 2

Dalam SQL Server 2005, ketika pengguna yang bukan anggota Sysadmin tetap peran server di SQL Server, dan yang tidak jika tidak diberikan izin yang sesuai di msdb, dapat memperluas node database. Namun, ketika pengguna mencoba untuk melihat sifat-sifat database, mereka menerima pesan galat berikut:

Tidak dapat menunjukkan dialog yang diminta.

INFORMASI TAMBAHAN:
Tidak dapat menunjukkan dialog yang diminta. (SqlMgmt)
Pengecualian terjadi saat menjalankan Transact-SQL pernyataan atau batch. (Microsoft.SqlServer.ConnectionInfo)
Kepala server utama nama tidak dapat mengakses database "msdb" dalam konteks keamanan saat ini. (Microsoft SQL Server, kesalahan: 916)

Catatan Pesan kesalahan terjadi bahkan ketika pengguna adalah anggota dari peran dbo dalam database tersebut.

Gejala 3

Salah satu produk yang terpengaruh oleh masalah ini adalah Microsoft Office Communications Server 2007 (OCS 2007). Front-end layanan tidak mulai ketika Anda mencoba untuk memulai server. Selain itu, Anda melihat pesan galat berikut dalam Event Viewer:

Jenis peristiwa: kesalahan
Sumber peristiwa: OCS pengguna jasa
Kategori peristiwa: (1006)
Event ID: 30962
Tanggal: tanggal
Waktu: waktu
Pengguna: N/A
Komputer: Computer_name
Keterangan: Koneksi ke database back-end berhasil, tapi gagal untuk melaksanakan registrasi disimpan pada back-end. Kesalahan ini seharusnya tidak terjadi di bawah kondisi operasi normal. Hubungi dukungan produk.
Back-end Server: Server_name Database: rtc galat Sql asli: 916 koneksi string: driver = {SQL asli klien};Trusted_Connection = yes;AutoTranslate = tidak ada; server =Server_name; database = rtc;
Sebab: Mungkin masalah dengan database back-end.
Resolusi:
Memastikan back-end berfungsi dengan benar.
Untuk informasi lebih lanjut, lihat membantu dan pusat dukungan http://Go.Microsoft.com/fwlink/Events.asp.

Untuk informasi lebih lanjut, lihat berikut thread di forum dukungan OCS:

http://Social.Microsoft.com/forums/en-US/communicationsserversetup/thread/8b428bd3-0509-4859-ac11-122bdbef06cc

Cara menentukan masalah

Untuk menentukan apakah pengguna semua dikonfigurasi dengan benar dalam msdb database, menjalankan query berikut sebagai anggota dari peran sysadmin tetap server:

USE msdb;

SELECT prins.name AS grantee_name, perms.*

FROM sys.database_permissions AS perms

JOIN sys.database_principals AS prins

ON perms.grantee_principal_id = prins.principal_id

WHERE prins.name = 'guest' AND perms.permission_name = 'CONNECT';

GO

Jika Anda menerima hasil yang ditetapkan yang menyerupai berikut, semua pengguna memiliki izin yang diperlukan.
Perkecil tabel iniPerbesar tabel ini
grantee_namekelasclass_descmajor_idminor_idgrantee_principal_idgrantor_principal_idjenispermission_namenegarastate_desc
Tamu0DATABASE0021COtautan langsungGHIBAH

Jika Anda menerima baik hasil kosong yang ditetapkan atau jika state_desc menunjukkan DENY hasil menetapkan yang disebutkan di sini, semua pengguna dinonaktifkan dalam msdb database. Anda menerima galat 916 bila tersambung ke database.

Bagaimana untuk menyelesaikan masalah

Untuk mengatasi masalah, menjalankan query berikut dalam SQL Server Management Studio sebagai anggota sysadmin tetap peran server:

USE msdb;

GRANT connect TO guest;

GO


Properti

ID Artikel: 2539091 - Kajian Terakhir: 25 Juni 2014 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
Kata kunci: 
kbsurveynew kbexpertiseadvanced kbtshoot kbprb kbmt KB2539091 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.
Klik disini untuk melihat versi Inggris dari artikel ini: 2539091

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com