Hata: DBO kullanıcı Enterprise Manager'da görüntülemiyor

Makale çevirileri Makale çevirileri
Makale numarası: 305711 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Bir kullanıcının veritabanındaki veritabanının <a1>sahibi</a1> (dbo) kullanıcı Enterprise Manager'da kullanıcılar klasöründe listelenir. Ayrıca, oturum klasöründe Enterprise Manager'da, herhangi bir oturum açma özelliklerini görüntülediğinizde aşağıdaki hata iletilerini alabilirsiniz:
21776 Hata: [SQL-DMO] kullanıcıları koleksiyonunda 'dbo' adı bulunamadı. Bir tam adı, ad çeşitli bölümlerini ayırmak ve yeniden deneyin []'ı kullanın.
Bu sorun, yalnızca sunucuya SQL Server 2000 Service Pack 1 (SP1) uygulandıktan sonra oluşur. Service Pack 1'öncesinde dbo kullanıcı boş bir oturum açma adı ile görüntüler.

Neden

Enterprise Manager hatalı eşleşen bir oturum açma izniniz dışında tüm kullanıcılar filtre uygulama ve dbo kullanıcı, eşleşen bir oturumu yok. Bu davranış, gerçekleşmesi iki olası nedenleri şunlardır:
  • Bu veritabanındaki <a1>sysxlogins</a1> sistem tablosundaki depolanan güvenlik kimlik numarası (SID) göre (örneğin, buıltın\administrators) grup üyeliği yoluyla SQL Server çalıştıran bilgisayara erişim izni olan bir Microsoft Windows NT, kimliği doğrulanmış oturum bir veritabanı oluşturulursa, eşleşen bir SID syslogins sistem tablosunda yok.
  • Bir veritabanı geri yüklenirse burada dbo kullanıcı SıD'SINI sysusers</a0> sistem tablosundaki syslogins</a0> sistem tablosundaki SID ile eşleşiyor değil.

Pratik Çözüm

Veritabanının sahibi, dbo kullanıcı açık olan bir oturumu yoksa, bir açık oturumu olan bir kullanıcıya değiştirin. Örneğin, Sistem Yöneticisi (sa) için veritabanı sahibini değiştirmeniz ve sonra aşağıdaki kodu çalıştırın:
exec sp_changedbowner 'sa'
					

Durum

Microsoft bu sorunun, SQL Server 2000 Service Pack 1 (SP1) için onaylamıştır.

Daha fazla bilgi

Dbo kullanıcı, bir kullanıcı veritabanında eşleşmeyen olup olmadığını belirlemek için <a0></a0>, aşağıdaki sorgu yürütme:

Use <User_Database>

GO

SELECT u.name AS "Name", ISNULL(l.name, 'dbo is unmatched') AS "Matched Login"

FROM sysusers u

     LEFT JOIN master.dbo.syslogins l ON u.sid = l.sid

WHERE u.name = 'dbo'

GO

Başvurular

Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
218172SORUN: Enterprise Manager'da SA parolasını değiştirin (Bu bağlantı, bir kısmı veya tamamı ingilizce olan içeriğe işaret edebilir.
274188SORUN: Çevrimiçi "Artık kullanıcı sorunları giderme" konusu tamamlanmamış
168001SORUN: dump geri yükledikten sonra kullanıcı oturum açma ve/veya izin hataları
246133SQL Server örnekleri arasında oturum ve parolalar nasıl aktarılır
298758SORUN: güvenlik açıkları Auto_Fix seçeneğiyle sp_change_users_login neden olabilir

Özellikler

Makale numarası: 305711 - Last Review: 6 Haziran 2005 Pazartesi - Gözden geçirme: 5.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbbug kbpending KB305711 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:305711

Geri Bildirim Ver

 

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