SQLShack (Norsk)

Knyttet servere tillater å sende en T-SQL-setningen på en SQL Server-instans, som returnerer data fra andre SQL Server-forekomster. En koblet server gjør det mulig å bli med data fra flere SQL Server-forekomster ved hjelp av en enkel T-SQL-uttrykk når det finnes data på flere databaser på ulike SQL-forekomster. Ved hjelp av en koblet server for å hente data fra flere SQL-forekomster, det eneste som bør gjøres, er å koble til en SQL-eksempel.,

Det er to måter å konfigurere koblet server i SSMS. En måte er ved å bruke sp_addlinkedserver system lagret prosedyre og en annen er ved hjelp av SQL Server Management Studio (SSMS) GUI-grensesnitt.

I denne artikkelen vil bli forklart hvordan du konfigurerer en koblet server ved hjelp av en SQL Server-data kilde. Mer informasjon om andre datakilder kan bli funnet på denne linken.,

for Å se alle skapt knyttet servere i SSMS, under Object Explorer, valgte Serveren Objekter mappen og utvide Knyttet Servere mappe:

for Å opprette en koblet server i SSMS, høyreklikk på den Tilkoblede Servere mappen og fra kontekst-menyen velger du den Nye Koblet Server alternativ:

Den Nye Koblet Server i dialogboksen vises:

I denne dialogboksen, navnet på en koblet server og server skriver du må være identifisert., Den tilkoblede servere kan defineres for ulike typer data som kilde hvis den Andre datakilden knappen er valgt. For hensikten med denne artikkelen, SQL Server radio-knappen under Server-type-delen vil bli valgt og i den Tilknyttede serveren tekst-boks, navnet på serveren, vil bli skrevet inn:

Hvis SQL Server-type er valgt til å konfigurere en SQL Server koblet server, navnet som er angitt i den Tilknyttede serveren tekst-boks må være navnet på den eksterne SQL Server.,

Hvis en SQL Server-forekomsten er standard eksempel, skriv inn navnet på datamaskinen som er vert for forekomsten av SQL Server (f.eks. WSERVER2012). Hvis SQL Server er en navngitt forekomst, skriver du inn navnet på datamaskinen og navnet på forekomsten skilt med skråstrek (f.eks. WSERVER2012\SQLEXPRESS).,

Ellers følgende feil kan oppstå når OK-knappen er trykket inn:

for Å angi hvordan en bruker ville godkjenne den WSERVER2012\SQLEXPRESS eksempel, under Velg en side delen på øvre venstre hjørne av den Nye Koblet Server i dialogboksen, velg Sikkerhet-element:

Her forskjellige måter å autentisere knyttet server kan stilles inn.

Under den Lokale serveren logg inn til ekstern server logg avbildninger, to måter lokale logging til en ekstern pålogging kan stilles inn., En måte er å knytte en lokal pålogging med en ekstern pålogging og andre måten er å utgi seg for å være.

Lokale Logg på

I den Lokale Login-feltet, vil bli listet opp alle lokale innlogginger. Den lokale innlogging kan være en SQL Server-Godkjenning lokale logge inn:

Eller en Windows-Godkjenning logge inn:

Nå, når du klikker på OK-knappen på Nytt Koblet Server i dialogboksen følgende feilmelding vises:

login kartlegginger bør enten være utgi seg for å være eller ha en ekstern pålogging navn.,

Se bildet nedenfor:

Dette skjer fordi Utgi seg for å være avmerkingsboksen ikke er merket av.

Utgi

Opptre sjekk-boksen når det er merket passerer den lokale påloggingsinformasjon til koblet server., For SQL Server-Godkjenning, samme pålogging med nøyaktig legitimasjon må finnes på lenkede server, ellers når koblet til en server med SQL Server-Godkjenning, listen av databaser under Kataloger mappen kan se ut som dette:

For Windows-pålogging, brukernavn må være et gyldig brukernavn på lenkede server. For å bruke falsk identitet, delegering mellom den lokale serveren og den tilknyttede serveren må være satt.

La oss opprette en koblet server ved hjelp av den lokale Windows-pålogging., Fra Lokale Logg inn combo box, velger du den lokale Windows-logg inn og sjekk Opptre boksen og trykk på OK-knappen:

Under Kataloger mappe, alle databaser som er plassert på den tilknyttede serveren, vil bli listet opp:

Remote User

Den eksterne brukeren alternativet lar brukere fra lokale SQL server til å koble deg til de koblede SQL server selv om sine akkreditiver ikke vises på en ekstern server ved hjelp av opplysninger fra brukeren som finnes på den eksterne serveren., I utgangspunktet, det gjør lokale innlogginger for å koble til en ekstern server som en annen pålogging at det må finnes på en ekstern server.

Ekstern Passord

Angi passord til den eksterne brukeren.

Fra den Lokale Logg inn rullegardinlisten, velg en lokal pålogging som bør kart til en ekstern pålogging. På den Eksterne Brukeren-feltet, skriv inn navnet på den eksterne brukeren som finnes på den eksterne serveren, og i den Eksterne Passord arkivert, skriv inn et passord til den eksterne brukeren.,e7″>

i Tillegg, på Lenkede Server dialog, det kan bli identifisert hvordan pålogginger som ikke er angitt i Lokal server logg inn til ekstern server logg tilordninger listen vil koble til den tilknyttede serveren, for at det er fire alternativer som kan brukes og de ligger under For et brukernavn som ikke er definert i listen over tilkoblinger, vil avsnittet:

Ikke bli gjort

Hvis denne knappen er valgt, vil alle brukere som ikke er identifisert i den Lokale serveren logg inn til ekstern server logg tilordninger liste ikke kan opprette tilkobling til den sammenkoblede server.,

For eksempel, hvis logg på med en annen konto (f.eks. Ben) som ikke er satt i login-kartlegging listen av databaser under Kataloger mappen vil se ut som dette:

Hvis du forsøker å utføre en koblet server spørring:

1
2
3

SELECT * FROM .AdventureWorks2014.HumanResources.,Ansattes e

følgende resultat vil vises:

Msg 7416 Nivå 16, Tilstand 1, Line 1
få Tilgang til den eksterne serveren er avvist fordi ingen login-kartlegging eksisterer.

Bli gjort uten å bruke en sikkerhet kontekst

Den gjøres uten å bruke en security sammenheng alternativet brukes for å koble til datakilder som ikke krever noen godkjenning, for eksempel som en tekstfil., Når dette alternativet er valgt for å koble til en koblet server, vil ha samme effekt som å velge «Ikke er» alternativet.

Hvis du forsøker å utføre en koblet server spørring:

1
2
3

SELECT * FROM .AdventureWorks2014.HumanResources.,Employee e

The following message e may appear:

OLE DB provider «SQLNCLI11” for linked server «WSERVER2012\SQLEXPRESS” returned message «Invalid authorization specification”.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider «SQLNCLI11” for linked server «WSERVER2012\SQLEXPRESS” reported an error. Authentication failed.,
Msg 7303 Nivå 16, Tilstand 1, Line 1

kan Ikke initialisere datakilden objekt av OLE DB provider «SQLNCLI11» for koblede server «WSERVER2012\SQLEXPRESS».

Bli gjort med login gjeldende sikkerhetskonteksten

Hvis dette alternativet er valgt, vil den passere gjeldende sikkerhets sammenheng med lokal pålogging til ekstern pålogging. Hvis Windows-Godkjenning brukes, windows identifikasjon som skal brukes til å koble til en ekstern SQL server. Hvis SQL Server-Godkjenning brukes, da de lokale påloggingsinformasjon vil bli sendt til ekstern SQL Server., Merk, for å opprette forbindelse til den eksterne serveren er vellykket, så brukeren med nøyaktig samme legitimasjon må finnes på den eksterne serveren ellers når du utfører en koblet server spørring:

1
2
3

SELECT * FROM .AdventureWorks2014.HumanResources.,Ansattes e

følgende melding vises:

Msg 18456, Nivå 14, Tilstand 1, Line 1
Pålogging mislyktes for brukeren ‘Ben’.

Bli gjort ved hjelp av denne sikkerhetsoppdateringen kontekst

Den fjerde alternativet under For et brukernavn som ikke er definert i listen over tilkoblinger, vil delen Bli gjort ved hjelp av denne sikkerhetsoppdateringen sammenheng., I Remote login og passord feltene, skriv inn legitimasjonen for SQL Server-Godkjenning logg inn som eksisterer på en ekstern server, ellers følgende feil kan oppstå:

Den siste objekt under Velge en side i menyen er den Serveren Valg element. Når du velger dette alternativet, vil følgende vindu vises:

Her flere alternativer for tilknyttede serveren kan bli sett eller satt.

Sortering Kompatibel

Det første alternativet er Sortering Kompatible alternativ., Dette alternativet brukes til å identifisere hvis knyttet server har samme sortering som den lokale serveren. Bør dette alternativet satt til Sann bare hvis det er kjent at den tilknyttede serveren har samme sortering som lokale, ellers bør den settes til False (standard).

Data Access

Dette alternativet brukes til å tillate/nekte tilgang til koblede server data. Hvis dette alternativet er satt til False, tilgang til eksterne vil bli avslått. Dette alternativet er nyttig å deaktivere tilgang til en ekstern server timelig., Følgende melding vises når du utfører en koblet server spørring og dette alternativet er satt til False:

Msg 7411 Nivå 16, Tilstand 1, Line 1
– Server ‘WSERVER2012\SQLEXPRESS’ er ikke konfigurert for TILGANG til DATA.

standard-alternativet er satt til True

RPC-og RCP Ut

Dette RCP (Remote Procedure Call) brukes til å aktivere tilgang til eksterne prosedyrer for å bli kalt fra den tilknyttede serveren, eller for å bli kalt til koblet server.,

Hvis disse alternativene ikke er False, kan følgende feilmelding vises når noen prosedyrer fra den sammenkoblede server er kalt:

Msg 7411 Nivå 16, Tilstand 1, Linje 4
– Server ‘WSERVER2012\SQLEXPRESS’ er ikke konfigurert for RPC.,

som standard, den Falske verdi er angitt for RPC-og RCP Ut valg

Bruk Eksterne Sortering

Når dette alternativet er satt til Sann, innhenting av eksterne kolonner vil bli brukt, og samlingen er angitt i innstillingen for Sortering Navn arkivert vil bli brukt for data kilde som ikke SQL Server data kilde, men hvis alternativet er satt til False så sortering for den lokale serveren vil bli brukt. Som standard er False.,

Sortering Navn

Hvis du Bruker Ekstern Sortering arkivert satt til True, vil dette alternativet brukes til å angi sortering navnet på den tilknyttede serveren til datakilden som ikke SQL Server data kilde. Når du velger en sortering navn, det må være en sortering som SQL Server støtter.

Tidsavbrudd for Tilkobling

Dette alternativet brukes til å angi den maksimale tiden den lokale serveren, bør du vente for å få en tilkobling til den sammenkoblede server SQL Server-forekomsten. Hvis 0 (null) er angitt, og deretter alternativet server for ekstern tidsavbrudd for pålogging brukes. Standard 10 andre er satt for dette alternativet., Merk, standardverdien for SQL Server 2008 er 20 sekunder.

Spørring Timeout

Dette alternativet brukes til å angi hvor lang tid, i sekunder, som er en ekstern prosessen kan ta før tiden er ute. Standard verdi er 600 sekund (10 minutter). For å deaktivere spørring timeout satt til 0 (null) i dette feltet, og søket vil vente til det er ferdig.

Distributør

I dette alternativet, kan det være angitt om de koblede server deltar i replikering som en fordeling Utgiver.,

Distributøren er en database eksempel, som fungerer som en butikk for replikering spesifikke data knyttet til én eller flere Utgivere

Utgiver

I dette alternativet, kan det være angi om den tilknyttede serveren til å være en replikering utgiveren eller ikke. Hvis det er Sant, de koblede server er en utgiver. Ellers er det ikke.

Utgiveren er en database som eksempel, som gjør at data tilgjengelige andre steder gjennom replikasjon.

Abonnent

I dette alternativet, kan det være angitt om de koblede server er en replikasjon abonnent eller ikke.,

En Abonnent er en database eksempel, som får identiske data.

Mer informasjon om Distributøren, Utgiver, Abonnent kan bli funnet på Replikering Publisering Modell Oversikt side.

Lat-skjema validering

Dette alternativet kontrollerer skjema endringer som har funnet sted siden samling i den eksterne tabeller. Hvis dette alternativet er satt til False (standardinnstillinger), SQL Server sjekker endringer før utførelse av en spørring, og hvis det er noen endringer, er det recompiles spørringen., Hvis Lat-skjema validering er satt til True, en SQL Server-forsinkelse skjemaet sjekker den eksterne tabeller til spørring utførelse.

Aktiver Markedsføring av Distribuerte Transaksjoner

Dette alternativet brukes til å beskytte handlinger av en server-til-server-prosedyren gjennom en Microsoft Distributed Transaction Coordinator (MS DTC) transaksjonen. Hvis dette alternativet er satt til True ringer en remote lagret prosedyre starter en distributed transaction og verver transaksjonen med MS DTC.

Nå, når alt er satt klikker du på OK-knappen på den Nye Koblet Server i dialogboksen., En nylig opprettet knyttet serveren, vises under Koblet Server mappen.,rks riktig, gå til høyre-klikke på det tilknyttede serveren, og velg Test Tilkoblingen:

Hvis en forbindelse med koblede serveren er opprettet, følgende info meldingsboksen vises:

på annen måte, en feilmelding vises som viser et problem som forhindrer tilkobling for å være opprettet:

Spørring data ved hjelp av en koblet server

Spørring data fra den sammenkoblede server er en litt annerledes da spørring data fra lokale SQL Server., I vanlig spørsmål, vanligvis to del-notasjon er brukt . for eksempel HumanResources.Ansatte:

1
2
3

SELECT * FROM HumanResources.Ansattes e

Når det sendes en spørring til en tabell fra en koblet server, den fjerde delen notasjon er brukt LinkedServer.Database.Skjema.Objektnavn., For å få data fra Ansatte-tabellen som ligger i en database på lenkede server, spørring koden vil se ut som dette:

1
2
3

SELECT * FROM …,

Slette en koblet server

for Å slette en koblet server, under den Tilkoblede Servere mappe, høyreklikk på lenkede server og fra kontekst-menyen velger du Delete kommando:

Dette vil åpne Slette Objektet dialogboksen:

Klikk på OK-knappen og fra meldingsboksen, velger du på Ja-knappen:

Hvis alt går bra knyttet server vil bli fjernet fra den Tilkoblede Servere mappen., Server koblet server ved hjelp av Handle-SQL

  • Hvordan å spørre Excel-data ved hjelp av SQL Server knyttet servere
  • Hvordan du konfigurerer en Koblet Server ved hjelp av ODBC-driveren
  • Hvordan å opprette en koblet server til en Asurblå SQL database
    • Forfatter
    • Siste Innlegg
    Marko aka «Zivko» er en ledende programvare analytiker fra Nis i Serbia fokus på SQL Server og MySQL så vel som klient teknologier som SSMS, Visual Studio, og VSCode., Han har omfattende erfaring med kvalitetssikring, problemet eskalering/oppløsning, og produktet evangelisering.
    Han er en produktiv forfatter av autoritative innhold relatert til SQL Server, inkludert en rekke «platinum» artikler (topp 1% i form av popularitet og engasjement). Han skrev dekker en rekke emner på MySQL og SQL Server, inkludert fjernkontroll/tilknyttede servere, import/eksport, LocalDB, SSMS, og mer.
    I hans del-tid, Zivko liker basketball, foosball (bord-fotball), og rock musikk.,
    Se mer om Marko på LinkedIn
    Vis alle innlegg av Marko Zivkovic

    Siste innlegg av Marko Zivkovic (se alle)
    • Hvordan du skal koble til en ekstern MySQL server ved hjelp av SSL på Ubuntu – April 28, 2020
    • Hvordan du skal installere MySQL på Ubuntu – Mars 10, 2020
    • ved Hjelp av SSH-nøkler for å koble til en ekstern MySQL Server – November 28, 2019

    Share

    Legg igjen en kommentar

    Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *