Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:SQL Server
Azure SQL Managed Instance
Met gekoppelde servers kunnen de SQL Server Database Engine en Azure SQL Managed Instance gegevens lezen uit de externe gegevensbronnen en opdrachten uitvoeren op de externe databaseservers (bijvoorbeeld OLE DB-gegevensbronnen) buiten het exemplaar van SQL Server. Normaal gesproken zijn gekoppelde servers geconfigureerd om de Database Engine in staat te stellen een Transact-SQL instructie uit te voeren die tabellen bevat in een ander exemplaar van SQL Server of een ander databaseproduct zoals Oracle. Veel typen OLE DB-gegevensbronnen kunnen worden geconfigureerd als gekoppelde servers, waaronder databaseproviders van derden en Azure Cosmos DB.
Opmerking
Gekoppelde servers zijn beschikbaar in SQL Server en Azure SQL Managed Instance (met enkele beperkingen). Gekoppelde servers zijn niet beschikbaar in Azure SQL Database.
Wanneer gebruikt u gekoppelde servers?
Met gekoppelde servers kunt u gedistribueerde databases implementeren die gegevens in andere databases kunnen ophalen en bijwerken. Gekoppelde servers zijn een goede oplossing in de scenario's waarin u database-sharding moet implementeren zonder dat u een aangepaste toepassingscode hoeft te maken of rechtstreeks vanuit externe gegevensbronnen moet laden. Gekoppelde servers bieden de volgende voordelen:
- De mogelijkheid om toegang te krijgen tot gegevens van buiten SQL Server. 
- De mogelijkheid om gedistribueerde query's, updates, opdrachten en transacties uit te voeren op heterogene gegevensbronnen in de hele onderneming. 
- De mogelijkheid om diverse gegevensbronnen op dezelfde manier aan te pakken. 
U kunt een gekoppelde server configureren met behulp van SQL Server Management Studio of met behulp van de sp_addlinkedserver-instructie . OLE DB-providers variëren sterk in het type en het aantal vereiste parameters. Voor sommige providers moet u bijvoorbeeld een beveiligingscontext opgeven voor de verbinding met behulp van sp_addlinkedsrvlogin. Sommige OLE DB-providers staan SQL Server toe om gegevens op de OLE DB-bron bij te werken. Anderen bieden alleen alleen-lezen gegevenstoegang. Raadpleeg de documentatie voor die OLE DB-provider voor informatie over elke OLE DB-provider.
Gekoppelde serveronderdelen
Een definitie van een gekoppelde server geeft de volgende objecten op:
- Een OLE DB-provider 
- Een OLE DB-gegevensbron 
Een OLE DB-provider is een DLL die een specifieke gegevensbron beheert en gebruikt. Een OLE DB-gegevensbron identificeert de specifieke database die toegankelijk is via OLE DB. Hoewel gegevensbronnen die via gekoppelde serverdefinities worden opgevraagd, gewoonlijk databases zijn, bestaan OLE DB-providers voor verschillende bestanden en bestandsindelingen. Dit zijn tekstbestanden, spreadsheetgegevens en de resultaten van zoekopdrachten in volledige tekst.
Vanaf SQL Server 2019 (15.x) is het Microsoft OLE DB-stuurprogramma voor SQL Server (PROGID: MSOLEDBSQL) de standaard OLE DB-provider. In eerdere versies was de SQL Server Native Client (PROGID: SQLNCLI11) de standaard OLE DB-provider.
Belangrijk
De SQL Server Native Client (vaak afgekort SNAC) is verwijderd uit SQL Server 2022 (16.x) en SQL Server Management Studio 19 (SSMS). Zowel de SQL Server Native Client OLE DB-provider (SQLNCLI of SQLNCLI11) als de verouderde Microsoft OLE DB-provider voor SQL Server (SQLOLEDB) worden niet aanbevolen voor nieuwe ontwikkeling. Schakel over naar het nieuwe Microsoft OLE DB-stuurprogramma (MSOLEDBSQL) voor SQL Server.
Gekoppelde servers aan Microsoft Access- en Excel-bronnen worden alleen ondersteund door Microsoft wanneer u de 32-bits Microsoft.JET.OLEDB.4.0 OLE DB-provider gebruikt.
Opmerking
Gedistribueerde SQL Server-query's zijn ontworpen voor gebruik met een OLE DB-provider die de vereiste OLE DB-interfaces implementeert. SQL Server is echter getest op basis van de standaard OLE DB-provider.
Details van gekoppelde server
In de volgende afbeelding ziet u de basisbeginselen van een gekoppelde serverconfiguratie.
              
               
              
              
            
Gekoppelde servers worden doorgaans gebruikt voor het verwerken van gedistribueerde query's. Wanneer een clienttoepassing een gedistribueerde query uitvoert via een gekoppelde server, parseert SQL Server de opdracht en verzendt deze aanvragen naar OLE DB. De rijsetaanvraag kan de vorm hebben van het uitvoeren van een query voor de provider of het openen van een basistabel van de provider.
Als u gegevens wilt retourneren via een gekoppelde server, moet de OLE DB-provider (DLL) voor die gegevensbron aanwezig zijn op dezelfde server als het exemplaar van SQL Server.
Gekoppelde servers ondersteunen Pass Through-verificatie van Active Directory bij gebruik van volledige delegatie. Vanaf SQL Server 2017 (14.x) CU17 wordt passthrough-verificatie met beperkte delegatie ook ondersteund; Beperkte delegering op basis van resources wordt echter niet ondersteund.
Belangrijk
Wanneer een OLE DB-provider wordt gebruikt, moet het account waaronder de SQL Server-service wordt uitgevoerd lees- en uitvoeringsmachtigingen hebben voor de map en alle submappen waarin de provider is geïnstalleerd. Dit omvat door Microsoft uitgebrachte providers en eventuele externe providers.
Aanbieders beheren
Er is een set opties waarmee wordt bepaald hoe SQL Server wordt geladen en gebruikmaakt van OLE DB-providers die zijn opgegeven in het register.
Definities van gekoppelde servers beheren
Wanneer u een gekoppelde server instelt, registreert u de verbindingsgegevens en gegevensbrongegevens bij SQL Server. Nadat deze is geregistreerd, kan die gegevensbron worden verwezen met één logische naam.
U kunt opgeslagen procedures en catalogusweergaven gebruiken om gekoppelde serverdefinities te beheren:
- Maak een definitie van een gekoppelde server door deze uit te voeren - sp_addlinkedserver.
- Bekijk informatie over de gekoppelde servers die zijn gedefinieerd in een specifiek exemplaar van SQL Server door een query uit te voeren in de - sys.serverssysteemcatalogusweergave.
- Verwijder een definitie van een gekoppelde server door uit te voeren - sp_dropserver. U kunt deze opgeslagen procedure ook gebruiken om een externe server te verwijderen.
U kunt gekoppelde servers ook definiëren met behulp van SQL Server Management Studio. Klik in Objectverkenner met de rechtermuisknop op Serverobjecten, selecteer Nieuw en selecteer Gekoppelde server. U kunt een definitie van een gekoppelde server verwijderen door met de rechtermuisknop op de naam van de gekoppelde server te klikken en Verwijderen te selecteren.
Wanneer u een gedistribueerde query uitvoert op een gekoppelde server, neemt u een volledig gekwalificeerde, vierdelige tabelnaam op voor elke gegevensbron waarop een query moet worden uitgevoerd. Deze vierdelige naam moet in het formulier <linked_server_name>.<catalog>.<schema>.<object_name>staan.
Verwijzingen naar tijdelijke objecten worden altijd omgezet naar de lokale instantie van tempdb waar van toepassing, zelfs wanneer de naam van de gekoppelde server vooraf wordt gevoegd.
Gekoppelde servers kunnen worden gedefinieerd om terug te wijzen (teruglopen) naar de server waarop ze zijn gedefinieerd. Loopback-servers zijn het handigst bij het testen van een toepassing die gebruikmaakt van gedistribueerde query's op één servernetwerk. Gekoppelde Loopback-servers zijn bedoeld voor testen en worden niet ondersteund voor veel bewerkingen, zoals gedistribueerde transacties.
Gekoppelde servers met Azure SQL Managed Instance
Gekoppelde Azure SQL Managed Instance-servers ondersteunen zowel SQL-verificatie als -verificatie met Microsoft Entra-id (voorheen Azure Active Directory).
Als u SQL Agent-taken in Azure SQL Managed Instance wilt gebruiken om een query uit te voeren op een externe server via een gekoppelde server, gebruikt u sp_addlinkedsrvlogin om een toewijzing te maken van een aanmelding op de lokale server naar een aanmelding op de externe server. Wanneer de SQL Agent-taak via de gekoppelde server verbinding maakt met de externe server, wordt de T-SQL-query uitgevoerd in de context van de externe aanmelding. Zie SQL Agent-taken met Azure SQL Managed Instance voor meer informatie.
Microsoft Entra-authenticatie
Twee ondersteunde Microsoft Entra-verificatiemodi zijn: beheerde identiteit en pass-through. Verificatie van beheerde identiteit kan worden gebruikt om lokale aanmeldingen toe te staan om query's uit te voeren op externe gekoppelde servers. Via doorstuurverificatie kan een principal die kan authenticeren met een lokaal exemplaar toegang tot een externe instantie verkrijgen via een gekoppelde server.
Als u passthrough-verificatie van Microsoft Entra wilt gebruiken voor een gekoppelde server in Azure SQL Managed Instance, hebt u de volgende vereisten nodig:
- Dezelfde principal wordt toegevoegd als een aanmelding op de externe server.
- Beide instanties zijn leden van de SQL-vertrouwensgroep.
Opmerking
Bestaande definities van gekoppelde servers die zijn geconfigureerd voor de passthrough-modus ondersteunen Microsoft Entra-verificatie. De enige vereiste hiervoor is om SQL Managed Instance toe te voegen aan de serververtrouwensgroep.
De volgende beperkingen gelden voor Microsoft Entra-verificatie voor gekoppelde servers in Azure SQL Managed Instance:
- Microsoft Entra-verificatie wordt niet ondersteund voor met SQL beheerde exemplaren in verschillende Microsoft Entra-tenants.
- Microsoft Entra-verificatie voor gekoppelde servers wordt alleen ondersteund met OLE DB-stuurprogrammaversie 18.2.1 en hoger.
SQL Server 2025 en MSOLEDBSQL versie 19
Vanaf SQL Server 2025 (17.x) Preview gebruikt de MSOLEDBSQL-provider standaard Microsoft OLE DB-stuurprogramma 19. Dit bijgewerkte stuurprogramma introduceert aanzienlijke beveiligingsverbeteringen, waaronder ondersteuning voor TDS 8.0 en TLS 1.3.
TDS 8.0 verbetert de beveiliging door een nieuwe versleutelingsoptie toe te voegen en introduceert een belangrijke wijziging: de Encryption parameter is niet langer optioneel. Deze moet worden ingesteld in uw verbindingsreeks wanneer deze zich richt op een ander SQL Server-exemplaar.
Opmerking
Zonder de Encrypt parameter hebben gekoppelde servers in SQL Server 2025 (17.x) Preview standaard een Encrypt=Mandatory geldig certificaat nodig. Verbindingen zonder een geldig certificaat mislukken.
De Encryption parameter biedt drie verschillende instellingen:
- 
              Yes, of , ofTrueMandatory
- 
              No, of , ofFalseOptional
- Strict
De Strict optie vereist het gebruik van TDS 8.0 en vereist een servercertificaat voor beveiligde verbindingen. Voor Yes/True/Mandatorywordt een vertrouwd certificaat verwacht. U kunt geen zelfondertekend certificaat gebruiken.
| OLE DB-versie | Versleutelingsparameter | Mogelijke waarden | Standaardwaarde | 
|---|---|---|---|
| OLE DB 18 | Facultatief | Trueof ,MandatoryofFalseNo | No | 
| OLE DB 19 | Vereist | Noof ,FalseofYesMandatory,Strict(nieuw) | Yes | 
De TrustServerCertificate parameter wordt ondersteund, maar wordt niet aanbevolen. Als u Vertrouwensservercertificaat instelt om certificaatvalidatie uit te Yes schakelen, wordt de beveiliging van versleutelde verbindingen verzwakt. Als u Vertrouwensservercertificaat wilt gebruiken, moet de client dit ook inschakelen in het computerregister. Zie Registerinstellingen voor informatie over het inschakelen van vertrouwensservercertificaat. Instelling TrustServerCertificate=Yes wordt niet aanbevolen voor productieomgevingen.
Bij gebruik van Encrypt=False of Encrypt=Optional:
- Er is geen certificaat vereist.
- Als er een vertrouwd certificaat is opgegeven, wordt het niet gevalideerd.
- Biedt geen verbindingsversleuteling.
Wanneer u het volgende gebruikt Encrypt=True of Encrypt=Mandatory niet gebruikt TrustServerCertificate=Yes:
- Vereist een geldig ca-ondertekend certificaat.
- Het certificaat moet overeenkomen met de FQDN van de server.
- Als de alternatieve naam in het certificaat verschilt van de SQL Server-hostnaam, HostNameInCertificatemoet deze worden ingesteld op de FQDN.
- Het certificaat moet worden geïnstalleerd in het archief vertrouwde basiscertificeringsinstanties op de clientcomputer.
Wanneer u het volgende gebruikt Encrypt=Strict:
- Dwingt TDS 8.0 af.
- Vereist een geldig ca-ondertekend certificaat met FQDN-overeenkomst.
- 
              HostNameInCertificatemoet worden ingesteld op de FQDN.
- Het certificaat moet worden vertrouwd door het clientsysteem.
- 
              TrustServerCertificateconfiguratie wordt niet ondersteund. Dit betekent dat er een geldig certificaat aanwezig moet zijn.
| Instelling van de clientinstelling voor het certificaat van de vertrouwde server | Verbindingsreeks/verbindingskenmerk Trust Server-certificaat | Certificaatvalidatie | 
|---|---|---|
| 0 | No(standaard) | Ja | 
| 0 | Yes | Ja | 
| 1 | No(standaard) | Ja | 
| 1 | Yes | Nee. | 
Deze instellingen moeten correct worden opgegeven in de verbindingsreeks bij het configureren van gekoppelde serververbindingen om compatibiliteit en beveiliging met het nieuwe stuurprogramma te garanderen.
Bijwerken van eerdere OLEDB-versies
Van toepassing op: SQL Server 2025 (17.x) Preview en latere versies
Wanneer u migreert van eerdere edities van SQL Server naar SQL Server 2025 (17.x) Preview met Microsoft OLE DB Driver 19, kunnen bestaande gekoppelde serverconfiguraties mislukken. Verschillende standaardwaarden voor de versleutelingsparameter kunnen deze fout veroorzaken, tenzij er een geldig certificaat is opgegeven.
U kunt ook de gekoppelde server opnieuw maken en opnemen Encrypt=Optional in de verbindingsreeks. Als u de configuratie van de gekoppelde server niet kunt wijzigen, schakelt u traceringsvlag 17600 in om het gedrag en de standaardinstellingen van OLE DB 18 te behouden.
In de wizard Sql Server Managed Studio (SSMS) gekoppelde server maken moet de optie Andere gegevensbronnen worden gebruikt om de opties voor versleuteling van de gekoppelde server handmatig te configureren.
Zie Versleuteling en certificaatvalidatie in OLE DB voor meer informatie over OLE DB 19, versleuteling en het gedrag van certificaten en Trust Server Certificate voor OLE DB 19.