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


Kompatibilitási tanúsítvány

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

A kompatibilitási minősítés lehetővé teszi, hogy a vállalatok frissítsék és korszerűsítsék az SQL Server-adatbázisokat a helyszínen, a felhőben és a peremhálózaton, kiküszöbölve az alkalmazáskompatibilitás kockázatát.

Ugyanez az adatbázismotor az SQL Servert és az Azure SQL Database-t is működteti (beleértve a felügyelt Azure SQL-példányt is). Ez a megosztott adatbázismotor azt jelenti, hogy a felhasználói adatbázis zökkenőmentesen áthelyezhető a helyszíni SQL Server és az Azure SQL Database között, míg az adatbázisban a Transact-SQL futó alkalmazáskód továbbra is ugyanúgy működik, mint a forrásrendszerben.

Az SQL Server minden új kiadásához az alapértelmezett kompatibilitási szint az adatbázismotor verziójára van állítva. A korábbi verziók kompatibilitási szintje azonban megmarad a meglévő alkalmazások folyamatos kompatibilitása érdekében. Ez a kompatibilitási mátrix itt tekinthető meg. Ezért egy olyan alkalmazás, amely egy adott SQL Server-verzióval való együttműködésre lett minősítve, valójában az adott verzió alapértelmezett kompatibilitási szintjén való munkavégzésre lett minősítve.

Az SQL Server 2016-ban például a 130-es adatbázis-kompatibilitási szint volt az alapértelmezett (13.x). Mivel a kompatibilitási szintek bizonyos Transact-SQL funkcionális és lekérdezésoptimalizálási viselkedést kényszerítenek ki, az SQL Server 2016 -on (13.x) tanúsított adatbázis implicit módon lett hitelesítve a 130-as adatbázis-kompatibilitási szinten. Ez az adatbázis as-is működhet az SQL Server egy újabb verzióján (például AZ SQL Server 2019 (15.x)) és az Azure SQL Database-en, amíg az adatbázis kompatibilitási szintje 130 marad.

Ez a Microsoft Azure SQL Database folyamatos integrációs műveleti modelljének egyik alapelve. Az adatbázismotort folyamatosan fejlesztik és frissítik az Azure-ban, de mivel a meglévő adatbázisok megtartják az aktuális kompatibilitási szintet, az alapul szolgáló adatbázismotor frissítése után is a tervezett módon működnek.

A SharePoint Server 2016 és a SharePoint Server 2019 is így minősíti az SQL Servert és a felügyelt Azure SQL-példányt. Bármely OLYAN SQL Server-adatbázismotort üzembe helyezhet, amely az adott SharePoint Server-verziók támogatott adatbázis-kompatibilitási szintjeit használja. További információ: A SharePoint Server 2016 hardver- és szoftverkövetelményei , valamint a SharePoint Server 2019 hardver- és szoftverkövetelményei.

Frissítési kockázat kezelése kompatibilitási tanúsítvánnyal

A kompatibilitási tanúsítvány használata értékes módszer az adatbázisok modernizálására. Ha a fejlesztők kompatibilitási szint alapján minősítenek, ön beállítja az sql serveren és az Azure SQL Database-ben támogatott alkalmazások műszaki követelményeit, de leválasztja az alkalmazás életciklusát az adatbázisplatform életciklusáról. Ez lehetővé teszi a vállalatok számára, hogy szükség szerint frissítsék az SQL Server adatbázismotort az életciklus-szabályzatok alapján, új skálázhatósági és teljesítménybeli fejlesztéseket használva, amelyek nem kódfüggőek, és az alkalmazások összekapcsolása frissítésekkel fenntartja a működési állapotukat .

A frissítések fő kockázati tényezői a funkciók és a teljesítményproblémák kedvezőtlen hatásának lehetősége. A kompatibilitási minősítés a frissítési kockázatok kezelése szempontjából nyugalmat jelent:

  • A Transact-SQL viselkedéséhez kapcsolódó változások azt jelentik, hogy az alkalmazásokat újra kell hitelesíteni a helyesség érdekében. Az adatbáziskompatibilitási szint beállítása azonban csak a megadott adatbázis esetében biztosít visszamenőleges kompatibilitást az SQL Server korábbi verzióival, a teljes kiszolgáló esetében nem. Az adatbázis kompatibilitási szintjének as-is megtartása biztosítja, hogy a meglévő alkalmazás-lekérdezések továbbra is ugyanazt a viselkedést jelenítsen meg az adatbázismotor frissítése előtt és után. A Transact-SQL működéssel és kompatibilitási szintekkel kapcsolatos további információkért lásd: Kompatibilitási szintek használata a visszamenőleges kompatibilitáshoz.

  • Ami a teljesítményhez kapcsolódik, mivel a Lekérdezésoptimalizáló fejlesztései minden verzióban bevezetésre kerülnek, a különböző adatbázismotor-verziók között várható, hogy a lekérdezéstervek eltérnek egymástól. A lekérdezéstervek közötti különbségek a frissítés hatókörében általában kockázatnak minősülnek, ha lehetséges, hogy egyes módosítások károsak lehetnek egy adott lekérdezésre vagy számítási feladatra. Ez a kockázat általában az alkalmazások újraengedélyezésének szükségességét okozza, ami késleltetheti a frissítéseket, és életciklust és támogatási kihívásokat jelenthet.

    A frissítési kockázatok mérséklése miatt a Lekérdezésoptimalizáló fejlesztései egy új kiadás alapértelmezett kompatibilitási szintjére kerülnek (vagyis az új verziókhoz elérhető legmagasabb kompatibilitási szintre). A kompatibilitási minősítés magában foglalja a lekérdezéstervek alakzatának védelmét: az adatbázis-kompatibilitási szint fenntartása as-is– közvetlenül az adatbázismotor frissítése után – ugyanazt a lekérdezésoptimalizálási modellt használja az új verzióban, mint a frissítés előtt, és a lekérdezésterv-alakzatnak nem szabad megváltoznia.

    További információkért tekintse meg a cikk Miért lekérdezésterv alakzat? szakaszát.

További információ a kompatibilitási szintekről: Kompatibilitási szintek használata a visszamenőleges kompatibilitáshoz.

Egy meglévő alkalmazás esetében, amely már rendelkezik egy adott kompatibilitási szinttel, frissítse az SQL Server adatbázismotort, és tartsa fenn a korábbi adatbázis-kompatibilitási szintet. Ebben a forgatókönyvben nincs szükség egy alkalmazás újraengedélyezésére. További információt a cikk későbbi, kompatibilitási szintjeit és adatbázismotor-frissítéseit ismertető cikkben talál.

Ha új fejlesztési munkát szeretne végezni, vagy ha egy meglévő alkalmazás új funkciókat, például intelligens lekérdezésfeldolgozást és néhány új Transact-SQL-t igényel, frissítse az adatbázis kompatibilitási szintjét az SQL Server legújabb verziójára, és adja újra az alkalmazást, hogy ezzel a kompatibilitási szinttel működjön. Az adatbázis-kompatibilitási szint frissítésével kapcsolatos további információkért tekintse meg az adatbázis-kompatibilitási szint frissítésének ajánlott eljárásait.

Miért érdemes lekérdezésterv-alakzatot használni?

A lekérdezésterv alakzat a lekérdezéstervet alkotó különböző operátorok vizuális megjelenítésére utal. Ide tartoznak az olyan operátorok, mint a keresések, vizsgálatok, illesztések és rendezések, valamint a köztük lévő kapcsolatok, amelyek az adatáramlást és a kívánt eredményhalmaz létrehozásához végrehajtandó műveletek sorrendjét jelzik. A lekérdezésterv alakzatát a Lekérdezésoptimalizáló határozza meg.

Annak érdekében, hogy a lekérdezési teljesítmény kiszámítható maradjon a frissítés során, az egyik alapvető cél ugyanaz a lekérdezésterv-alakzat használata. Ez úgy érhető el, hogy nem módosítja az adatbázis kompatibilitási szintjét közvetlenül a frissítés után, annak ellenére, hogy a mögöttes adatbázismotor különböző verziókkal rendelkezik. Ha a lekérdezés-végrehajtási ökoszisztémában semmi más nem változott, például a rendelkezésre álló erőforrások jelentős változásai vagy a mögöttes adatok adateloszlása, a lekérdezés teljesítményének változatlannak kell maradnia.

A lekérdezéstervek alakjának megtartása azonban nem az egyetlen tényező, amely a frissítés után hatással lehet a teljesítményre. Ha áthelyezi az adatbázist egy újabb adatbázismotorba, és környezeti módosításokat is hajt végre, olyan tényezőket vezethet be, amelyek azonnali hatással vannak a lekérdezés teljesítményére, még akkor is, ha a lekérdezési terv ugyanazt az alakzatot megőrzi a különböző verziókban. Ilyen környezeti változások lehetnek például az új adatbázismotor, amely többé-kevésbé rendelkezik rendelkezésre álló memóriával és CPU-erőforrásokkal, a kiszolgáló- vagy adatbáziskonfigurációs beállítások módosításaival, vagy az adatterjesztés olyan módosításaival, amelyek befolyásolják a lekérdezésterv létrehozását. Ezért fontos tisztában lenni azzal, hogy az adatbázis-kompatibilitási szint fenntartása védelmet nyújt a lekérdezésterv alakjának változásaival szemben, de nem nyújt védelmet a lekérdezési teljesítményt befolyásoló egyéb környezeti szempontok ellen, amelyek közül néhány felhasználó által kezdeményezett módosítás.

További információ: lekérdezésfeldolgozási architektúra útmutatója.

Kompatibilitási minősítés előnyei

Az adatbázis-minősítésnek számos közvetlen előnye van kompatibilitásalapú megközelítésként, nem pedig névvel ellátott verziós megközelítésként:

  • Az alkalmazás minősítésének leválasztása a platformról. A megosztott adatbázismotor miatt az olyan alkalmazások esetében, amelyeknek csak Transact-SQL lekérdezéseket kell végrehajtaniuk, nincs szükség külön tanúsítási folyamatok fenntartására az Azure-ban és a helyszínen.

  • Csökkentse a frissítési kockázatokat , mert az adatbázisplatform modernizálása során az alkalmazás- és adatbázisplatform-réteg frissítési ciklusai elkülöníthetők a kisebb fennakadások és a jobb változáskezelés érdekében.

  • Frissítés kódmódosítás nélkül. Az SQL Server vagy az Azure SQL Database új verziójára való frissítés kódmódosítás nélkül elvégezhető a forrásrendszer kompatibilitási szintjének megtartásával, és nem szükséges azonnal újraengedélyezni addig, amíg az alkalmazásnak olyan fejlesztéseket kell használnia, amelyek csak magasabb adatbázis-kompatibilitási szinten érhetők el.

  • A kezelhetőség és a méretezhetőség javítása alkalmazásmódosítások nélkül, az adatbázis-kompatibilitási szint által nem kapuzott fejlesztések használatával. Az SQL Serverben ilyenek például a következők:

Az új adatbázisok továbbra is az adatbázismotor verziójának alapértelmezett kompatibilitási szintjére vannak beállítva. Ha azonban egy adatbázist visszaállít vagy csatol az SQL Server bármely korábbi verziójából az SQL Server vagy az Azure SQL Database új verziójához, az adatbázis megőrzi a meglévő kompatibilitási szintjét.

Támogatott kompatibilitási szint ellenőrzése

Mielőtt áthelyezne egy adatbázist az SQL Server vagy az Azure SQL Database új verziójára, ellenőrizze, hogy az adatbázis kompatibilitási szintje továbbra is támogatott-e. Az adatbáziskompatibilitási szint támogatási mátrixa az ALTER DATABASE kompatibilitási szintű argumentumaiban látható.

Ha egy adatbázist az engedélyezett szintnél alacsonyabb kompatibilitási szinttel frissít (például az SQL Server 2005-ben alapértelmezett 90-es (9.x)), az adatbázist az engedélyezett legalacsonyabb kompatibilitási szintre állítja (100).

Az aktuális kompatibilitási szint meghatározásához kérdezze le az oszlopot a compatibility_levelsys.databasesben.

Kompatibilitási szintek és adatbázismotor-frissítések

Az adatbázismotor legújabb verzióra való frissítéséhez, a frissítés előtt meglévő adatbázis-kompatibilitási szint és a támogatottsági állapot fenntartása mellett statikus funkcionális felületi ellenőrzést kell végeznie az alkalmazás kódjának az adatbázisban (programozhatósági objektumok, például tárolt eljárások, függvények, eseményindítók és egyebek) és az alkalmazásban (az alkalmazás által küldött dinamikus kódot rögzítő számítási feladatok nyomkövetésével).

Ez egyszerűen elvégezhető az SQL Server migrálási összetevőjének használatával az SQL Server Management Studióban. A jelentés kimenetében a hiányzó vagy nem kompatibilis funkciókkal kapcsolatos hibák hiánya védi az alkalmazást az új célverzió funkcionális regresszióitól. Ha módosításokra van szükség ahhoz, hogy az adatbázis az új verzióban működjön, akkor az eszköz lehetővé teszi, hogy megállapítsa, hol van szükség a módosításokra, és milyen kerülő megoldások érhetők el.

Ez a funkcionális ellenőrzés különösen fontos, ha egy adatbázist régi verzióról (például SQL Server 2008 R2 (10.50.x) vagy SQL Server 2012 (11.x)) helyez át az SQL Server vagy az Azure SQL Database új verziójába, mivel az alkalmazáskód az adatbázis kompatibilitási szintje által nem védett megszűnt Transact-SQL használhat. Ha azonban egy újabb verzióról (például az SQL Server 2016-ról (13.x)) az SQL Server 2022-re (16.x) vagy az Azure SQL Database-re költözik, nem kell aggódnia a megszűnt Transact-SQL miatt. További információ a megszűnt Transact-SQL-ről: Kompatibilitási szint használata a visszamenőleges kompatibilitáshoz.

Megjegyzés:

Az SQL Server migrálási összetevője támogatja a 100-es vagy újabb adatbázis-kompatibilitási szintet. Az SQL Server 2005 (9.x) mint forrásverzió ki van zárva.

Javasoljuk, hogy minimális teszteléssel ellenőrizze a frissítés sikerességét, miközben fenntartja az adatbázis korábbi kompatibilitási szintjét. Meg kell határoznia, hogy mit jelent a minimális tesztelés a saját alkalmazásához és forgatókönyvéhez.

Lekérdezéstervek védelme

A Microsoft a következő esetekben biztosít lekérdezésterv-alakzatvédelmet:

  • Az új SQL Server-verzió (cél) olyan hardveren fut, amely hasonló ahhoz a hardverhez, amelyen a korábbi SQL Server-verzió (forrás) futott.

  • A cél SQL Server és a forrás SQL Server egyaránt ugyanazt a támogatott adatbázis-kompatibilitási szintet használja.

  • Ugyanazt az adatbázist és számítási feladatot használja a cél SQL Server és a forrás SQL Server is.

Minden lekérdezésterv-alakzat regressziója, amely ilyen feltételek mellett történik (a forrás SQL Serverhez képest), kezelve lesz. Ebben az esetben forduljon a Microsoft ügyfélszolgálatához.