Séma kezelése SaaS-alkalmazásokban a bérlőnkénti adatbázis-mintával az Azure SQL Database-lel

A következőre vonatkozik: Azure SQL Database

Az adatbázis-alkalmazás fejlődésével elkerülhetetlenül módosítani kell az adatbázis sémáját vagy referenciaadatait. Az adatbázis-karbantartási feladatokra is szükség van rendszeresen. Az adatbázist bérlői mintánként használó alkalmazások kezeléséhez ezeket a módosításokat vagy karbantartási feladatokat bérlői adatbázisok flottájában kell alkalmazni.

Ez az oktatóanyag két forgatókönyvet ismer meg: referenciaadat-frissítések üzembe helyezését az összes bérlő számára, és újraépíti a referenciaadatokat tartalmazó táblában lévő indexet. A rugalmas feladatok funkcióval ezeket a műveleteket az összes bérlői adatbázison és az új bérlői adatbázisok létrehozásához használt sablonadatbázison hajthatja végre.

Ezen oktatóanyag segítségével megtanulhatja a következőket:

  • Feladatügynök létrehozása
  • T-SQL-feladatok futtatása az összes bérlői adatbázisban
  • Referenciaadatok frissítése az összes bérlői adatbázisban
  • Index létrehozása a táblához az összes bérlői adatbázisban

Az oktatóanyag teljesítéséhez meg kell felelnie az alábbi előfeltételeknek:

  • A Wingtip Tickets SaaS-adatbázis bérlőnkénti alkalmazása üzembe van helyezve. Ha öt percnél rövidebb üzembe helyezést szeretne, olvassa el a Wingtip Tickets SaaS-adatbázis üzembe helyezése és felfedezése bérlőnkénti alkalmazásonként című témakört .
  • Az Azure PowerShell telepítve van. Részletes információk: Ismerkedés az Azure PowerShell-lel
  • Telepítve van az SQL Server Management Studio (SSMS) legújabb verziója. Az SSMS letöltése és telepítése

Az SaaS-sémakezelési minták bemutatása

Az adatbázis bérlőnkénti mintája hatékonyan elkülöníti a bérlői adatokat, de növeli a felügyelni és karbantartani kívánt adatbázisok számát. A rugalmas feladatok több adatbázis felügyeletét és felügyeletét teszik lehetővé. A feladatok lehetővé teszik a feladatok (T-SQL-szkriptek) biztonságos és megbízható futtatását egy adatbáziscsoporton. A feladatok séma- és referenciaadat-módosításokat helyezhetnek üzembe az alkalmazás összes bérlői adatbázisában. A rugalmas feladatok az új bérlők létrehozásához használt sablonadatbázis fenntartására is használhatók, biztosítva, hogy mindig a legújabb sémával és referenciaadatokkal rendelkezzen.

screen

Elastic Jobs – nyilvános előzetes verzió

Az Elastic Jobs új verziója már az Azure SQL Database integrált funkciója. Az Elastic Jobs új verziója jelenleg nyilvános előzetes verzióban érhető el. Ez a nyilvános előzetes verzió jelenleg támogatja a PowerShell használatát feladatügynök létrehozásához, a T-SQL pedig a feladatok létrehozásához és kezeléséhez. További információkért tekintse meg a rugalmas adatbázis-feladatokról szóló cikket.

A Wingtip Tickets SaaS-adatbázis lekérése bérlői alkalmazásszkriptenként

Az alkalmazás forráskódja és felügyeleti szkriptjei a WingtipTicketsSaaS-DbPerTenant GitHub adattárban érhetők el. Tekintse meg a Wingtip Tickets SaaS-szkriptek letöltésének és letiltásának feloldásához szükséges általános útmutatót .

Feladatügynök-adatbázis és új feladatügynök létrehozása

Ez az oktatóanyag megköveteli, hogy a PowerShell használatával hozzon létre egy feladatügynököt és annak háttérfeladat-ügynök-adatbázisát. A feladatügynök adatbázisa tartalmazza a feladatdefiníciókat, a feladat állapotát és az előzményeket. A feladatügynök és az adatbázis létrehozása után azonnal létrehozhat és monitorozhat feladatokat.

  1. A PowerShell ISE-ben nyissa meg a ...\Learning Modules\Schema Management\Demo-SchemaManagement.ps1 fájlt.
  2. A szkriptek futtatásához nyomja le az F5 billentyűt.

A Demo-SchemaManagement.ps1 szkript meghívja a Deploy-SchemaManagement.ps1 szkriptet egy osagent nevű adatbázis létrehozásához a katalóguskiszolgálón. Ezután létrehozza a feladatügynököt az adatbázis paraméterként való használatával.

Feladat létrehozása új referenciaadatok bevezetéséhez az összes bérlőn

A Wingtip Tickets alkalmazásban minden bérlői adatbázis támogatott helyszíntípusokat tartalmaz. Minden helyszín egy adott helyszíntípus, amely meghatározza az üzemeltethető események típusát, és meghatározza az alkalmazásban használt háttérképet. Ahhoz, hogy az alkalmazás támogassa az új típusú eseményeket, frissíteni kell ezeket a referenciaadatokat, és új helyszíntípusokat kell hozzáadni. Ebben a gyakorlatban frissítést helyezhet üzembe az összes bérlői adatbázison két további helyszíntípus hozzáadásához: Motorkerékpár-verseny és Úszóklub.

Először tekintse át az egyes bérlői adatbázisokban szereplő helyszíntípusokat. Csatlakozzon az SQL Server Management Studio (SSMS) egyik bérlői adatbázisához, és vizsgálja meg az VenueTypes táblát. Ezt a táblát az Azure Portal Lekérdezésszerkesztőjében is lekérdezheti, amely az adatbázis oldaláról érhető el.

  1. Nyissa meg az SSMS-t, és csatlakozzon a bérlőkiszolgálóhoz: tenants1-dpt-user.database.windows.net<>
  2. Ha meg szeretné győződni arról, hogy a Motorverseny és Az Úszás Klubjelenleg nincs benne, keresse meg a contosoconcerthall adatbázist a tenants1-dpt-user<> kiszolgálón, és kérdezze le az VenueTypes táblát.

Most hozzunk létre egy feladatot, amely frissíti az VenueTypes táblát az összes bérlői adatbázisban az új helyszíntípusok hozzáadásához.

Új feladat létrehozásához a feladatügynök létrehozásakor a jobagent adatbázisban létrehozott feladatrendszer által tárolt eljárásokat kell használnia.

  1. Az SSMS-ben csatlakozzon a katalóguskiszolgálóhoz: catalog-dpt-user.database.windows.net>< kiszolgáló
  2. Az SSMS-ben nyissa meg a ...\Learning Modules\Schema Management\DeployReferenceData.sql fájlt.
  3. Módosítsa a következő utasítást: SET @wtpUser = <felhasználó> , és cserélje le a Wingtip Tickets SaaS-adatbázis bérlőnkénti telepítésekor használt felhasználói értéket
  4. Győződjön meg arról, hogy csatlakozik a jobagent adatbázishoz, és nyomja le az F5 billentyűt a szkript futtatásához

Figyelje meg a DeployReferenceData.sql szkript alábbi elemeit:

  • sp_add_target_group létrehozza a DemoServerGroup célcsoportnevet.
  • sp_add_target_group_member a céladatbázisok halmazának meghatározására szolgál. Először hozzáadja a bérlők1-dpt-user<> kiszolgálót. Ha célként hozzáadja a kiszolgálót, az a feladat végrehajtásakor a kiszolgálón lévő adatbázisokat is belefoglalja a feladatba. Ezután a basetenantdb adatbázis és az adhocreporting adatbázis (amelyet egy későbbi oktatóanyagban használnak) lesznek hozzáadva célokként.
  • sp_add_job létrehoz egy referenciaadat-üzembe helyezés nevű feladatot.
  • sp_add_jobstep hozza létre a T-SQL-parancsszöveget tartalmazó feladatlépést az VenueTypes referenciatábla frissítéséhez.
  • A szkript fennmaradó nézetei megjelenítik, hogy léteznek-e az objektumok, és figyelik a feladat-végrehajtást. Ezekkel a lekérdezésekkel áttekintheti az életciklus oszlop állapotértékét annak megállapításához, hogy a feladat mikor fejeződött be az összes céladatbázison.

A szkript befejezése után ellenőrizheti, hogy a referenciaadatok frissültek-e. Az SSMS-ben keresse meg a contosoconcerthall adatbázist a tenants1-dpt-user>< kiszolgálón, és kérdezze le az VenueTypes táblát. Ellenőrizze, hogy a motorkerékpár-verseny és az úszó klubmost már jelen van.

Feladat létrehozása a referenciatábla indexének kezeléséhez

Ez a gyakorlat egy feladat használatával építi újra az indexet a referenciatábla elsődleges kulcsán. Ez egy tipikus adatbázis-karbantartási művelet, amely nagy mennyiségű adat betöltése után végezhető el.

Hozzon létre egy feladatot ugyanannak a feladatnak a „system” által tárolt eljárásait használva.

  1. Nyissa meg az SSMS-t, és csatlakozzon a catalog-dpt-user.database.windows.net<> kiszolgálóhoz
  2. Nyissa meg a ...\Learning Modules\Schema Management\OnlineReindex.sql fájlt
  3. Kattintson a jobb gombbal, válassza a Kapcsolat lehetőséget, és csatlakozzon a catalog-dpt-user.database.windows.net<> kiszolgálóhoz, ha még nincs csatlakoztatva
  4. Győződjön meg arról, hogy csatlakozik a jobagent adatbázishoz, és nyomja le az F5 billentyűt a szkript futtatásához

Figyelje meg a következő elemeket az OnlineReindex.sql szkriptben:

  • sp_add_job létrehoz egy "Online reindex PK__VenueTyp__265E44FD7FD4C885" nevű új feladatot
  • sp_add_jobstep hozza létre a T-SQL parancsszöveget tartalmazó feladatlépést az index frissítéséhez
  • A szkript többi nézete figyeli a feladat végrehajtását. Ezekkel a lekérdezésekkel áttekintheti az életciklus oszlop állapotértékét annak megállapításához, hogy a feladat sikeresen befejeződött-e az összes célcsoporttagon.

További lépések

Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket:

  • Feladatügynök létrehozása több adatbázis T-SQL-feladatokon való futtatásához
  • Referenciaadatok frissítése az összes bérlői adatbázisban
  • Index létrehozása a táblához az összes bérlői adatbázisban

Ezután próbálja ki az alkalmi jelentéskészítési oktatóanyagot a bérlői adatbázisok között futó elosztott lekérdezések megismeréséhez.

További erőforrások