Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure 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):
- Nyissa meg az Object Explorert.
- Nyissa meg a(z) kiszolgálóobjektumok.
- Kattintson a jobb gombbal Kapcsolt kiszolgálók.
- Válassza a(z) Új csatolt szerverlehetőséget.
A csatolt kiszolgáló tulajdonságainak Általános lapjának szerkesztése
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.
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:
Válassza a -t, adja hozzá az-et.
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.
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.
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.
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.
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 azsp_configurealapé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 azsp_configurealapé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:
- Nyissa meg az Object Explorert.
- Nyissa meg a(z) kiszolgálóobjektumok.
- Bontsa ki csatolt kiszolgálók.
- Nyissa ki Szolgáltatók.
- 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
SELECTutasításokat aFROMzá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ásiSELECTutasításokat igényelnek aFROMzá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
LIKEhaszná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:
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'; GOHajtsa 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ű
SELECTutasí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: