Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Propojené servery umožňují databázovému stroji SQL Serveru a službě Azure SQL Managed Instance číst data ze vzdálených zdrojů dat a spouštět příkazy na vzdálených databázových serverech (například zdroje dat OLE DB) mimo instanci SQL Serveru. Obvykle jsou propojené servery nakonfigurované tak, aby databázový stroj mohl spouštět příkaz Transact-SQL, který obsahuje tabulky v jiné instanci SQL Serveru nebo jiný databázový produkt, jako je Oracle. Mnoho typů zdrojů dat OLE DB lze nakonfigurovat jako propojené servery, včetně poskytovatelů databází třetích stran a Azure Cosmos DB.
Poznámka:
Propojené servery jsou k dispozici v SQL Serveru a ve službě Azure SQL Managed Instance (s určitými omezeními). Propojené servery nejsou ve službě Azure SQL Database dostupné.
Kdy použít propojené servery?
Propojené servery umožňují implementovat distribuované databáze, které můžou načítat a aktualizovat data v jiných databázích. Propojené servery jsou dobrým řešením ve scénářích, kdy potřebujete implementovat horizontální dělení databáze, aniž byste museli vytvářet vlastní kód aplikace nebo přímo načítat ze vzdálených zdrojů dat. Propojené servery nabízejí následující výhody:
Možnost přístupu k datům mimo SQL Server.
Možnost vydávat distribuované dotazy, aktualizace, příkazy a transakce v heterogenních zdrojích dat v rámci podniku
Možnost řešit různé zdroje dat podobně.
Propojený server můžete nakonfigurovat pomocí aplikace SQL Server Management Studio nebo pomocí příkazu sp_addlinkedserver . Zprostředkovatelé OLE DB se výrazně liší v typu a počtu požadovaných parametrů. Někteří poskytovatelé například vyžadují, abyste pro připojení zadali kontext zabezpečení pomocí sp_addlinkedsrvlogin. Někteří zprostředkovatelé OLE DB umožňují SYSTÉMU SQL Server aktualizovat data ve zdroji OLE DB. Ostatní poskytují přístup k datům jen pro čtení. Informace o každém zprostředkovatele OLE DB naleznete v dokumentaci k zprostředkovateli OLE DB.
Součásti propojeného serveru
Definice propojeného serveru určuje následující objekty:
Zprostředkovatel OLE DB
Zdroj dat OLE DB
Zprostředkovatel OLE DB je knihovna DLL, která spravuje a komunikuje s konkrétním zdrojem dat. Zdroj dat OLE DB identifikuje konkrétní databázi, ke které lze přistupovat prostřednictvím OLE DB. I když jsou zdroje dat dotazované prostřednictvím definic propojeného serveru obvykle databáze, zprostředkovatelé OLE DB existují pro různé soubory a formáty souborů. Patří sem textové soubory, data tabulky a výsledky fulltextového vyhledávání obsahu.
Počínaje SQL Serverem 2019 (15.x) je výchozím poskytovatelem OLE DB ovladač Microsoft OLE DB pro SQL Server (PROGID: MSOLEDBSQL). V předchozích verzích byl výchozím poskytovatelem OLE DB nativní klient SQL Serveru (PROGID: SQLNCLI11).
Důležité
Nativní klient SQL Serveru (často zkracovaný jako SNAC) byl odebrán z SQL Serveru 2022 (16.x) a SQL Server Management Studio 19 (SSMS). Pro nový vývoj se nedoporučuje zprostředkovatele SQL Server Native Client OLE DB (SQLNCLI nebo SQLNCLI11) ani starší verze zprostředkovatele Microsoft OLE DB pro SQL Server (SQLOLEDB). Přejděte na nový ovladač Microsoft OLE DB (MSOLEDBSQL) pro SQL Server do budoucna.
Propojené servery s microsoft accessovými a excelovými zdroji jsou podporovány pouze microsoftem při použití 32bitového zprostředkovatele Microsoft.JET.OLEDB.4.0 OLE DB.
Poznámka:
Distribuované dotazy SQL Serveru jsou navržené tak, aby fungovaly s libovolným zprostředkovatelem OLE DB, který implementuje požadovaná rozhraní OLE DB. SQL Server byl však testován proti výchozímu zprostředkovateli OLE DB.
Podrobnosti o propojeném serveru
Následující obrázek ukazuje základy konfigurace propojeného serveru.
Odkazované servery se obvykle používají ke zpracování distribuovaných dotazů. Když klientská aplikace provede distribuovaný dotaz prostřednictvím propojeného serveru, SQL Server analyzuje příkaz a odešle požadavky do OLE DB. Požadavek sady řádků může být ve formě provádění dotazu vůči zprostředkovateli nebo otevření základní tabulky od zprostředkovatele.
Aby zdroj dat vrátil data prostřednictvím propojeného serveru, musí být zprostředkovatel OLE DB (DLL) pro tento zdroj dat na stejném serveru jako instance SQL Serveru.
Propojené servery podporují předávací ověřování služby Active Directory při použití úplného delegování. Počínaje SQL Serverem 2017 (14.x) CU17 se podporuje i předávací ověřování s omezeným delegováním; omezené delegování založené na prostředcích však není podporováno.
Důležité
Při použití zprostředkovatele OLE DB musí mít účet, pod kterým běží služba SQL Server, oprávnění ke čtení a spouštění pro adresář a všechny podadresáře, ve kterých je poskytovatel nainstalován. Patří sem poskytovatelé vydané Microsoftem a všichni poskytovatelé třetích stran.
Správa poskytovatelů
Existuje sada možností, které řídí, jak SQL Server načítá a používá zprostředkovatele OLE DB určené v registru.
Správa definic odkazovaného serveru
Při nastavování propojeného serveru zaregistrujte informace o připojení a informace o zdroji dat u SQL Serveru. Po registraci je možné na tento zdroj dat odkazovat jedním logickým názvem.
Pomocí uložených procedur a zobrazení katalogu můžete spravovat definice propojeného serveru:
Vytvořte definici propojeného serveru spuštěním příkazu
sp_addlinkedserver.Zobrazení informací o propojených serverech definovaných v konkrétní instanci SQL Serveru spuštěním dotazu na
sys.serverszobrazení katalogu systému.Odstranění definice propojeného serveru spuštěním
sp_dropserverpříkazu . Tuto uloženou proceduru můžete použít také k odebrání vzdáleného serveru.
Propojené servery můžete také definovat pomocí aplikace SQL Server Management Studio. V Průzkumníku objektů klikněte pravým tlačítkem na Objekty serveru, vyberte Nový a vyberte Propojený server. Definici propojeného serveru můžete odstranit tak, že kliknete pravým tlačítkem myši na název propojeného serveru a vyberete Odstranit.
Když spustíte distribuovaný dotaz na odkazovaný server, zahrňte plně kvalifikovaný název čtyřdílné tabulky pro každý zdroj dat, který se má dotazovat. Tento čtyřdílný název by měl být ve formuláři <linked_server_name>.<catalog>.<schema>.<object_name>.
Odkazy na dočasné objekty se vždy přeloží na místní instanci tempdb, pokud je to možné, i když je před názvem propojeného serveru předpona.
Propojené servery je možné definovat tak, aby odkazovali zpět (smyčku zpět) na server, na kterém jsou definované. Loopback servery jsou nejužitečnější při testování aplikace, která používá distribuované dotazy na jedné serverové síti. Interní propojené servery jsou určeny pouze pro testování a nejsou podporovány pro mnoho operací, jako jsou distribuované transakce.
Propojené servery se službou Azure SQL Managed Instance
Propojené servery Azure SQL Managed Instance podporují ověřování SQL i ověřování pomocí Microsoft Entra ID (dříve Azure Active Directory).
Pokud chcete použít úlohy agenta SQL ve službě Azure SQL Managed Instance k dotazování vzdáleného serveru prostřednictvím propojeného serveru, použijte sp_addlinkedsrvlogin k vytvoření mapování z přihlášení na místním serveru k přihlášení na vzdáleném serveru. Když se úloha agenta SQL připojí ke vzdálenému serveru prostřednictvím propojeného serveru, spustí dotaz T-SQL v kontextu vzdáleného přihlášení. Další informace najdete v tématu Úlohy agenta SQL se službou Azure SQL Managed Instance.
Ověřovací systém Microsoft Entra
Existují dva podporované režimy ověřování Microsoft Entra: spravovaná identita a průchozí. Ověřování spravované identity se dá použít k povolení místních přihlášení k dotazování vzdálených propojených serverů. Předávací ověřování umožňuje účastníkovi, který se může ověřit v místní instanci, přístup ke vzdálené instanci prostřednictvím propojeného serveru.
Pokud chcete použít předávací ověřování Microsoft Entra pro propojený server ve službě Azure SQL Managed Instance, potřebujete následující požadavky:
- Stejný subjekt se přidá jako přihlašovací identita na vzdáleném serveru.
- Obě instance jsou členy skupiny důvěryhodnosti SQL.
Poznámka:
Existující definice propojených serverů nakonfigurovaných pro předávací režim podporují ověřování Microsoft Entra. Jediným požadavkem pro toto je přidání spravované instance SQL do skupiny důvěryhodnosti serveru.
Následující omezení platí pro ověřování Microsoft Entra pro propojené servery ve službě Azure SQL Managed Instance:
- Ověřování Microsoft Entra není podporováno pro spravované instance SQL v různých tenantech Microsoft Entra.
- Ověřování Microsoft Entra pro propojené servery je podporováno pouze s ovladačem OLE DB verze 18.2.1 a vyšší.
SQL Server 2025 a MSOLEDBSQL verze 19
Počínaje SQL Serverem 2025 (17.x) používá zprostředkovatel MSOLEDBSQL ve výchozím nastavení ovladač Microsoft OLE DB 19. Tento aktualizovaný ovladač přináší významná vylepšení zabezpečení, včetně podpory TDS 8.0 a TLS 1.3.
TDS 8.0 zlepšuje zabezpečení přidáním nové možnosti šifrování a zavádí zásadní změnu: Encryption parametr už není volitelný. Musí být nastaven v připojovacím řetězci při cílení na jinou instanci SQL Serveru.
Poznámka:
Bez parametru Encrypt mají propojené servery v SQL Serveru 2025 (17.x) výchozí hodnotu Encrypt=Mandatory a vyžadují platný certifikát. Připojení bez platného certifikátu selžou.
Parametr Encryption nabízí tři různá nastavení:
-
Yes, neboTrue, neboMandatory -
No, neboFalse, neboOptional Strict
Možnost Strict vyžaduje použití TDS 8.0 a vyžaduje certifikát serveru pro zabezpečená připojení. Je očekáván důvěryhodný certifikát pro Yes/True/Mandatory. Certifikát podepsaný svým držitelem nemůžete použít.
| Verze OLE DB | Parametr šifrování | Možné hodnoty | Výchozí hodnota |
|---|---|---|---|
| OLE DB 18 | Volitelný |
Truenebo , Mandatory nebo FalseNo |
No |
| OLE DB 19 | Povinné |
Nonebo False, Yes nebo MandatoryStrict (nové) |
Yes |
Parametr TrustServerCertificate se podporuje, ale nedoporučuje se. Nastavení certifikátu důvěryhodného serveru tak, aby Yes se zakázalo ověřování certifikátů, oslabuje zabezpečení šifrovaných připojení. Pokud chcete použít certifikát důvěryhodného serveru , musí ho klient také povolit v registru počítače. Informace o povolení certifikátu důvěryhodného serveru naleznete v tématu Nastavení registru. Nastavení TrustServerCertificate=Yes se nedoporučuje pro produkční prostředí.
Při použití Encrypt=False nebo Encrypt=Optional:
- Nevyžaduje se žádný certifikát.
- Pokud je poskytnut důvěryhodný certifikát, neprovádí se ověření.
- Neposkytuje žádné šifrování připojení.
Pokud používáte Encrypt=True nebo Encrypt=Mandatory nepoužíváte TrustServerCertificate=Yes:
- Vyžaduje platný certifikát podepsaný certifikační autoritou.
- Certifikát musí odpovídat FQDN serveru.
- Pokud se alternativní název v certifikátu liší od názvu hostitele SQL Serveru,
HostNameInCertificatemusí být nastaven na plně kvalifikovaný název domény. - Certifikát musí být nainstalovaný v úložišti důvěryhodných kořenových certifikačních autorit na klientském počítači.
Při použití Encrypt=Strict:
- Vynucuje TDS 8.0.
- Vyžaduje platný certifikát podepsaný certifikační autoritou s odpovídajícím plně kvalifikovaným názvem domény.
-
HostNameInCertificatemusí být nastaveno na plně kvalifikovaný název domény. - Certifikát musí být důvěryhodný klientským systémem.
-
TrustServerCertificatekonfigurace není podporována. To znamená, že musí existovat platný certifikát.
| Nastavení klienta certifikátu důvěryhodného serveru | Připojovací řetězec/atribut připojení Certifikát důvěryhodného serveru | Ověření certifikátu |
|---|---|---|
| 0 |
No (výchozí) |
Ano |
| 0 | Yes |
Ano |
| 1 |
No (výchozí) |
Ano |
| 1 | Yes |
Ne |
Tato nastavení musí být správně zadána v připojovacím řetězci při konfiguraci připojení k propojenému serveru, aby byla zajištěna kompatibilita a zabezpečení s novým ovladačem.
Aktualizace z předchozích verzí OLEDB
Platí pro: SQL Server 2025 (17.x) a novější verze
Při migraci z předchozích edic SQL Serveru na SQL Server 2025 (17.x) s ovladačem Microsoft OLE DB 19 může dojít k selhání existujících konfigurací propojených serverů. Jiné výchozí hodnoty parametru šifrování můžou způsobit toto selhání, pokud není zadaný platný certifikát.
Případně můžete znovu vytvořit propojený server a zahrnout Encrypt=Optional ho do připojovacího řetězce. Pokud nemůžete upravit konfiguraci propojeného serveru, povolte příznak trasování 17600, aby se zachovalo chování a výchozí nastavení OLE DB 18.
V Průvodci vytvořením propojeného serveru SQL Server Managed Studio (SSMS) musí být k ruční konfiguraci možností šifrování propojeného serveru použita možnost Jiné zdroje dat .
Další informace o technologii OLE DB 19 a šifrování, chování certifikátu a certifikátu důvěryhodného serveru pro OLE DB 19 naleznete v tématu Šifrování a ověření certifikátu v OLE DB.
Související obsah
- Vytvoření propojených serverů (SQL Server Database Engine)
- sys.servers (Transact-SQL)
- sp_linkedservers (Transact-SQL)
- sp_addlinkedserver (Transact-SQL)
- sp_addlinkedsrvlogin (Transact-SQL)
- sp_dropserver (Transact-SQL)