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
Ez a cikk az Always On rendelkezésre állási csoportok és az adatbázis-tükrözés adatbázisközi és elosztott tranzakciók támogatását ismerteti.
Elosztott tranzakciók támogatása
Az SQL Server 2017 támogatja a rendelkezésre állási csoportokban lévő adatbázisok elosztott tranzakcióit. Ez a támogatás magában foglalja az SQL Server ugyanazon példányán lévő adatbázisokat vagy az SQL Server különböző példányainak adatbázisait. Az elosztott tranzakciók nem támogatottak az adatbázis-tükrözésre konfigurált adatbázisok esetében.
Megjegyzés:
Az SQL Server 2016 (13.x) Service Pack 2 és újabb verziói teljes körű támogatást nyújtanak a rendelkezésre állási csoportok elosztott tranzakcióihoz.
A Service Pack 2 előtti SQL Server 2016 -os (13.x) verziókban nem támogatottak az adatbázisok közötti elosztott tranzakciók (például az ugyanazon AZ SQL Server-példány adatbázisait használó tranzakciók), amelyek egy rendelkezésre állási csoportban lévő adatbázist érintenek.
Az elosztott tranzakciókhoz rendelkezésre állási csoport konfigurálásához lásd: Rendelkezésre állási csoport konfigurálása elosztott tranzakciókhoz.
További információ:
SQL Server 2016 SP1 és korábbi: Adatbázisközi tranzakciók támogatása ugyanabban az SQL Server-példányban
Az SQL Server 2016 SP1 és korábbi verziójában az ugyanazon AZ SQL Server-példányon belüli adatbázisközi tranzakciók nem támogatottak a rendelkezésre állási csoportok esetében. Két adatbázist nem üzemeltethet ugyanaz az SQL Server-példány egy adatbázisközi tranzakcióban, ha az egyik vagy mindkét adatbázis rendelkezésre állási csoportban van. Ez a korlátozás akkor is érvényes, ha ezek az adatbázisok ugyanahhoz a rendelkezésre állási csoporthoz tartoznak.
Az adatbázisok közötti tranzakciók az adatbázis-tükrözéshez sem támogatottak.
SQL Server 2016 SP1 és korábbi: Elosztott tranzakciók támogatása
Az elosztott tranzakciók rendelkezésre állási csoportokkal támogatottak, ha az adatbázisokat különböző SQL Server-példányok üzemeltetik. Az SQL Server-példányok és más DTC-kompatibilis kiszolgálók közötti elosztott tranzakciókra is vonatkozik.
A Microsoft Distributed Transaction Coordinator (MSDTC vagy DTC) egy Windows-szolgáltatás, amely tranzakciós infrastruktúrát biztosít az elosztott rendszerek számára. Az MSDTC lehetővé teszi, hogy az ügyfélalkalmazások több adatforrást is belefoglaljanak egy tranzakcióba, amelyet aztán a tranzakcióban szereplő összes kiszolgálóra lekötöttek. Az MSDTC használatával például koordinálhatja a különböző kiszolgálókon található több adatbázist felölelő tranzakciókat.
Az SQL Server 2016 bevezeti az elosztott tranzakciók használatát, ha a tranzakció egy vagy több adatbázisa rendelkezésre állási csoportban található. Az SQL Server 2016 előtt az elosztott tranzakciók nem támogatottak a rendelkezésre állási csoportokban lévő adatbázisok esetében. Az SQL Server 2016 adatbázisonként regisztrálhat egy erőforrás-kezelőt. Ennek az új funkciónak az az oka, hogy az elosztott tranzakciók adatbázisokat tartalmazhatnak a rendelkezésre állási csoportokban.
A következő követelményeknek kell teljesülniük:
A rendelkezésre állási csoportoknak Windows Server 2012 R2 vagy újabb rendszeren kell futniuk. Windows Server 2012 R2 esetén telepítenie kell a frissítést KB3090973.
A rendelkezésre állási csoportokat a CREATE AVAILABILITY GROUP paranccsal és a WITH DTC_SUPPORT = PER_DB záradékkal kell létrehozni. Meglévő rendelkezésre állási csoport jelenleg nem módosítható.
A rendelkezésre állási csoportban részt vevő SQL Server összes példányának SQL Server 2016-os vagy újabb verziójának kell lennie.
Elosztott tranzakciók nem támogatottak
Az elosztott tranzakciókat nem támogató konkrét esetek a következők:
Az SQL Server 2016 SP1-ben és az azt megelőzőben, ahol a tranzakcióban részt vevő több adatbázis ugyanabban a rendelkezésre állási csoportban található.
Az SQL Server 2016 SP1 és korábbi verzióiban, ahol legalább egy adatbázis rendelkezésre állási csoportban van, és egy másik adatbázis az SQL Server ugyanazon példányán található.
Amikor a rendelkezésre állási csoportot nem hozták létre elosztott tranzakciók engedélyezésével.
Adatbázis-tükrözés.
Fontos
Határozza meg azoknak a tranzakcióknak az alapértelmezett eredményét, amelyeket a DTC nem tud megoldani az ön környezetében. Az alapértelmezett eredmény konfigurálásáról részletes információkat a vitás tranzakciók feloldásának kiszolgáló konfigurációs opciójában talál.
Példaforgatókönyv adatbázis-tükrözéssel
Az alábbi adatbázistükrözési példa bemutatja, hogyan fordulhat elő logikai inkonzisztencia. Ebben a példában egy alkalmazás egy adatbázisközi tranzakcióval két adatsort szúr be: az egyik sort egy tükrözött adatbázisban lévő táblázatba szúrja be, A, a másik sort pedig egy másik adatbázisban lévő táblázatba szúrja be, A. Az A adatbázis magas biztonsági módban, automatikus feladatátvétellel lesz tükrözve. A tranzakció véglegesítése közben az A adatbázis elérhetetlenné válik, és a tükrözési munkamenet automatikusan átesik az A adatbázis tükörén.
A feladatátvételt követően előfordulhat, hogy az adatbázisközi tranzakció sikeresen le lesz véglegesítve a B adatbázisban, de a feladatátvételi adatbázisban nem. Ha például az A adatbázis eredeti egyszerű kiszolgálója nem küldte el az adatbázisközi tranzakció naplóit a tükrözött kiszolgálónak a hiba előtt. A feladatátvételt követően az a tranzakció nem létezne az új fő kiszolgálón. Az A és a B adatbázis inkonzisztenssé válik, mivel a B adatbázisban beszúrt adatok érintetlenek maradnak, de az A adatbázisban beszúrt adatok elvesznek.
Hasonló forgatókönyv fordulhat elő MS DTC-tranzakció használatakor. A feladatátvétel után például az új fő kapcsolattartó kapcsolatba lép az MS DTC-vel. Az MS DTC azonban nincs ismerete az új elsődleges kiszolgálóról, és leállítja az előkészítés alatt álló tranzakciókat, amelyeket más adatbázisok véglegesítettnek tekintenek.
Megjegyzés:
Az adatbázis-tükrözés DTC-vel vagy rendelkezésre állási csoportok DTC-vel való használata a jelen cikkben nem jóváhagyott módon nem támogatott. Ez nem jelenti azt, hogy a terméknek a DTC-hez nem kapcsolódó aspektusai nem támogatottak; az elosztott tranzakciók helytelen használatából eredő problémák azonban nem támogatottak.
Következő lépések
Always On rendelkezésre állási csoportok: Interoperabilitás (SQL Server)