SQL Server'deki msdb veritabanında konuk kullanıcıyı devre dışı bırakmamalısınız
Bu makalede, SQL Server'deki msdb veritabanında konuk kullanıcıyı devre dışı bırakdığınızda oluşabilecek çeşitli sorunlar açıklanmaktadır.
Özgün ürün sürümü: SQL Server
Özgün KB numarası: 2539091
Msdb veritabanında konuk kullanıcının devre dışı bırakıldığında ortaya çıktığı belirtiler
Bazı Microsoft SQL Server özelliklerinin çalışması için konuk kullanıcının msdb veritabanında etkinleştirilmesi gerekir. Bu makalede, msdb veritabanında konuk kullanıcıyı devre dışı bırakırsanız karşılaşabileceğiniz bazı sorunlar açıklanmaktadır. Makale ayrıca bu sorunların nasıl çözüleceğini de sağlar.
Msdb veritabanında konuk kullanıcı devre dışı bırakıldığında, kullanıcı Management Studio'daki Veritabanları düğümünü genişlettiğinde veya bir sunucu uygulaması SQL Server bağlanmaya çalıştığında hata MSSQLSERVER_916 alabilirsiniz. Bu sorun oluştuğunda ortamınızda aşağıdaki belirtilerden biriyle veya daha fazlası ile karşılaşabilirsiniz.
Not
Hata metni senaryoya bağlı olarak biraz değişiklik gösterebilir. Ancak, temel alınan neden temelde aynıdır. Bu neden msdb veritabanındaki ayrıcalıkların yetersiz olmasıdır. Bu belirtiler, Nesne Gezgini her veritabanının İlke Tabanlı Yönetim durumunu göstermeye çalıştığında ortaya çıkar. Nesne Gezgini bu bilgi için msdb veritabanını sorgulamak için geçerli oturum açma izinlerini kullanır ve bu da hataya neden olur.
Belirti 1
SQL Server 2012 ve sonraki ortamlarda, SQL Server'da Sysadmin sabit sunucu rolünün üyesi olmayan ve msdb'de başka bir şekilde uygun izinler verilmeyen bir kullanıcı Veritabanları düğümünü veya bu düğüm altındaki klasörlerden herhangi birini genişletmeye çalıştığında, aşağıdakine benzer bir hata iletisi alır:
İstenen iletişim kutusu gösterilemiyor. EK BİlGİLER: İstenen iletişim kutusu gösterilemiyor. (SqlMgmt) Transact-SQL deyimi veya toplu işlemi yürütülürken bir özel durum oluştu. (Microsoft.SqlServer.ConnectionInfo)
Sunucu asıl <kullanıcı adı> , geçerli güvenlik bağlamı altında veritabanı msdb'sine erişemiyor. (Microsoft SQL Server, Hata: 916)
Belirti 2
SQL Server 2008 ve SQL Server 2008 R2 ortamlarında, SQL Server'da Sysadmin sabit sunucu rolünün üyesi olmayan ve msdb'de uygun izinlere sahip olmayan bir kullanıcı Veritabanları düğümünü veya bu düğüm altındaki klasörleri genişletmeye çalıştığında, aşağıdakine benzer bir hata iletisi alır:
Bu istek için veri alınamadı. (Microsoft.SqlServer.Manager.Sdk.Sfc)
Ek Bilgiler:
Transact-SQL deyimi veya toplu işlemi yürütülürken bir özel durum oluştu.
(Microsoft.SqlServer.ConnectionInfo)
Sunucu sorumlusu <Servername> , geçerli güvenlik bağlamı altında "msdb" veritabanına erişemiyor. (Microsoft SQL Server, Hata: 916)
Not
Veritabanı düğümünün genişletilmesi, konuk hesabı için msdb veritabanına bağlanma izni gerektiren etkinliklerden yalnızca biridir. Msdb veritabanına en az düzeyde erişim gerektiren herhangi bir etkinlikte de benzer bir hata oluşabilir.
Sorunu belirleme
Konuk kullanıcının msdb veritabanında doğru yapılandırılıp yapılandırılmadığını belirlemek için aşağıdaki sorguyu sysadmin sabit sunucu rolünün bir üyesi olarak çalıştırın:
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
Aşağıdakine benzer bir sonuç kümesi alırsanız, konuk kullanıcı gerekli izinlere sahiptir.
grantee_name | Sınıfı | class_desc | major_id | minor_id | grantee_principal_id | grantor_principal_id | Türü | permission_name | Durum | State_desc |
---|---|---|---|---|---|---|---|---|---|---|
Konuk | 0 | VERİTABANI | 0 | 0 | 2 | 1 | CO | BAĞLAMAK | G | GRANT |
Boş bir sonuç kümesi alırsanız veya burada bahsedilen sonuç kümesinde DENY gösteriliyorsa state_desc
, msdb veritabanında konuk kullanıcı devre dışı bırakılır. Veritabanına bağlandığınızda 916 hatası alabilirsiniz.
Sorunu çözme
Sorunu çözmek için sysadmin sabit sunucu rolünün bir üyesi olarak SQL Server Management Studio aşağıdaki sorguyu çalıştırın:
USE msdb;
GRANT connect TO guest;
GO
Başvurular
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin