Megosztás a következőn keresztül:


Csatolt kiszolgálók (adatbázismotor)

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

A csatolt kiszolgálók lehetővé teszik, hogy az SQL Server adatbázismotorja és az Azure SQL Managed Instance távoli adatforrásokból származó adatokat olvasson be, és parancsokat hajtson végre távoli adatbázis-kiszolgálókon (például OLE DB-adatforrásokon) az SQL Server-példányon kívül. A csatolt kiszolgálókat általában úgy konfigurálja, hogy az adatbázismotor végrehajthasson egy Transact-SQL utasítást, amely táblákat tartalmaz az SQL Server egy másik példányában, vagy egy másik adatbázistermékben, például az Oracle-ben. Az OLE DB-adatforrások számos típusát konfigurálhatja csatolt kiszolgálóként, beleértve a külső adatbázis-szolgáltatókat és az Azure Cosmos DB-t.

Megjegyzés:

A csatolt kiszolgálók az SQL Serverben és a felügyelt Azure SQL-példányban érhetők el (bizonyos korlátozásokkal). A csatolt kiszolgálók nem érhetők el az Azure SQL Database-ben.

Mikor érdemes társított kiszolgálókat használni?

A csatolt kiszolgálók lehetővé teszik olyan elosztott adatbázisok implementálását, amelyek adatokat tudnak lekérni és frissíteni más adatbázisokban. Társított kiszolgálók használata olyan helyzetekben, ahol egyéni alkalmazáskód létrehozása vagy távoli adatforrásokból való közvetlen betöltés nélkül kell adatbázis-horizontális skálázást implementálnia. A csatolt kiszolgálók az alábbi előnyöket kínálják:

  • Az SQL Serveren kívüli adatok elérésének lehetősége.

  • Elosztott lekérdezések, frissítések, parancsok és tranzakciók kiadása heterogén adatforrásokon a vállalaton belül.

  • A különböző adatforrások hasonló kezelése.

A csatolt kiszolgálót az SQL Server Management Studióval vagy a sp_addlinkedserver utasítással konfigurálhatja. Az OLE DB-szolgáltatók nagyban eltérnek a szükséges paraméterek típusától és számától. Egyes szolgáltatók például megkövetelik, hogy a sp_addlinkedsrvlogin használatával adja meg a kapcsolat biztonsági környezetét. Egyes OLE DB-szolgáltatók lehetővé teszik az SQL Server számára az OLE DB-forrás adatainak frissítését. Mások csak olvasási jogosultságot biztosítanak az adatokhoz. Az egyes OLE DB-szolgáltatókkal kapcsolatos információkért tekintse meg az adott OLE DB-szolgáltató dokumentációját.

Csatolt kiszolgálóösszetevők

A csatolt kiszolgálódefiníció a következő objektumokat határozza meg:

  • OLE DB-szolgáltató

  • OLE DB-adatforrás

Az OLE DB-szolgáltató egy DLL, amely egy adott adatforrást kezel és lép kapcsolatba vele. Egy OLE DB-adatforrás azonosítja az OLE DB-ben elérhető adott adatbázist. Bár a csatolt kiszolgálódefiníciókon keresztül lekérdezett adatforrások általában adatbázisok, az OLE DB-szolgáltatók különböző fájlokhoz és fájlformátumokhoz léteznek. Ezek a fájlok közé tartoznak az egyszerű szövegek, a számolótáblák adatai és a teljes szöveges tartalomkeresések eredményei.

Az SQL Server 2019 -től kezdve (15.x) az SQL Serverhez készült Microsoft OLE DB-illesztő (PROGID: MSOLEDBSQL) az alapértelmezett OLE DB-szolgáltató. A korábbi verziókban az SQL Server natív ügyfele (PROGID: SQLNCLI11) volt az alapértelmezett OLE DB-szolgáltató.

Fontos

A SQL Server natív ügyfél (gyakran rövidített SNAC) el lett távolítva az SQL Server 2022 (16.x) és az SQL Server Management Studio 19 (SSMS) szolgáltatásból. Az SQL Server natív ügyféloldali OLE DB-szolgáltatója (SQLNCLI vagy SQLNCLI11) és az SQL Serverhez készült régi Microsoft OLE DB-szolgáltató (SQLOLEDB) nem ajánlott új fejlesztéshez. Váltson az új Microsoft OLE DB-illesztőprogramra (MSOLEDBSQL) az SQL Serverhez, és a jövőben is ezt használja.

A Microsoft csak a 32 bites Microsoft.JET.OLEDB.4.0 OLE DB-szolgáltató használatakor támogatja az Excelhez és az Access-forrásokhoz csatolt kiszolgálókat.

Megjegyzés:

Az SQL Server elosztott lekérdezései bármely olyan OLE DB-szolgáltatóval működnek, amely implementálja a szükséges OLE DB-interfészeket. Az SQL Servert azonban teszteltük az alapértelmezett OLE DB-szolgáltatón.

Csatolt kiszolgáló adatai

Az alábbi ábra egy csatolt kiszolgáló konfigurációjának alapjait mutatja be.

Az ügyfélréteget, a kiszolgálószintet és az adatbázis-kiszolgálószintet bemutató ábra.

Az elosztott lekérdezések kezelésére általában csatolt kiszolgálókat használ. Amikor egy ügyfélalkalmazás elosztott lekérdezést hajt végre egy csatolt kiszolgálón keresztül, az SQL Server elemzi a parancsot, és kéréseket küld az OLE DB-nek. A sorhalmaz-kérés lehet lekérdezés végrehajtása a szolgáltatón, vagy egy alaptábla megnyitása a szolgáltatótól.

Ahhoz, hogy egy adatforrás egy csatolt kiszolgálón keresztül adatokat adjon vissza, az adatforrás OLE DB-szolgáltatójának (DLL-jének) ugyanazon a kiszolgálón kell lennie, mint az SQL Server-példánynak.

A csatolt kiszolgálók teljes delegálás esetén támogatják az Active Directory átmenő hitelesítését. Az SQL Server 2017 (14.x) CU17-től kezdve a korlátozott delegálással rendelkező átmenő hitelesítés is támogatott; az erőforrás-alapú korlátozott delegálás azonban nem támogatott.

Fontos

OLE DB-szolgáltató használata esetén annak a fióknak, amelyen az SQL Server-szolgáltatás fut, olvasási és végrehajtási engedélyekkel kell rendelkeznie a címtárhoz és az összes alkönyvtárhoz, amelyben a szolgáltató telepítve van. Ez a követelmény a Microsoft által kiadott szolgáltatókra és bármely külső szolgáltatóra vonatkozik.

Szolgáltatók kezelése

A beállításjegyzékben megadott OLE DB-szolgáltatókat az SQL Server betöltési és felhasználási módjai szabályozják.

Csatolt kiszolgálódefiníciók kezelése

Csatolt kiszolgáló beállításakor regisztrálja a kapcsolati adatokat és az adatforrás adatait az SQL Serverrel. A regisztráció után egyetlen logikai névvel hivatkozhat az adatforrásra.

Tárolt eljárások és katalógusnézetek használata a csatolt kiszolgálódefiníciók kezeléséhez:

  • Csatolt kiszolgálódefiníció létrehozása a futtatással sp_addlinkedserver.

  • Az SQL Server egy adott példányában definiált csatolt kiszolgálók adatainak megtekintése lekérdezés futtatásával a sys.servers rendszerkatalógus nézeten.

  • Csatolt kiszolgálódefiníció törlése a futtatással sp_dropserver. Ezzel a tárolt eljárással távoli kiszolgálót is eltávolíthat.

A csatolt kiszolgálókat az SQL Server Management Studióval is definiálhatja. Az Object Explorerben kattintson a jobb gombbal a Kiszolgálóobjektumok elemre, válassza az Új, majd a Csatolt kiszolgáló lehetőséget. A csatolt kiszolgáló definíciójának törléséhez kattintson a jobb gombbal a csatolt kiszolgáló nevére, és válassza a Törlés lehetőséget.

Ha elosztott lekérdezést hajt végre egy csatolt kiszolgálón, adjon meg egy teljes mértékben minősített, négyrészes táblanevet minden lekérdezésre szánt adatforráshoz. Ennek a négyrészes névnek <linked_server_name>.<catalog>.<schema>.<object_name> formában kell lennie.

Az ideiglenes objektumokra mutató hivatkozások mindig a helyi példányra tempdb vonatkoznak, ahol ezt alkalmazni lehet, még akkor is, ha a csatolt kiszolgáló nevét előtagként használjuk.

Csatolt kiszolgálókat úgy is meghatározhat, hogy azok visszamutatnak arra a kiszolgálóra, amelyen definiálta őket. A visszacsatolási kiszolgálók akkor hasznosak, ha egyetlen kiszolgálóhálózaton elosztott lekérdezéseket használó alkalmazásokat tesztelnek. A loopback típusú csatolt kiszolgálókat tesztelésre használják, és számos művelethez, például elosztott tranzakciókhoz, nem támogatják.

Összekapcsolt kiszolgálók Azure SQL felügyelt példánnyal

Az Azure SQL Managed Instance társított kiszolgálói támogatják az SQL-hitelesítést és a Microsoft Entra-azonosítóval való hitelesítést is.

Ha sql agent-feladatokat szeretne használni a felügyelt Azure SQL-példányon egy távoli kiszolgáló csatolt kiszolgálón keresztüli lekérdezéséhez, a sp_addlinkedsrvlogin használatával létrehozhat egy leképezést a helyi kiszolgálón lévő bejelentkezésről a távoli kiszolgálón való bejelentkezésre. Amikor az SQL Agent-feladat a csatolt kiszolgálón keresztül csatlakozik a távoli kiszolgálóhoz, végrehajtja a T-SQL-lekérdezést a távoli bejelentkezés kontextusában. További információ: SQL Agent munkák az Azure SQL Felügyelt Példányban.

Microsoft Entra-hitelesítés

Két támogatott Microsoft Entra hitelesítési mód az alábbiak szerint: felügyelt identitás és közvetlen átjutás. Felügyelt identitáshitelesítéssel engedélyezheti a helyi bejelentkezések számára a távoli csatolt kiszolgálók lekérdezését. Az átmenő hitelesítés lehetővé teszi, hogy egy helyi példánysal hitelesíthető felhasználó hozzáférjen egy távoli példányhoz egy összekapcsolt szerveren keresztül.

Ha microsoft entra-átmenő hitelesítést szeretne használni egy társított kiszolgálóhoz a felügyelt Azure SQL-példányban, a következő előfeltételekre van szüksége:

  • Ugyanaz az azonosító kerül hozzáadásra, mint bejelentkezés a távoli szerveren.
  • Mindkét példány az SQL megbízhatósági csoport tagja.

Megjegyzés:

Az átmenő módhoz konfigurált csatolt kiszolgálók meglévő definíciói támogatják a Microsoft Entra-hitelesítést. Az egyetlen követelmény a felügyelt SQL-példány hozzáadása a kiszolgáló megbízhatósági csoportjához.

A Microsoft Entra-hitelesítésre a következő korlátozások vonatkoznak a csatolt kiszolgálókra az Azure SQL Felügyelt Példányban:

  • A Microsoft Entra-hitelesítés nem támogatott a felügyelt SQL-példányok esetében a különböző Microsoft Entra-bérlőkben.
  • A csatolt kiszolgálók Microsoft Entra-hitelesítése csak az OLE DB-illesztőprogram 18.2.1-es és újabb verziójával támogatott.

AZ SQL Server 2025 és az MSOLEDBSQL 19-es verziója

Az SQL Server 2025 -től (17.x) kezdődően az MSOLEDBSQL-szolgáltató alapértelmezés szerint a Microsoft OLE DB Driver 19-et használja. Ez a frissített illesztőprogram jelentős biztonsági fejlesztéseket vezet be, beleértve a TDS 8.0 és a TLS 1.3 támogatását is.

A TDS 8.0 egy új titkosítási beállítás hozzáadásával javítja a biztonságot, és kompatibilitástörő változást vezet be: a Encryption paraméter már nem kötelező. Egy másik SQL Server-példány megcélzásakor be kell állítania a kapcsolati sztringben.

Megjegyzés:

Paraméter nélkül az SQL Server 2025 (17.x) kapcsolt kiszolgálói alapértelmezés szerint Encrypt értéket vesznek fel, és érvényes tanúsítványt igényelnek. Érvénytelen tanúsítvánnyal nem rendelkező kapcsolatok sikertelenek.

A Encryption paraméter három különböző beállítást kínál:

  • Yes, vagy True, vagy Mandatory
  • No, vagy False, vagy Optional
  • Strict

A Strict beállítás a TDS 8.0 használatát írja elő, és kiszolgálói tanúsítványt igényel a biztonságos kapcsolatokhoz. Ebben Yes/True/Mandatoryaz esetben megbízható tanúsítványra van számítani. Önaláírt tanúsítvány nem használható.

OLE DB-verzió Titkosítási paraméter Lehetséges értékek Alapértelmezett érték
OLE DB 18 Szabadon választható Truevagy , Mandatory vagy FalseNo No
OLE DB 19 Szükséges Novagy False, YesMandatory (Strictúj) Yes

A TrustServerCertificate paraméter támogatott, de nem ajánlott. A megbízhatósági kiszolgáló tanúsítványának beállítása a tanúsítványok érvényesítésének Yes letiltására, ami gyengíti a titkosított kapcsolatok biztonságát. A megbízhatósági kiszolgáló tanúsítványának használatához az ügyfélnek engedélyeznie kell azt a gép beállításjegyzékében is. A megbízhatósági kiszolgáló tanúsítványának engedélyezéséről további információt a beállításjegyzék beállításai között talál. Éles környezetekhez nem ajánlott a beállítás TrustServerCertificate=Yes .

Ha a következőt Encrypt=FalsehasználjaEncrypt=Optional:

  • Nincs szükség tanúsítványra.
  • Ha megbízható tanúsítványt ad meg, az illesztőprogram nem érvényesíti azt.
  • A kapcsolat nem biztosít titkosítást.

Ha a következőt használja Encrypt=True , vagy Encrypt=Mandatorynem használja TrustServerCertificate=Yes:

  • A kapcsolathoz érvényes hitelesítésszolgáltatói aláírású tanúsítvány szükséges.
  • A tanúsítványnak meg kell egyeznie a kiszolgáló teljes tartománynevével.
  • Ha a tanúsítvány alternatív neve eltér az SQL Server gazdagép nevétől, akkor HostNameInCertificate a teljes tartománynevet kell beállítani.
  • A tanúsítványt az ügyfélszámítógép megbízható legfelső szintű hitelesítésszolgáltatói tárolójában kell telepíteni.

Ha a következőt használja Encrypt=Strict:

  • A kapcsolat kényszeríti a TDS 8.0-t.
  • A kapcsolathoz érvényes hitelesítésszolgáltató által aláírt tanúsítványra van szükség, amely teljes tartománynévvel egyezik.
  • HostNameInCertificate az FQDN értékre kell állítani.
  • A tanúsítványt az ügyfélrendszernek megbízhatónak kell lennie.
  • TrustServerCertificate konfiguráció nem támogatott. Érvényes tanúsítványnak kell lennie.
Megbízhatósági kiszolgáló tanúsítványa ügyfélbeállítás Kapcsolati sztring/kapcsolatattribútum Megbízhatósági kiszolgáló tanúsítványa Tanúsítvány érvényesítése
0 No (alapértelmezett) Igen
0 Yes Igen
1 No (alapértelmezett) Igen
1 Yes Nem

A csatolt kiszolgálókapcsolatok konfigurálásakor helyesen kell megadnia ezeket a beállításokat a kapcsolati sztringben, hogy biztosítsa az új illesztőprogrammal való kompatibilitást és biztonságot.

Frissítés a korábbi OLEDB-verziókról

Érvényes: SQL Server 2025 (17.x) és újabb verziók

Ha az SQL Server korábbi kiadásairól az SQL Server 2025-be (17.x) migrál a Microsoft OLE DB Driver 19 használatával, a meglévő társított kiszolgálókonfigurációk meghiúsulhatnak. A titkosítási paraméter eltérő alapértelmezett értékei okozhatják ezt a hibát, hacsak nem ad meg érvényes tanúsítványt.

Másik lehetőségként újra létrehozhatja a csatolt kiszolgálót, és belefoglalhatja Encrypt=Optional a kapcsolati sztringbe. Ha nem tudja módosítani a csatolt kiszolgáló konfigurációját, engedélyezze a nyomkövetési jelzőt 17600 az OLE DB 18 viselkedésének és alapértelmezett beállításainak fenntartásához.

Az SQL Server Management Studio (SSMS) társított kiszolgálólétrehozás varázslójában használja az Egyéb adatforrások lehetőséget a csatolt kiszolgáló titkosítási beállításainak manuális konfigurálásához.

Az OLE DB 19 titkosításával, tanúsítványával és megbízhatósági kiszolgálói tanúsítvány működésével kapcsolatos további információkért lásd: Titkosítás és tanúsítványérvényesítés az OLE DB-ben.