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


Csatolt kiszolgálók létrehozása (SQL Server Adatbázismotor)

A következőkre vonatkozik:SQL ServerAzure SQL Kezelt Példány

Ez a cikk bemutatja, hogyan hozhat létre csatolt kiszolgálót, és hogyan érheti el az adatokat egy másik SQL Serverről, egy felügyelt Azure SQL-példányból vagy egy másik adatforrásból az SQL Server Management Studio (SSMS) vagy a Transact-SQL használatával. A csatolt kiszolgálók lehetővé teszik, hogy az SQL Server adatbázismotorja és a felügyelt Azure SQL-példány adatokat olvasson be a távoli adatforrásokból, és parancsokat hajtson végre az SQL Server-példányon kívüli távoli adatbázis-kiszolgálókon (például OLE DB-adatforrásokon).

Háttér

A csatolt kiszolgálók általában úgy vannak konfigurálva, 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. Számos típusú adatforrás konfigurálható csatolt kiszolgálóként, beleértve a külső adatbázis-szolgáltatókat és az Azure Cosmos DB-t.

A csatolt kiszolgáló létrehozása után elosztott lekérdezések futtathatók ezen a kiszolgálón, és a lekérdezések több adatforrásból is csatlakozhatnak táblákhoz. Ha a csatolt kiszolgáló SQL Server-példányként vagy felügyelt Azure SQL-példányként van definiálva, távoli tárolt eljárások is végrehajthatók.

A csatolt kiszolgáló képességei és szükséges argumentumai jelentősen eltérhetnek. A cikkben szereplő példák egy tipikus példát mutatnak be, de nem minden lehetőséget ismertetnek. További információ: sp_addlinkedserver.

Engedélyek

Transact-SQL utasítások használatakor engedélyre van szükség ALTER ANY LINKED SERVER a kiszolgálón vagy a setupadmin rögzített kiszolgálói szerepkörben való tagsághoz. A Management Studio használatakor engedélyre vagy tagságra van szükség CONTROL SERVER a sysadmin rögzített kiszolgálói szerepkörben.

Csatolt kiszolgáló létrehozása SSMS-sel

Hozzon létre egy társított kiszolgálót SSMS-sel az alábbi eljárással:

Az Új csatolt kiszolgáló párbeszédpanel megnyitása

Az SQL Server Management Studióban (SSMS):

  1. Nyissa meg az Object Explorert.
  2. Nyissa meg a(z) kiszolgálóobjektumok.
  3. Kattintson a jobb gombbal Kapcsolt kiszolgálók.
  4. Válassza a(z) Új csatolt szerverlehetőséget.

A csatolt kiszolgáló tulajdonságainak Általános lapjának szerkesztése

  1. A Általános lapon, a Csatolt kiszolgáló mezőben írja be annak a SQL Server- példánynak a nevét, amelyhez csatlakozni kíván.

    Jegyzet

    Ha az SQL Server példánya az alapértelmezett példány, adja meg annak a számítógépnek a nevét, amely a SQL Serverpéldányt üzemelteti. Ha a SQL Server egy nevesített példány, adja meg a számítógép nevét és a példány nevét, például Accounting\SQLExpress.

  2. Szükség esetén adja meg a kiszolgálótípust és a kapcsolódó információkat:

    • SQL Server

      Azonosítsa a csatolt kiszolgálót a Microsoft SQL Server vagy egy felügyelt Azure SQL-példány példányaként. Ha ezt a módszert használja egy csatolt kiszolgáló definiálásához, a csatolt kiszolgáló megadott névnek a kiszolgáló hálózati nevének kell lennie. Emellett a kiszolgálóról lekért táblák a csatolt kiszolgálón való bejelentkezéshez definiált alapértelmezett adatbázisból származnak.

    • Egyéb adatforrás-

      Adjon meg egy, az SQL Serveren kívüli OLE DB-kiszolgálótípust. Válassza ezt a lehetőséget a beállítások aktiválásához.

    • szolgáltató

      Válasszon ki egy OLE DB-adatforrást a listamezőből. Az OLE DB-szolgáltató a megadott PROGID-del van regisztrálva a rendszerleíró adatbázisban.

    • terméknév

      Írja be a csatolt kiszolgálóként hozzáadni kívánt OLE DB-adatforrás terméknevét.

    • adatforrás

      Írja be az adatforrás nevét az OLE DB-szolgáltató által értelmezett módon. Ha SQL Server-példányhoz csatlakozik, adja meg a példány nevét.

    • szolgáltatói karaktersor

      Írja be az adatforrásnak megfelelő OLE DB-szolgáltató egyedi programozott azonosítóját (PROGID). Példák érvényes szolgáltatói sztringekre: sp_addlinkedserver.

    • hely

      Írja be az adatbázis helyét az OLE DB-szolgáltató által értelmezett módon.

    • katalógus

      Írja be annak a katalógusnak a nevét, amelyet az OLE DB-szolgáltatóval való kapcsolat létesítésekor használni szeretne.

A csatolt kiszolgáló tulajdonságainak biztonsági lapjának szerkesztése

A Biztonsági lapon adja meg azt a biztonsági környezetet, amelyet akkor használ, amikor az eredeti példány csatlakozik a csatolt kiszolgálóhoz. Itt két olyan stratégiát kell konfigurálni, amelyek önállóan vagy kombinálva használhatók. Az első a bejelentkezések leképezése a helyi kiszolgálóról a távoli kiszolgálóra, a második pedig az, hogy a csatolt kiszolgáló hogyan kezelje azokat a bejelentkezéseket, amelyek nincsenek leképezve.

Bejelentkezési leképezések hozzáadása

Megadhatja, hogy az egyes helyi kiszolgálói bejelentkezések hogyan hitelesíthetők a csatolt kiszolgáló használatával.

A helyi szerver és távoli szerver közötti bejelentkezési leképezésekrészén hajtsa végre a következő folyamatot minden megfeleltetendő bejelentkezésnél:

  1. Válassza a -t, adja hozzá az-et.

  2. Adjon meg egy helyi bejelentkezést.

    Adja meg a csatolt kiszolgálóhoz csatlakozni képes helyi bejelentkezést. A helyi bejelentkezés lehet SQL Server-hitelesítést használó bejelentkezés vagy Windows-hitelesítéses bejelentkezés. Windows-csoport vagy tartalmazott adatbázis-felhasználó használata nem támogatott. Ezzel a listával korlátozhatja a kapcsolatot adott bejelentkezésekre, vagy engedélyezheti, hogy egyes bejelentkezések más bejelentkezésként csatlakozzanak.

    Jegyzet

    A Windows-hitelesítést távoli SQL Server-példányra használó csatolt kiszolgálókkal kapcsolatos gyakori problémák a szolgáltatásnévnevekkel (SPN-ekkel) kapcsolatos problémákból erednek. További információ: Szolgáltatásnév (SPN) támogatása az ügyfélkapcsolatokban. Microsoft Kerberos Configuration Manager for SQL Server egy diagnosztikai eszköz, amely segít elháríteni az SQL Serverrel kapcsolatos Kerberos-kapcsolati problémákat. További információ: Microsoft Kerberos Configuration Manager for SQL Server.

  3. Válassza Megszemélyesítés (nem kötelező).

    Adja át a felhasználónevet és a jelszót a helyi bejelentkezésből a csatolt kiszolgálónak. Az SQL Server-hitelesítéshez a távoli kiszolgálón pontosan ugyanazzal a névvel és jelszóval rendelkező bejelentkezésnek kell lennie. Windows-bejelentkezések esetén a bejelentkezésnek érvényes bejelentkezésnek kell lennie a csatolt kiszolgálón.

    A megszemélyesítés használatához a konfigurációnak meg kell felelnie a delegálási követelménynek.

  4. Adjon meg egy távoli felhasználó, ha nem használ megszemélyesítést.

    A távoli felhasználót használja a helyi bejelentkezésialatt meghatározott felhasználó társítására. A távoli felhasználói bejelentkezésnek SQL Serveres hitelesítést kell használnia a távoli kiszolgálón.

  5. Adjon meg a távoli jelszót, amennyiben nem használja a megszemélyesítést.

    Adja meg a távoli felhasználó jelszavát.

  6. Ha szükséges, válassza a eltávolítása lehetőséget egy meglévő helyi bejelentkezés eltávolításához.

Adja meg a leképezési listában nem szereplő bejelentkezések alapértelmezett biztonsági környezetét

Olyan tartományi környezetben, ahol a felhasználók a tartományi bejelentkezések használatával csatlakoznak, gyakran a legjobb választás a A bejelentkezés aktuális biztonsági környezetének használatával történő kiválasztása. Amikor a felhasználók egy SQL Server bejelentkezéssel csatlakoznak az eredeti SQL Server-hez, gyakran a legjobb választás a Ezzel a biztonsági környezettellehetőség kiválasztása, majd a szükséges hitelesítő adatok megadása a csatolt kiszolgálón történő hitelesítéshez.

Válasszon az alábbi lehetőségek közül:

  • nem készíthető

    A listában nem definiált bejelentkezésekhez nem jön létre kapcsolat.

  • Készüljenek a biztonsági környezet használata nélkül

    A kapcsolat biztonsági környezet használata nélkül jön létre a listában nem definiált bejelentkezésekhez.

  • Legyen elkészítve a bejelentkezés aktuális biztonsági környezetével

    A kapcsolat a bejelentkezés aktuális biztonsági környezetével jön létre a listában nem definiált bejelentkezésekhez. Ha Windows-hitelesítéssel csatlakozik a helyi kiszolgálóhoz, a rendszer a Windows hitelesítő adatait használja a távoli kiszolgálóhoz való csatlakozáshoz. Ha SQL Server-hitelesítéssel csatlakozik a helyi kiszolgálóhoz, a rendszer a bejelentkezési nevet és a jelszót használja a távoli kiszolgálóhoz való csatlakozáshoz. Ebben az esetben a távoli kiszolgálón pontosan ugyanazzal a névvel és jelszóval rendelkező bejelentkezésnek kell lennie.

  • Legyen használva ezzel a biztonsági kontextussal

    A kapcsolat a távoli bejelentkezésben megadott bejelentkezéssel és jelszóval jön létre, a listában nem szereplő bejelentkezésekhez pedig jelszómezőkkel. A távoli bejelentkezésnek SQL Server-hitelesítési bejelentkezésnek kell lennie a távoli kiszolgálón.

Figyelem

Ha egy csatolt kiszolgálót olyan beállítással konfigurál, Ezt a biztonsági környezetetkell használnia, a példány bármely felhasználója ezzel a környezettel érheti el a távoli csatolt kiszolgálót. Ez lehet a nem szándékos visszaélés vagy rosszindulatú belső hozzáférés lehetősége. Az SQL-hitelesítésű távoli bejelentkezéshez, amely a csatolt kiszolgálónak lett biztosítva, minimálisan szükséges engedélyeket kell adni a távoli kiszolgálón a legkisebb jogosultság elvének biztosítása és a támadási felület csökkentése érdekében.

A Kiszolgáló beállításai lap szerkesztése a csatolt kiszolgáló tulajdonságaiban (nem kötelező)

A kiszolgálóbeállítások megtekintéséhez vagy megadásához válassza a Kiszolgáló beállításai lapot. Az alábbi lehetőségek bármelyikét szerkesztheti:

  • karakterrendezéssel kompatibilis

    Hatással van az elosztott lekérdezések csatolt kiszolgálókon történő végrehajtására. Ha ez a beállítás igaz értékre van állítva, az SQL Server feltételezi, hogy a csatolt kiszolgáló összes karaktere kompatibilis a helyi kiszolgálóval a karakterkészlet és a rendezési sorrend (vagy rendezési sorrend) tekintetében. Ez lehetővé teszi, hogy az SQL Server a karakteroszlopokon lévő összehasonlításokat elküldje a szolgáltatónak. Ha ez a beállítás nincs beállítva, az SQL Server mindig helyileg értékeli ki a karakteroszlopok összehasonlítását.

    Ezt a beállítást csak akkor kell beállítani, ha biztos abban, hogy a csatolt kiszolgálónak megfelelő adatforrás karakterkészlete és rendezési sorrendje megegyezik a helyi kiszolgálóéval.

  • Adatelérési

    Engedélyezi és letiltja a csatolt kiszolgálót az elosztott lekérdezési hozzáféréshez.

  • RPC-

    Engedélyezi a távoli eljáráshívásokat (RPC) a megadott kiszolgálóról.

  • RPC kimenet

    Engedélyezi az RPC-t a megadott kiszolgálón.

  • Távoli sorba rendezés alkalmazása

    Meghatározza, hogy egy távoli oszlop vagy egy helyi kiszolgáló rendezése van-e használva.

    Ha igaz, a távoli oszlopok rendezése az SQL Server-adatforrásokhoz, a rendezési névben megadott rendezés pedig nem SQL Server-adatforrásokhoz használatos.

    Ha hamis, az elosztott lekérdezések mindig a helyi kiszolgáló alapértelmezett rendezési módját használják, míg a rendszer figyelmen kívül hagyja a rendezés nevét és a távoli oszlopok rendezési módját. Az alapértelmezett érték hamis.

  • rendezési név

    A távoli adatforrás által használt rendezés nevét adja meg, ha a távoli rendezés használata igaz, és az adatforrás nem SQL Server-adatforrás. A névnek az SQL Server által támogatott rendezések egyikének kell lennie.

    Ezt a lehetőséget akkor használja, ha az SQL Serveren kívüli OLE DB-adatforráshoz fér hozzá, de a rendezés megegyezik az SQL Server-rendezések egyikével.

    A csatolt kiszolgálónak egyetlen rendezést kell támogatnia, amelyet a kiszolgáló összes oszlopához használni kell. Ne állítsa be ezt a beállítást, ha a csatolt kiszolgáló több rendezést támogat egyetlen adatforráson belül, vagy ha a csatolt kiszolgáló rendezése nem határozható meg az SQL Server-rendezések egyikének megfelelően.

  • Kapcsolat időtúllépése

    A csatolt kiszolgálóhoz való csatlakozás időtúllépési értéke másodpercben.

    Ha 0, használja az sp_configure alapértelmezett távoli bejelentkezési időkorlát beállítás értékét.

  • lekérdezés időtúllépési

    Időtúllépési érték másodpercben a csatolt kiszolgálóra irányuló lekérdezésekhez.

    Ha 0, használja az sp_configure alapértelmezett távoli lekérdezés időtúllépési beállításértékét.

  • Elosztott tranzakciók előléptetésének engedélyezése

    Ezzel a beállítással megvédheti a kiszolgálók közötti eljárás műveleteit egy Microsoft Distributed Transaction Coordinator (MS DTC) tranzakción keresztül. Ha ez a beállítás IGAZ, a távoli tárolt eljárás meghívása elindít egy elosztott tranzakciót, és bejegyzi a tranzakciót az MS DTC-vel. További információ: sp_serveroption.

A csatolt kiszolgáló mentése

Válassza OKlehetőséget.

Csatolt kiszolgáló szolgáltatói beállításainak megtekintése vagy szerkesztése az SSMS-ben

Nem minden szolgáltató rendelkezik ugyanazokkal a lehetőségekkel. Egyes adattípusokhoz például elérhető indexek tartoznak, mások pedig nem. Ezen a párbeszédpanelen az SQL Server megismerheti a szolgáltató képességeit. Az SQL Server néhány gyakori adatszolgáltatót telepít, azonban ha az adatszolgáltató terméke megváltozik, előfordulhat, hogy az SQL Server által telepített szolgáltató nem támogatja a legújabb funkciókat. Az adatokat szolgáltató termék képességeivel kapcsolatos legjobb információforrás az adott termék dokumentációja.

Az SSMS-ben nyissa meg a csatolt kiszolgáló Szolgáltatók beállításai lapot:

  1. Nyissa meg az Object Explorert.
  2. Nyissa meg a(z) kiszolgálóobjektumok.
  3. Bontsa ki csatolt kiszolgálók.
  4. Nyissa ki Szolgáltatók.
  5. Kattintson a jobb gombbal egy szolgáltatóra, és válassza a Tulajdonságoklehetőséget.

A szolgáltatói beállítások a következőképpen vannak definiálva:

  • dinamikus paraméter

    Azt jelzi, hogy a szolgáltató engedélyezi ? a paraméterjelölő szintaxisát a paraméteres lekérdezésekhez. Ezt a beállítást csak akkor állítsa be, ha a szolgáltató támogatja az ICommandWithParameters felületet, és támogatja ? a paraméterjelölőt. Ezzel a beállítással az SQL Server paraméteres lekérdezéseket hajthat végre a szolgáltatón. A paraméteres lekérdezések szolgáltatón való végrehajtásának képessége bizonyos lekérdezések jobb teljesítményét eredményezheti.

  • beágyazott lekérdezések

    Azt jelzi, hogy a szolgáltató engedélyezi a beágyazott SELECT utasításokat a FROM záradékban. Ha ezt a beállítást választja, az SQL Server bizonyos lekérdezéseket delegálhat a szolgáltatónak, amelyek beágyazási SELECT utasításokat igényelnek a FROM záradékban.

  • nulla szint csak

    A rendszer csak 0. szintű OLE DB-adaptereket hív meg a szolgáltatóval szemben.

  • Folyamaton belül engedélyezés

    Az SQL Server lehetővé teszi a szolgáltató számára a példányosítást folyamatban lévő kiszolgálóként. Ha ez az opció nincs megadva, az alapértelmezett viselkedés a szolgáltató létrehozása az SQL Server-folyamaton kívül történik. Ha a szolgáltatót az SQL Server-folyamaton kívül hozza létre, az megvédi az SQL Server-folyamatot a szolgáltató hibáitól. Ha a szolgáltatót az SQL Server-folyamaton kívül példányosítják, akkor nem engedélyezett a frissítések vagy beszúrások végrehajtása hosszú oszlopokra (szöveges, ntextvagy kép).

  • Nem tranzakciós frissítések

    Az SQL Server akkor is engedélyezi a frissítéseket, ha ITransactionLocal nem érhető el. Ha ez a beállítás engedélyezve van, a szolgáltató frissítései nem állíthatók helyre, mert a szolgáltató nem támogatja a tranzakciókat.

  • Index mint hozzáférési út

    Az SQL Server a szolgáltató indexeit próbálja meg adatok beolvasására használni. Alapértelmezés szerint az indexek csak metaadatokhoz használhatók, és soha nem nyílnak meg

  • Alkalmi hozzáférés letiltása

    Az SQL Server nem engedélyezi az alkalmi hozzáférést az OPENROWSET és az OPENDATASOURCE függvényen keresztül az OLE DB-szolgáltatóhoz. Ha ez a beállítás nincs beállítva, az SQL Server nem engedélyezi az alkalmi hozzáférést.

  • Támogatja a "Like" operátort

    Azt jelzi, hogy a szolgáltató támogatja a kulcsszavat LIKE használó lekérdezéseket.

Csatolt kiszolgáló létrehozása Transact-SQL

Ha a Transact-SQL használatával szeretne társított kiszolgálót létrehozni, használja a sp_addlinkedserver, a CREATE LOGIN és a sp_addlinkedsrvlogin utasításokat.

Ez a példa létrehoz egy csatolt kiszolgálót az SQL Server egy másik példányához a Transact-SQL használatával:

  1. A Lekérdezésszerkesztőben adja meg a következő Transact-SQL parancsot, amely SRVR002\ACCTGnevű SQL Server-példányra hivatkozik:

    USE [master];
    GO
    
    EXECUTE master.dbo.sp_addlinkedserver
        @server = N'SRVR002\ACCTG',
        @srvproduct = N'SQL Server';
    GO
    
  2. Hajtsa végre a következő kódot, hogy konfigurálja a csatolt kiszolgálót a csatolt kiszolgálót használó bejelentkezés tartományi hitelesítő adatainak használatára.

    EXECUTE master.dbo.sp_addlinkedsrvlogin
        @rmtsrvname = N'SRVR002\ACCTG',
        @locallogin = NULL,
        @useself = N'True';
    GO
    

Kövesse az alábbi lépéseket a csatolt kiszolgáló létrehozása után

Az alábbi lépések segítenek a csatolt kiszolgálók ellenőrzésében.

A csatolt kiszolgáló tesztelése

Az alábbi két módszer egyikét figyelembe véve tesztelheti a csatolt kiszolgáló hitelesítését az aktuális biztonsági környezetben.

  • Ha tesztelni szeretné, hogy képes-e csatlakozni egy csatolt kiszolgálóhoz az SSMS-ben, keresse meg a csatolt kiszolgálót az Object Explorerben, kattintson a jobb gombbal a csatolt kiszolgálóra, majd válassza a Kapcsolat tesztelése lehetőséget.

  • Ha tesztelni szeretné, hogy képes-e csatlakozni egy csatolt kiszolgálóhoz a T-SQL-ben, futtasson egy alapszintű SELECT utasítást, például az alapszintű adatbáziskatalógus adatainak lekéréséhez. Ez a példa a csatolt kiszolgálón lévő adatbázisok nevét adja vissza.

    SELECT name
    FROM [SRVR002\ACCTG].master.sys.databases;
    GO
    

Táblák összekapcsolása csatolt kiszolgálóról

Négyrészes nevek használatával hivatkozhat egy csatolt kiszolgálón lévő objektumra. Hajtsa végre a következő kódot a helyi kiszolgálón található összes bejelentkezés és a társított kiszolgálón található egyező bejelentkezések listájának visszaadásához.

SELECT local.name AS LocalLogins,
       linked.name AS LinkedLogins
FROM master.sys.server_principals AS local
     LEFT OUTER JOIN [SRVR002\ACCTG].master.sys.server_principals AS linked
         ON local.name = linked.name;
GO

Ha a NULL érték visszaadódik a csatolt kiszolgálóhoz tartozó bejelentkezésnél, az azt jelzi, hogy a bejelentkezés nem létezik a csatolt kiszolgálón. Ezek a bejelentkezések csak akkor használhatják a csatolt kiszolgálót, ha a csatolt kiszolgáló más biztonsági környezet átadására van konfigurálva, vagy a csatolt kiszolgáló nem fogad el névtelen kapcsolatokat.

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

Ha Azure SQL Managed Instance-t használ, tekintse meg a következő példákat a sp_addlinkedserver-ből: