Bağlı sunucular için OLE DB sağlayıcısı hatalarını giderme

Özgün KB numarası: 2555855

Summary

Bu makale, Microsoft SQL Server'da OPENROWSET veya OPENDATASOURCE kullanarak bağlı sunucular veya geçici sorgular aracılığıyla T-SQL sorguları çalıştırdığınızda oluşan OLE DB sağlayıcısı hatalarını çözmenize yardımcı olur. Bu hatalar genellikle OLE DB sağlayıcısının yüklenmediğini, kaydedilmediğini veya SQL Server mimarisiyle eşleşmediğini gösterir.

Symptoms

Bağlı sunucuları veya geçici sorguları (veya OPENROWSETkullanarakOPENDATASOURCE) kullanan T-SQL sorguları çalıştırdığınızda aşağıdaki hata iletilerinden birini alabilirsiniz:

OLE DB sağlayıcısı "<ProviderName>" kaydedilmemiş. (Microsoft SQL Server, Hata: 7403)

"<ProviderName>" OLE DB sağlayıcısı için "<LinkedServerName>" bağlı sunucunun bir örneği oluşturulamıyor. (Microsoft SQL Server, Hata: 7302)

Bu hatalar aşağıdakilerden sonra da oluşabilir:

  • SQL Server bir bilgisayardan diğerine geçirin.
  • Veritabanını farklı bir sunucudan master geri yükleyin.

Nedeni

SQL Server aşağıdaki nedenlerden biri nedeniyle belirtilen OLE DB sağlayıcısını başlatamıyor:

  • OLE DB sağlayıcısı veya sürücüsü sunucuda yüklü değil.
  • Yüklü sağlayıcı SQL Server bitlik değeriyle eşleşmiyor (x86 ile x64 karşılaştırması).
  • OLE DB sağlayıcısı yüklü ancak düzgün kaydedilmemiş.

Uyarı

sp_addlinkedserver kullanarak bağlı sunucu oluşturduğunuzda, SQL Server sağlayıcı kullanılabilirliğiyle ilgili hataları hemen bildirmez. Bu hatalar yalnızca bağlı sunucuyu kullanan bir sorgu çalıştırdığınızda görünür.

Çözüm

Sorunu çözmek için verilen sırayla her bölümdeki adımları izleyin.

Yüklü OLE DB sağlayıcılarını veya sürücülerini doğrulama

Aşağıdaki yöntemlerden birini kullanarak SQL Server örneğinizde hangi OLE DB sağlayıcılarının veya sürücülerinin kayıtlı olduğunu denetleyin:

  • SQL Server Management Studio (SSMS), kayıtlı OLE DB sağlayıcılarının veya sürücülerinin listesini görmek için Server Objects>Linked Servers>Providers genişletin.

  • Tüm tanımlı bağlı sunucuları ve ilişkili sağlayıcılarını veya sürücülerini görmek için aşağıdaki sorguyu çalıştırın:

    SELECT * FROM sys.servers;
    

    Döndürülen sütunlar hakkında daha fazla bilgi için bkz. sys.servers (Transact-SQL).

Sağlayıcı veya sürücü yüklemesini doğrulama

Doğru OLE DB sağlayıcısının yüklendiğini ve SQL Server mimarisiyle eşleştiklerini doğrulayın:

  1. Bağlı sunucunuz için gerekli olan sağlayıcının Yüklü OLE DB sağlayıcılarını veya sürücülerini doğrulama bölümünden sağlayıcı listesinde bulunup bulunmadığını denetleyin.

  2. Sağlayıcı eksikse yükleyin:

  3. Sağlayıcı sürümünün SQL Server mimarisiyle eşleştiğinden emin olun. Örneğin, 64 bit SQL Server örneği için 64 bit sağlayıcıyı yükleyin.

Sağlayıcıyı doğrulamaya yönelik diğer yöntemler için bkz. OLE DB sürücü yükleme denetimi.

OLE DB sağlayıcısını kaydetme

Sağlayıcı DLL'i diskte varsa ancak kayıtlı değilse Sağlayıcıyı veya sürücüyü doğrulama sayfasındaki adımları kullanarak sağlayıcıyı veya sürücüyü yeniden yükleyin. Yeniden yükleme, DLL'nin düzgün bir şekilde kaydedilmesini sağlar.

Sağlayıcı bağlantısını doğrulama

OLE DB sağlayıcısının hedef veri kaynağına bağlanabildiğini doğrulamak için Evrensel Veri Bağlantısı (UDL) dosyası kullanın:

  1. Yeni bir .udl test dosyası oluşturun.
  2. Veri Bağlantısı Özellikleri iletişim kutusunu açmak için .udl dosyasına çift tıklayın.
  3. Sağlayıcı sekmesini seçin ve listeden OLE DB sağlayıcısını seçin.
  4. Bağlantı sekmesinde sunucu adını ve kimlik doğrulama ayrıntılarını girin.
  5. Bağlantıyı doğrulamak için Bağlantıyı Test Et'i seçin.

Ayrıntılı adımlar için bkz. UDL dosyası kullanarak SQL Server OLE DB bağlantısını test etme.

Üçüncü taraf bilgileri uyarısı

Bu makalede ele alınan üçüncü taraf ürünleri, Microsoft bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliği hakkında zımni veya başka bir şekilde hiçbir garanti vermez.