Aracılığıyla paylaş


Bağlı sunucular (Veritabanı Altyapısı)

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Bağlı sunucular, SQL Server Veritabanı Altyapısı ve Azure SQL Yönetilen Örneği'nin uzak veri kaynaklarından veri okumasına ve SQL Server örneği dışında uzak veritabanı sunucularına (ole db veri kaynakları gibi) karşı komut yürütmesine olanak tanır. Genellikle bağlı sunucuları, Veritabanı Altyapısı'nın başka bir SQL Server örneğindeki tabloları içeren bir Transact-SQL deyimini veya Oracle gibi başka bir veritabanı ürününü yürütmesini sağlayacak şekilde yapılandırabilirsiniz. Üçüncü taraf veritabanı sağlayıcıları ve Azure Cosmos DB dahil olmak üzere birçok ole db veri kaynağı türünü bağlı sunucular olarak yapılandırabilirsiniz.

Uyarı

Bağlı sunucular SQL Server ve Azure SQL Yönetilen Örneği'nde kullanılabilir (bazı kısıtlamalarla). Bağlı sunucular Azure SQL Veritabanı'nda kullanılamaz.

Bağlı sunucular ne zaman kullanılır?

Bağlı sunucular, diğer veritabanlarındaki verileri getirebilen ve güncelleştirebilen dağıtılmış veritabanlarını uygulamanıza olanak tanır. Özel uygulama kodu oluşturmadan veya doğrudan uzak veri kaynaklarından yükleme yapmadan veritabanı parçalama uygulamanız gereken senaryolarda bağlı sunucuları kullanın. Bağlı sunucular aşağıdaki avantajları sunar:

  • SQL Server dışından verilere erişim olanağı.

  • Kuruluş genelinde heterojen veri kaynakları üzerinde dağıtılmış sorgular, güncelleştirmeler, komutlar ve işlemler verme olanağı.

  • Farklı veri kaynaklarını benzer şekilde ele alma olanağı.

SQL Server Management Studio'yu veya sp_addlinkedserver deyimini kullanarak bağlı bir sunucu yapılandırabilirsiniz. OLE DB sağlayıcıları, gerekli parametrelerin türüne ve sayısına göre büyük ölçüde farklılık gösterir. Örneğin, bazı sağlayıcılar sp_addlinkedsrvlogin kullanarak bağlantı için bir güvenlik bağlamı sağlamanızı gerektirir. Bazı OLE DB sağlayıcıları SQL Server'ın OLE DB kaynağındaki verileri güncelleştirmesine izin verir. Diğerleri yalnızca salt okunur veri erişimi sağlar. Her OLE DB sağlayıcısı hakkında bilgi için ilgili OLE DB sağlayıcısının belgelerine bakın.

Bağlı sunucu bileşenleri

Bağlı sunucu tanımı aşağıdaki nesneleri belirtir:

  • OLE DB sağlayıcısı

  • OLE DB veri kaynağı

OLE DB sağlayıcısı, belirli bir veri kaynağını yöneten ve bunlarla etkileşim kuran bir DLL'dir. OLE DB veri kaynağı, OLE DB aracılığıyla erişebileceğiniz belirli veritabanını tanımlar. Bağlı sunucu tanımları aracılığıyla sorgulanan veri kaynakları normalde veritabanları olsa da, OLE DB sağlayıcıları çeşitli dosyalar ve dosya biçimleri için mevcuttur. Bu dosyalar düz metin, elektronik tablo verileri ve tam metin içerik aramalarının sonuçlarını içerir.

SQL Server 2019'dan (15.x) başlayarak SQL Server için Microsoft OLE DB Sürücüsü (PROGID: MSOLEDBSQL) varsayılan OLE DB sağlayıcısıdır. Önceki sürümlerde SQL Server Yerel İstemcisi (PROGID: SQLNCLI11) varsayılan OLE DB sağlayıcısıydı.

Önemli

SQL Server Native Client (genellikle kısaltılmış SNAC) SQL Server 2022 (16.x) ve SQL Server Management Studio 19'dan (SSMS) kaldırılmıştır. Hem SQL Server Yerel İstemci OLE DB sağlayıcısı (SQLNCLI veya SQLNCLI11) hem de SQL Server için eski Microsoft OLE DB Sağlayıcısı (SQLOLEDB) yeni geliştirme için önerilmez. İleride SQL Server için yeni Microsoft OLE DB Sürücüsüne (MSOLEDBSQL) geçin.

Microsoft, Excel ve Access kaynaklarına bağlı sunucuları yalnızca 32 bit Microsoft.JET.OLEDB.4.0 OLE DB sağlayıcısını kullandığınızda destekler.

Uyarı

SQL Server dağıtılmış sorguları, gerekli OLE DB arabirimlerini uygulayan tüm OLE DB sağlayıcılarıyla çalışır. Ancak, SQL Server varsayılan OLE DB sağlayıcısına karşı test edilmiştir.

Bağlı sunucu ayrıntıları

Aşağıdaki çizimde bağlantılı sunucu yapılandırmasının temelleri gösterilmektedir.

İstemci katmanını, sunucu katmanını ve veritabanı sunucu katmanını gösteren diyagram.

Genellikle, dağıtılmış sorguları işlemek için bağlı sunucuları kullanırsınız. bir istemci uygulaması bağlı bir sunucu aracılığıyla dağıtılmış bir sorgu yürütürse, SQL Server komutu ayrıştırıp ISTEKLERI OLE DB'ye gönderir. Satır kümesi isteği, sağlayıcıya karşı sorgu yürütme veya sağlayıcıdan bir temel tablo açma biçiminde olabilir.

Bir veri kaynağının bağlı bir sunucu üzerinden veri döndürmesi için, bu veri kaynağının OLE DB sağlayıcısının (DLL) SQL Server örneğiyle aynı sunucuda bulunması gerekir.

Bağlı sunucular, tam yetkilendirme kullanılırken Active Directory aktarım kimlik doğrulamasını destekler. SQL Server 2017 (14.x) CU17'den başlayarak, kısıtlanmış temsil ile doğrudan kimlik doğrulaması da desteklenir; ancak , kaynak tabanlı kısıtlanmış temsil desteklenmez.

Önemli

BIR OLE DB sağlayıcısı kullandığınızda, SQL Server hizmetinin çalıştırıldığı hesabın dizin ve sağlayıcının yüklü olduğu tüm alt dizinler için okuma ve yürütme izinlerine sahip olması gerekir. Bu gereksinim, Microsoft tarafından yayımlanan sağlayıcılar ve üçüncü taraf sağlayıcılar için geçerlidir.

Sağlayıcıları yönetme

SQL Server'ın kayıt defterinde belirtilen OLE DB sağlayıcılarını nasıl yükleyip kullandığını denetleyebilen bir dizi seçenek vardır.

Bağlı sunucu tanımlarını yönetme

Bağlı bir sunucu ayarladığınızda, bağlantı bilgilerini ve veri kaynağı bilgilerini SQL Server'a kaydedin. Kaydedildikten sonra, bu veri kaynağına tek bir mantıksal adla başvurabilirsiniz.

Bağlı sunucu tanımlarını yönetmek için saklı yordamları ve katalog görünümlerini kullanın:

  • komutunu çalıştırarak sp_addlinkedserverbağlantılı bir sunucu tanımı oluşturun.

  • Sistem kataloğu görünümünde bir sorgu sys.servers çalıştırarak SQL Server'ın belirli bir örneğinde tanımlanan bağlı sunucular hakkındaki bilgileri görüntüleyin.

  • komutunu çalıştırarak sp_dropserverbağlı sunucu tanımını silin. Bu saklı yordamı uzak sunucuyu kaldırmak için de kullanabilirsiniz.

Bağlı sunucuları SQL Server Management Studio kullanarak da tanımlayabilirsiniz. Nesne Gezgini'nde Sunucu Nesneleri'ne sağ tıklayın, Yeni'yi seçin ve Bağlı Sunucu'yu seçin. Bağlı sunucu adına sağ tıklayıp Sil'i seçerek bağlantılı sunucu tanımını silebilirsiniz.

Bağlı bir sunucuya karşı dağıtılmış sorgu yürütürken, her veri kaynağı için tam dört parçalı tablo adını kullanın. Bu dört bölümlü ad biçiminde <linked_server_name>.<catalog>.<schema>.<object_name>olmalıdır.

Geçici nesnelere yapılan başvurular, bağlı sunucu adıyla ön ek eklerken bile her zaman yerel örneğe tempdb uygun olduğunda çözümleniyor.

Bağlı sunucuları, tanımladığınız sunucuya geri döngü (loop back) yapmak üzere tanımlayabilirsiniz. Geri döngü sunucuları en çok tek bir sunucu ağında dağıtılmış sorgular kullanan bir uygulamayı test ederken kullanışlıdır. Döngü bağlantılı sunucular test amaçlıdır ve dağıtılmış işlemler gibi birçok işlem desteği sunmaz.

Azure SQL Yönetilen Örneği ile ilişkili sunucular

Azure SQL Yönetilen Örneği bağlı sunucuları, hem SQL kimlik doğrulamasını hem de Microsoft Entra ID ile kimlik doğrulamayı destekler.

Azure SQL Yönetilen Örneği'nin SQL Aracısı işlerini kullanarak bağlı bir sunucu üzerinden uzak sunucuyu sorgulamak için sp_addlinkedsrvlogin kullanarak yerel sunucudaki bir oturum açma işleminden uzak sunucudaki oturum açma bilgilerine eşleme oluşturun. SQL Aracısı işi bağlı sunucu aracılığıyla uzak sunucuya bağlandığında, uzaktan oturum açma bağlamında T-SQL sorgusunu yürütür. Daha fazla bilgi için bkz. Azure SQL Yönetilen Örneği ile SQL Aracısı işleri.

Microsoft Entra kimlik doğrulama

Desteklenen iki Microsoft Entra kimlik doğrulama modu şunlardır: yönetilen kimlik ve geçiş. Yerel oturum açma bilgilerinin uzak bağlı sunucuları sorgulamasına izin vermek için yönetilen kimlik kimlik doğrulamasını kullanın. Geçiş doğrulamasını kullanarak, yerel bir örnekle kimlik doğrulayabilen bir kullanıcının ilişkili bir sunucu aracılığıyla uzak bir örneğe erişmesine izin verin.

Azure SQL Yönetilen Örneği'nde bağlı bir sunucu için Microsoft Entra doğrudan kimlik doğrulamasını kullanmak için aşağıdaki önkoşullara ihtiyacınız vardır:

  • Aynı ilke, uzak sunucuda bir oturum açma olarak eklenir.
  • Her iki örnek de SQL güven grubunun üyeleridir.

Uyarı

Geçiş modu için yapılandırdığınız bağlı sunucuların mevcut tanımları Microsoft Entra kimlik doğrulamasını destekler. Tek gereksinim SQL Yönetilen Örneği'ni Sunucu güven grubuna eklemektir.

Aşağıdaki sınırlamalar, Azure SQL Yönetilen Örneği'ndeki bağlı sunucular için Microsoft Entra kimlik doğrulaması için geçerlidir:

  • Microsoft Entra kimlik doğrulaması, farklı Microsoft Entra kiracılarındaki SQL yönetilen örnekleri için desteklenmez.
  • Bağlı sunucular için Microsoft Entra kimlik doğrulaması yalnızca OLE DB sürücü sürümü 18.2.1 ve üzeri ile desteklenir.

SQL Server 2025 ve MSOLEDBSQL sürüm 19

SQL Server 2025 (17.x) ile başlayarak, MSOLEDBSQL sağlayıcısı varsayılan olarak Microsoft OLE DB Sürücüsü 19'u kullanır. Bu güncelleştirilmiş sürücü, TDS 8.0 ve TLS 1.3 desteği de dahil olmak üzere önemli güvenlik geliştirmeleri sunar.

TDS 8.0, yeni bir şifreleme seçeneği ekleyerek güvenliği artırır ve hataya neden olan bir değişiklik ekler: Encryption parametresi artık isteğe bağlı değildir. Başka bir SQL Server örneğini hedeflerken bağlantı dizenizde ayarlamanız gerekir.

Uyarı

Encrypt parametresi olmadan, SQL Server 2025'teki (17.x) bağlı sunucular varsayılan olarak Encrypt=Mandatory ve geçerli bir sertifika gerektirir. Geçerli bir sertifika olmayan bağlantılar başarısız olur.

Encryption parametresi üç farklı ayar sunar:

  • Yes, veya Trueveya Mandatory
  • No, veya Falseveya Optional
  • Strict

bu Strict seçenek TDS 8.0 kullanımını zorunlu kılar ve güvenli bağlantılar için bir sunucu sertifikası gerektirir. için Yes/True/Mandatorygüvenilir bir sertifika beklenir. Otomatik olarak imzalanan bir sertifika kullanamazsınız.

OLE DB sürümü Şifreleme parametresi Olası değerler Varsayılan değer
OLE DB 18 Opsiyonel Trueveya Mandatoryveya FalseNo No
OLE DB 19 Required No veya False, Yes veya Mandatory, Strict (yeni) Yes

TrustServerCertificate parametresi desteklenir, ancak önerilmez. Güven Sunucusu Sertifikası'nın sertifika doğrulamasını Yes devre dışı bırakmak, şifrelenmiş bağlantıların güvenliğini zayıflatır. Güven Sunucusu Sertifikası'nı kullanmak için istemcinin bunu makine kayıt defterinde de etkinleştirmesi gerekir. Güven Sunucusu Sertifikası'nı etkinleştirme hakkında bilgi için bkz. Kayıt defteri ayarları. Üretim ortamları için ayar TrustServerCertificate=Yes önerilmez.

veya Encrypt=FalsekullandığınızdaEncrypt=Optional:

  • Sertifika gerekmez.
  • Güvenilen bir sertifika sağlanırsa, sürücü sertifikayı doğrulamaz.
  • Bağlantı herhangi bir şifreleme sağlamaz.

veya Encrypt=Truekullandığınızda Encrypt=Mandatory ve kullanmadığınızdaTrustServerCertificate=Yes:

  • Bağlantı için geçerli bir CA imzalı sertifika gerekir.
  • Sertifika sunucunun FQDN'sine uygun olmalıdır.
  • Sertifikadaki alternatif ad SQL Server Ana Bilgisayar adından farklıysa FQDN HostNameInCertificate olarak ayarlanmalıdır.
  • Sertifika, istemci makinesindeki Güvenilen Kök Sertifika Yetkilileri deposuna yüklenmelidir.

kullandığınızda Encrypt=Strict:

  • Bağlantı, TDS 8.0'a zorlar.
  • Bağlantı, FQDN eşleşmesi olan geçerli bir CA imzalı sertifika gerektirir.
  • HostNameInCertificate FQDN olarak ayarlanmalıdır.
  • Sertifikaya istemci sistemi tarafından güvenilmelidir.
  • TrustServerCertificate yapılandırması desteklenmez. Geçerli bir sertifika bulunmalıdır.
Güven Sunucusu Sertifikası istemci ayarı Bağlantı dizesi/bağlantı özniteliği Güven Sunucusu Sertifikası Sertifika doğrulama
0 No (varsayılan) Evet
0 Yes Evet
1 No (varsayılan) Evet
1 Yes Hayı

Yeni sürücüyle uyumluluk ve güvenlik sağlamak için bağlı sunucu bağlantılarını yapılandırırken bağlantı dizesinde bu ayarları doğru şekilde belirtmeniz gerekir.

Önceki OLEDB sürümlerinden güncelleştirme

Geçerlidir: SQL Server 2025 (17.x) ve sonraki sürümler

Microsoft OLE DB Sürücüsü 19 ile SQL Server'ın önceki sürümlerinden SQL Server 2025'e (17.x) geçiş yaptığınızda, mevcut bağlı sunucu yapılandırmaları başarısız olabilir. Geçerli bir sertifika sağlamadığınız sürece şifreleme parametresi için farklı varsayılan değerler bu hataya neden olabilir.

Alternatif olarak, bağlı sunucuyu yeniden oluşturabilir ve bağlantı dizesine ekleyebilirsiniz Encrypt=Optional . Bağlı sunucu yapılandırmasını değiştiremiyorsanız, OLE DB 18 davranışını ve varsayılanlarını korumak için izleme bayrağını 17600 etkinleştirin.

SQL Server Management Studio (SSMS) Bağlı Sunucu Oluşturma Sihirbazı'nda, bağlı sunucu Şifreleme seçeneklerini el ile yapılandırmak için Diğer Veri Kaynakları seçeneğini kullanın.

OLE DB 19 ve şifreleme, sertifika ve OLE DB 19 için Güven Sunucusu Sertifikası davranışı hakkında daha fazla bilgi için bkz. OLE DB'de şifreleme ve sertifika doğrulaması.