Düzeltme: SQL Server 2008'de SQL Native Client sağlayıcı tarafından oluşturulan bir bağlantılı sunucu kullandığınızda bazı sorunlar ortaya

Şunlar için geçerlidir: SQL Server 2008 DeveloperSQL Server 2008 EnterpriseSQL Server 2008 Standard

Microsoft, Microsoft SQL Server 2008 düzeltmelerin tek bir indirilebilir dosya olarak dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2008'de bulunan tüm güvenlik düzeltmelerini düzeltin.

Belirtiler


SQL Native Client sağlayıcısı (Sqlncli.dll) kullanarak bir bağlantılı sunucu oluşturduğunuzda, Microsoft SQL Server 2008 çalıştıran bir bilgisayarda bir veya daha aşağıdaki sorunları yaşarsınız.

Not: Bu sorunlar, Microsoft SQL Server 2005 Service Pack 3 (SP3) da oluşur. Ancak, bu makalede anlatılan düzeltme, SQL Server 2005 SP3'e uygulanmaz.

Sorun 1

Aşağıdaki senaryoyu düşünün:
  • SQL Server Management Studio'da yeni bir bağlantılı sunucu penceresini açın ve aşağıdaki ayarlardan birini kullanarak bir bağlantılı sunucu oluşturun:
    • Sunucu türü olarak SQL Server ile SQL Native Client sağlayıcısı
    • Sunucu türünü başka bir veri kaynağı olarak SQL Native Client (değil SQL yerel istemci 10) sağlayıcısı
    • Sunucu türünü başka bir veri kaynağı olarak SQL Server için Microsoft OLE DB sağlayıcısı
  • Bağlantılı sunucular Kataloğu bağlantılı sunucuları görmek için SQL Server Management Studio'da, genişletin.
Bu senaryoda, SQL Server hizmeti beklenmedik biçimde kapanır veya bir mini döküm dosyası sürekli olarak SQL Server hata günlük klasöründe oluşturulur. Bu sorun, SQL Server hizmeti durana kadar devam eder. Ayrıca, SQL Server Management Studio aşağıdaki hata raporları:

Başlık: Microsoft SQL Server Management Studio'da
------------------------------
Bu istek için veri alınamadı. (Microsoft.SqlServer.Management.Sdk.Sfc)

Yardım için tıklatın: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
EK BİLGİ:
Transact-SQL deyimini veya toplu iş yürütme sırasında bir özel durum oluştu. (Microsoft.SqlServer.ConnectionInfo)
------------------------------

Zaman aşımı süresi doldu. Zaman aşımı süresi işlem tamamlanmadan önce geçen veya sunucu yanıt vermiyor. (Microsoft SQL Server, hata: -2)



Not: Sunucu türü SQL ServerSQL Native Client sağlayıcısını kullandığınızda bağlantılı bir sunucu sorgusu çalıştırıyorsanız, bu sorun oluşmaz.

Sorun 2

Aşağıdaki senaryoyu düşünün:
  • ODBC sürücüler için Microsoft OLE DB sağlayıcı kullanarak, bağlantılı sunucu oluşturun.
  • ODBC veri kaynağını diğer veri kaynağıolarak sunucu türü SQL Native Client sağlayıcısı kullanılarak oluşturulur.
Bu senaryoda, bağlantılı sunucu hiçbir sonuç verir.

Çözüm


Bu sorunla ilgili düzeltme, önce SQL Server 2008 Service Pack 1 için toplu güncelleştirme 7'de yayımlanmıştır. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:-
979065 SQL Server 2008 Service Pack 1 için toplu güncelleştirme paketi 7
Not: Derlemeler birikimli olduğu için her yeni düzeltme, bir önceki SQL Server 2008 düzeltme sürümünde bulunan tüm düzeltmeleri ve güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümü uygulama ele almanızı öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:-
970365 SQL Server 2008, SQL Server 2008 Service Pack 1'de yayımlandıktan sonra yayımlanan oluşturur
Microsoft SQL Server 2008 düzeltmeleri belirli SQL Server hizmet paketleri için oluşturulur. SQL Server 2008 Service Pack 1 yüklemesi için bir SQL Server 2008 Service Pack 1 düzeltme uygulamanız gerekir. Varsayılan olarak, bir SQL Server hizmet paketinde sağlanan herhangi bir düzeltme sonraki SQL Server hizmet paketinde bulunmaktadır.

Daha fazla bilgi


Çalışan aşağıdaki sorgu tarafından Sqlncli.dll ve Sqlservr.exe dosyaların sürümlerini doğrulayabilirsiniz:
select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'
Microsoft SQL Server 2008 Service Pack 1 (SP1) veya sonraki sürümleri, Microsoft SQL Server 2008 kullanıyorsanız, sorgu aşağıdaki sürüm bilgileri verir:
  • Sqlncli.dll dosya 9.0:3207.0'dan sonraki bir sürümü vardır.
  • Sqlservr.exe dosyasını 10.0:2531.0, ancak daha önce 10.0:2766.0'dan eşit veya daha sonraki bir sürümü gerekir.
Microsoft SQL Server 2008 RTM veya sonraki sürümleri SQL Server 2008 RTM kullanıyorsanız, sorgu aşağıdaki sürüm bilgileri verir:
  • Sqlncli.dll dosya sürümü daha sonraki sürümü 9.0:3207.0 olacaktır.
  • Sqlservr.exe dosyasını 10.0:1600.0, ancak daha önce 10.0:1835.0'dan eşit veya daha sonraki bir sürümü gerekir.

Geçici çözüm


Bu sorunlarına geçici çözümler bulmak için şu adımları izleyin:

Workaround 1:

1. başarısız olan bağlantılı sunucu silin.

2. SQL Server yerel istemci 10.0 (SQLNCLI10) sağlayıcısını kullanarak yeni bir bağlantılı sunucu oluşturun. Bunu yapmak için:
a. Bağlantılı sunucular üzerinde sağ tıklatın ve Yeni bir bağlantılı sunucuseçin.
b. diğer veri kaynağı seçin ve sağlayıcı için SQL Server yerel istemci 10.0 seçin.

Workaround 2:
  1. Aşağıdaki yolda "SQLNCLI" adlı bir kayıt defteri alt anahtarını oluşturun:
    HKLM\Software\Microsoft\DataAccess
  2. Bu alt anahtarı altında "SQLOSPartitioning" adlı bir türü REG_DWORD kayıt defteri girdisi oluşturun.
  3. Bu girdinin değerini 0x0 olarak ayarlayı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


Kuralı yazılımıKuralı başlıkKural açıklamasıÜrün sürümleri karşı kuralın değerlendirilmesi
Sistem Merkezi DanışmanıSQL Yerel İstemci Hizmetinde Bellek Bozulması önlemek için SQL Server güncelleştirme KB979779 eksikBu sunucu SQL Server 2005'e karşılık gelen bir SQL Native Client sağlayıcısı yok. Bağlantılı sunucuları sağlayıcılarında ve oluşturma sırasında SQLNCLI.dll bu eski sürümü SQL Server 2008 ve SQL Server 2008 R2'de potansiyel olarak yüklenemedi. SQL Server 2008 ve SQL Server 2008 R2, belirli yapıları sorunlar yaşayabilirsiniz ve SQLNCLI.dll oluştururken veya bu ile oluşturulan bir bağlantılı sunucu kullanarak askıda etkilenen. Etkilenen örneklerini SQL Server 2008 ve SQL Server 2008 R2 ile gerekli düzeltmeleri güncelleştirin veya bağlantılı sunucular oluştururken bu SQLNCLI.dll kullanmaktan kaçının.SQL Server 2008

SQL Server 2008 R2


Başvurular


SQL Server için artımlı hizmet modeli hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

935897 artımlı bir hizmet modeli kullanılabilir SQL Server ekibinden bildirilen sorunlar için düzeltmeler sunmak için



SQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:

822499 Microsoft SQL Server yazılım güncelleştirme paketlerinin yeni adlandırma şeması


Yazılım güncelleştirme terminolojisi hakkında daha fazla 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ı