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 verileri okumasını ve SQL Server örneği dışında uzak veritabanı sunucularında (örneğin OLE DB veri kaynakları) komut yürütmesini sağlar. Bağlı sunucular genellikle Veritabanı Altyapısı'nın başka bir SQL Server örneğindeki tabloları veya Oracle gibi başka bir veritabanı ürününü içeren bir Transact-SQL deyimi yürütmesini sağlayacak şekilde yapılandırılır. Üçüncü taraf veritabanı sağlayıcıları ve Azure Cosmos DB dahil olmak üzere birçok tür OLE DB veri kaynağı bağlı sunucu olarak yapılandırılabilir.

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. Bağlı sunucular, özel bir uygulama kodu oluşturmanıza veya doğrudan uzak veri kaynaklarından yüklemenize gerek kalmadan veritabanı parçalama uygulamanız gereken senaryolarda iyi bir çözüm sağlar. 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şilebilen 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. Bunlar metin dosyalarını, elektronik tablo verilerini 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 Access ve Excel kaynaklarına bağlı sunucular yalnızca 32 bit Microsoft.JET.OLEDB.4.0 OLE DB sağlayıcısı kullanılırken Microsoft tarafından desteklenir.

Uyarı

SQL Server dağıtılmış sorguları, gerekli OLE DB arabirimlerini uygulayan herhangi bir OLE DB sağlayıcısıyla çalışacak şekilde tasarlanmıştı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.

Bağlı sunucular genellikle dağıtılmış sorguları işlemek için kullanılır. 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.

Uyarı

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.

Önemli

BIR OLE DB sağlayıcısı kullanıldığında, SQL Server hizmetinin çalıştığı 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. Buna Microsoft tarafından yayımlanan sağlayıcılar ve üçüncü taraf sağlayıcılar dahildir.

Uyarı

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.

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 ayarlarken bağlantı bilgilerini ve veri kaynağı bilgilerini SQL Server'a kaydedin. Kaydedildikten sonra, bu veri kaynağına tek bir mantıksal adla başvurulabilir.

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

  • 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ını ön ek olarak kullanırken bile, mümkün olduğu durumlarda her zaman yerel örneğe tempdb yönlendirilir.

Bağlı sunucular, tanımlandığı sunucuya geri dönmek (geri döngü) için tanımlanabilir. 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 Örnek bağlı sunucuları, hem SQL kimlik doğrulamasını hem de Microsoft Entra ID (eski adıyla Azure Active Directory) ile kimlik doğrulamasını 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ş. Yönetilen kimlik kimlik doğrulaması, yerel oturum açma bilgilerinin uzak bağlı sunucuları sorgulamasına izin vermek için kullanılabilir. Geçişli kimlik doğrulama, yerel bir örnekle kimlik doğrulaması yapabilecek bir yetkilendirilmiş kullanıcıya bağlantılı sunucu aracılığıyla uzak bir örneğe erişim sağlar.

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ırılmış bağlı sunucuların mevcut tanımları Microsoft Entra kimlik doğrulamasını destekler. Bunun için 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.

MSOLEDBSQL19 ve bağlı sunucular

Şu anda MSOLEDBSQL19 şifreleme ve güvenilen sertifika olmadan bağlı sunucuların oluşturulmasını engeller (otomatik olarak imzalanan sertifika yetersizdir). Bağlı sunucular gerekiyorsa, MSOLEDBSQL'in desteklenen mevcut sürümünü kullanın.

SQL Server 2025 (17.x) Önizleme sürümünden başlayarak, Bağlı sunucularla Microsoft OLE DB Sürücüsü sürüm 19'u kullanabilirsiniz. Bu güncelleştirilmiş sürücü, TDS 8.0 desteği de dahil olmak üzere önemli güvenlik geliştirmeleri sunar. TDS 8, uyumsuzluğa neden olan bir değişiklik getirir: Sağlayıcı dizesinde Encryption parametresini ayarlamanız gerekir.

Encryption parametresi üç farklı ayar sunar:

  • Yes/True/Mandatory
  • No/False/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 Doğru/Zorunlu, Yanlış/Hayır Yanlış/Hayır
OLE DB 19 Gerekli Hayır/Yanlış, Evet/Zorunlu, Katı (yeni) Evet/Zorunlu

TrustServerCertificate parametresi desteklenir, ancak önerilmez. Güven Sunucusu Sertifikası , şifreli bağlantıların güvenliğini zayıflatarak sertifika doğrulamasını devre dışı bırakır.

Güven Sunucusu Sertifikası istemci ayarı Bağlantı dizesi/bağlantı özniteliği Güven Sunucusu Sertifikası Sertifika doğrulama
0 Hayır (varsayılan) Evet
0 Evet Evet
1 Hayır (varsayılan) Evet
1 Evet Hayı

Bu ayarlar, yeni sürücüyle uyumluluk ve güvenlik sağlamak için bağlı sunucu bağlantılarını yapılandırırken sağlayıcı dizesinde doğru şekilde belirtilmelidir.

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ı.