Düzeltme: bir SQL Server 2000 SP3 server bilgisayarına bağlanmaya çalıştığınızda bir "SSPI içeriği üretilemiyor" hata iletisini alıyorsunuz

Özet

Sunucu adı Internet Protokolü (IP) adresi çözümlenemezse bağlantı bir istemci bilgisayarından Microsoft SQL Server 2000 Service Pack 3 (SP3) sunucu bilgisayarına bağlanmaya çalıştığınızda, bir hata iletisiyle başarısız olur. Bu davranış, dbnetlib, ConnectionGetSvrUser işlevinin dönüş değeri SQLOLEDB hatalı yorumlaması nedeniyle oluşur.

  • Düzeltme, bu sorunu giderir.

  • Bu soruna geçici bir çözüm için istemci bilgisayarda el ile bir IP adresi için ana bilgisayar girdisi oluşturun.

  • Sorunu yeniden oluşturmak için oluşturmak dinamik sunucu bilgisayarın IP adresini yapılandırın ve sonra istemci bilgisayardan SQL Query Analyzer veya satır kümesi Görüntüleyicisi'ni kullanarak sunucu bilgisayara bağlayın.

Belirtiler

Bir istemci bilgisayar bir Microsoft SQL Server 2000 SP3 server bilgisayarına bağlanmaya çalıştığınızda, Internet Protokolü (IP) adresi sunucu adı çözümlenemiyor ve bağlantı başarısız olur.

SQL Query Analyzer ile SQL Server 2000 SP3 sunucu bilgisayara bağlandığınızda, aşağıdaki hata iletisini alırsınız:

Sunucu: Msg 11004, düzey 16, State 1
[Microsoft] [ODBC SQL Server sürücüsü] SSPI içeriği üretilemiyor.

Satır Kümesi Görüntüleyicisi'ni kullanarak bir SQL Server 2000 server bilgisayarına bağlanmak için SQL Server OLE DB sağlayıcısı (SQLOLEDB) kullandığınızda, aşağıdaki hata iletisini alırsınız:

Kaynak: "Microsoft OLE DB Provider for SQL Server"

Arabirim: IID_IDBInitialize
Sonuç: 0x80004005 E_FAIL =

ISQLErrorInfo: [HY000] [0x00002afc]
IErrorInfo: [0x00002afc] "SSPI içeriği üretilemiyor"

Dosya: D:\MDACTools\rowsetviewer\CBase.cpp
Satır: 1067

Neden

Ayrıca bu işlev döndüren bir Boolean değeri SQLOLEDB dbnetlib Kitaplığı ConnectionGetSvrUser işlevini çağırdığında, yanlış olarak yorumlar. ConnectionGetSvrUser işlevi bir void dönüş için tasarlanmıştır. Bu nedenle, ne olursa olsun EAX kayıttaki bulunduğu dönüş değeri olur.


ConnectionGetSvrUser işlevi gethostbyaddr işlevi dahili olarak çağırır. Gethostbyaddr işlevi, belirli bir IP adresine karşılık gelen bir ana bilgisayar adını alır. Gethostbyaddr işlevi başarısız olursa, EAX kaydetmesi için bir sıfır karakteri döndürür. Bu nedenle, ConnectionGetSvrUser işlevi FALSE değerini döndürür. Bu davranış SQL Server 2000 SP3 sunucu bilgisayara oturum açma hatası neden olur.


Çözüm

Microsoft, desteklenen bir düzeltmeyi kullanıma sunmuştur. Ancak bu düzeltme yalnızca bu makalede anlatılan sorunu düzeltmek amacıyla hazırlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın.

İndirilebilir bir düzeltme varsa, bu Bilgi Bankası makalesinin üst kısmında "Düzeltme İndirilebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek bölümüne bir istek gönderin.

Not: Ek sorunlar oluşursa veya sorun giderme gerekiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Tam listesi Microsoft Müşteri Hizmetleri ve destek telefon numaralarını veya ayrı bir hizmet isteği oluşturmak için aşağıdaki Microsoft Web sitesini ziyaret edin:

http://support.microsoft.com/contactus/?ws=supportNot: "Düzeltme indirilebilir” formu, düzeltmenin indirilebildiği dilleri görüntüler. Kendi dilinizi görmüyorsanız, bu dil için bir düzeltme mevcut değil demektir. Bu düzeltmenin İngilizce sürümü dosya özniteliklerine (veya daha yenisi) aşağıdaki tabloda listelenen. Bu dosyaların tarihleri ve saatleri koordinatlı evrensel saat'te (UTC) listelenmiştir. Dosya bilgilerini görüntülediğinizde koordinatlı evrensel saat yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat aracında saat dilimi sekmesini kullanın.
Date Time Version Size File name
--------------------------------------------------------------

15-Jun-2004 00:22 2000.85.1045.0 28,672 Dbnmpntw.dll
15-Jun-2004 00:21 2.80.1045.0 147,456 Msadds.dll
15-Jun-2004 00:21 2.80.1045.0 512,000 Msado15.dll
15-Jun-2004 00:21 2.80.1045.0 163,840 Msadomd.dll
15-Jun-2004 00:21 2.80.1045.0 184,320 Msadox.dll
15-Jun-2004 00:21 2.80.1045.0 53,248 Msadrh15.dll
15-Jun-2004 00:21 2.80.1045.0 225,280 Msdaora.dll
15-Jun-2004 00:21 2.80.1045.0 147,456 Msdart.dll
15-Jun-2004 00:21 2.575.1045.0 139,264 Msorcl32.dll
15-Jun-2004 00:21 3.525.1045.0 221,184 Odbc32.dll
15-Jun-2004 00:22 2000.85.1045.0 24,576 Odbcbcp.dll
15-Jun-2004 00:21 2.80.1045.0 442,368 Oledb32.dll
15-Jun-2004 00:21 2000.85.1045.0 503,808 Sqloledb.dll
15-Jun-2004 00:21 2000.85.1045.0 401,408 Sqlsrv32.dll
15-Jun-2004 00:08 2000.85.1045.0 208,896 Sqlxmlx.dll


Geçici çözüm

Bu soruna geçici bir çözüm için el ile bağlanmak için kullanmak istediğiniz IP adresi için istemci bilgisayarda bir ana bilgisayar girdisi oluşturun.

  1. Windows Explorer'ı başlatın.

  2. Hosts dosyasını bulun ve dosyayı Not Defteri'nde açın.

    Not: Dosya %SystemRoot%\System32\Drivers\Etc yolunda bulabilirsiniz.

  3. Aşağıdaki dosyanın sonuna ekleyin:
    Rastgele IPBilgisayar adı

    Not: Rastgele IP ağdaki başka bir bilgisayar tarafından kullanılmakta olmayan bir IP adresi için bir yer tutucudur. Bilgisayar adı üzerinde çalışan SQL Server 2000 SP3 olduğu bilgisayarın adı için bir yer tutucudur. Rasgele bir IP adresi ve Bilgisayar adını ad en az bir boşlukla ayrılmalıdır.

  4. Dosya menüsünde Kaydet' i tıklatın.

  5. Dosyayı kapatın.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla bilgi

Sorunu yeniden oluşturma adımları

Dinamik IP adresi yapılandırma

  1. SQL Server 2000 SP3 çalıştıran bilgisayara yönetici olarak oturum açın.

  2. Denetim Masası'nda Ağ bağlantıları' nı çift tıklatın.

  3. Değiştirmek istediğiniz yerel ağ bağlantısını çift tıklatın.

  4. Yerel alan bağlantısı durum iletişim kutusunda Özellikler' i tıklatın. Yerel ağ bağlantısı özellikleri iletişim kutusu görüntülenir.

  5. Bu bağlantı aşağıdaki öğeleri kullanır kutusunda, Internet Protokolü (TCP/IP)tıklatın ve sonra Özellikler' i tıklatın. Internet Protokolü (TCP/IP) özellikleri iletişim kutusu görüntülenir.

  6. Otomatik olarak bir IP adresi al' ı tıklatın ve sonra Tamam' ı tıklatın.

  7. Yerel ağ bağlantısı özellikleri iletişim kutusunda Kapat' ı tıklatın.


  8. Yerel alan bağlantısı durum iletişim kutusunda Kapat' ı tıklatın.

  9. Başlat'a ve Çalıştır'a tıklayın, cmd yazın ve Tamam'a tıklayın.

  10. Komut isteminde, ping Bilgisayar adınıyazın ve ENTER tuşuna basın.

    Not: Bilgisayar adı SQL Server 2003 çalıştıran bilgisayarın adı için bir yer tutucudur

    Aşağıdakine benzer bir hata iletisi alırsınız:

    Ping Bilgisayar adı [Dinamik IP] 32 bayt veri ile:

    Dinamik IPcevabı: bayt = 32 süre = < 1ms TTL = 128
    Dinamik IPcevabı: bayt = 32 süre = < 1ms TTL = 128
    Dinamik IPcevabı: bayt = 32 süre = < 1ms TTL = 128

    Dinamik IPistatistiklerini ping:
    Paket: Gönderilen = 4, alınan = 4, kaybolan = 0 (%0 kayıp)
    Mili saniye cinsinden yaklaşık dönüş süreleri:
    En azından 0ms, maksimum = 0ms, ortalama = = 0ms
    Not: Dinamik IP dinamik IP bilgisayarın Bilgisayar adı için bir yer tutucudur.

  11. Komut isteminden çıkmak için exityazın ve ENTER tuşuna basın.

  12. Adım c-e. tıklatın yineleyin Aşağıdaki IP adresini kullan.

  13. Dinamik IP adresi IP adresi kutusuna yazın.

    Not: Dinamik IP dinamik IP bilgisayarın Bilgisayar adı için bir yer tutucudur.

  14. Alt ağ maskesi, ağ için alt ağ maskesi kutusuna yazın.

  15. Varsayılan ağ geçidi kutusunda ağınızdaki ağınızdaki başka bir ağa veya Internet'e bağlanan bilgisayarın veya aygıtın IP adresini yazın.

  16. Tercih edilen DNS sunucusu kutusunda, ana bilgisayar adlarını IP adreslerine çözümleyen bilgisayarın IP adresini yazın.

  17. Diğer DNS sunucusu kutusuna, tercih edilen DNS (etki alanı adı sistemi) sunucusu kullanılamazsa kullanmak istediğiniz DNS bilgisayarının IP adresini yazın.

  18. Gelişmiş'e tıklayın. Gelişmiş TCP/IP ayarları görüntülenir.

  19. IP adreslerialtında Ekle'yitıklatın. TCP/IP adresi iletişim kutusu görüntülenir.

  20. Rasgele bir IP adresi IP adresi kutusuna yazın.

    Not: Rastgele IP ağdaki başka bir bilgisayar tarafından kullanılmakta olmayan bir IP adresi için bir yer tutucudur.

  21. Alt ağ maskesi kutusuna ağ alt ağ maskesini yazın ve Ekle' yi tıklatın.

  22. Gelişmiş TCP/IP ayarlarıolarak, Tamam' ı tıklatın.

  23. Internet Protokolü (TCP/IP) özellikleri , Tamam' ı tıklatın. Yerel ağ bağlantısı özellikleri iletişim kutusunda Kapat' ı tıklatın. Yerel alan bağlantısı durum iletişim kutusunda Kapat' ı tıklatın.

SQL Query Analyzer ile bir istemci bilgisayardan SQL Server 2000 SP3 sunucu bilgisayara bağlayın

  1. SQL Query Analyzer'ı Başlat. SQL Server'a Bağlan iletişim kutusu görüntülenir.

  2. SQL Server , Rastgele IPyazın.

    Not: Rastgele IP ağdaki başka bir bilgisayar tarafından kullanılmakta olmayan bir IP adresi için bir yer tutucudur.

  3. Windows kimlik doğrulaması kullanarak bağlanaltında'ı tıklatın.

  4. Tamam'a tıklayın. "Belirtiler" bölümünde açıklanan hata iletisini görürsünüz.

Satır Kümesi Görüntüleyicisi üzerinden istemci bilgisayardan SQL Server 2000 SP3 sunucu bilgisayara bağlayın

  1. Satır Kümesi Görüntüleyicisi'ni başlatın. Microsoft OLE DB RowsetViewer penceresi görüntülenir.

  2. Dosya menüsünde Tam Bağlan' ı tıklatın. Tam Bağlan - Hayır açıklama kullanılabilir iletişim kutusu görüntülenir.

  3. SQLOLEDB sağlayıcısı listesinde, bağlantıaltında tıklatın.

  4. Rastgele IP kaynakaltında veri kaynağı kutusuna yazın.

    Not: Rastgele IP ağdaki başka bir bilgisayar tarafından kullanılmakta olmayan bir IP adresi için bir yer tutucudur.

  5. Loginaltında DBPROMPT_NOPROMPTSor listesinde tıklatın.

  6. Özellikler sekmesinde, Gelişmiş' i tıklatın. IDBProperties::SetProperties iletişim kutusu görüntülenir.

  7. DBPROP_AUTH_INTEGRATED onay kutusunu tıklatıp seçin ve sonra Tamam' ı tıklatın.

  8. Tam Bağlan - Hayır açıklama kullanılabilir iletişim kutusunda, Tamam' ı tıklatın. "Belirtiler" bölümünde açıklanan hata iletisini görürsünüz.

Not: İstemci bilgisayar ve SQL Server 2000 SP3 sunucu bilgisayarın aynı etki alanında olması gerekir. Aynı bilgisayardan Rastgele IP ile SQL Server 2000 SP3 server bilgisayarına bağlanmaya çalıştığınızda hata olmadan SQL Server 2000 SP3 sunucu bilgisayara bağlanır.

Başvurular

Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitelerini ziyaret edin:

ConnectionGetSvrUser
http://msdn2.microsoft.com/en-us/library/Aa470056.aspx

OLE DB Test araçlarına genel bakış
http://msdn2.microsoft.com/en-us/library/ms721219.aspxEk bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

323444 nasıl bir Windows Server 2003'te ağ bağdaştırıcısının IP adresini değiştirme

Ek bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×