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:Azure SQL Database
Azure SQL Managed Instance
SQL-adatbázis a Fabricben
Az útmutató magas szintű lépései a következők:
- Hozzon létre egy Azure Storage-fiókot, vagy keressen egy meglévő megfelelő fiókot.
- Hozzon létre egy tárolót ebben a tárfiókban.
- Adjon hozzáférést az adatbázismotornak a tárolóhoz RBAC-szerepkör-hozzárendeléssel vagy SAS-jogkivonattal.
- Hozzon létre egy hitelesítő adatot abban az adatbázisban vagy példányban, ahol az esemény-munkamenetet hozza létre.
- Esemény-munkamenet létrehozása, indítása és használata.
Tárfiók és tároló létrehozása
A tárfiók Azure Storage-ban való létrehozásának részletes leírását a Tárfiók létrehozása című témakörben találja. Megtudhatja, hogyan hozhat létre tárfiókot az Azure Portal, a PowerShell, az Azure SQL, egy ARM-sablon vagy egy Bicep-sablon használatával.
Használjon olyan fiókot, amely:
- Ez egy
Standard general-purpose v2fiók. - Redundanciatípusa megegyezik az Azure SQL-adatbázis, a rugalmas készlet vagy a felügyelt példány redundanciájával, ahol esemény-munkamenetek jönnek létre.
- Helyileg redundáns Azure SQL-erőforrásokhoz használja az LRS, GRS vagy RA-GRS elemet. Zónaredundáns Azure SQL-erőforrások esetén használja a ZRS, a GZRS vagy az RA-GZRS elemet. További információ: Azure Storage-redundancia.
- Az
Hotblob elérési szintet használja. - Ugyanabban az Azure-régióban található, mint az Azure SQL-adatbázis, a rugalmas készlet, a Fabric-kapacitás vagy a felügyelt SQL-példány.
- Nincs engedélyezve a hierarchikus névtér .
Ezután hozzon létre egy tárolót ebben a tárfiókban az Azure Portal használatával. Tárolót a PowerShell vagy az Azure CLI használatával is létrehozhat.
Jegyezze fel a létrehozott tárfiók és tároló nevét. Ezeket a következő lépésekben fogja használni.
Először adjon hozzáférést a tárolóhoz. Az eseményadatok olvasásához és írásához az adatbázismotornak speciális hozzáférésre van szüksége a tárolóhoz. Ezt a hozzáférést kétféleképpen engedélyezheti, a választott hitelesítési típustól függően:
Ha felügyelt identitást használ Microsoft Entra-hitelesítéssel, a tároló storage blobadat-közreműködő RBAC-szerepkörét az Azure SQL logikai kiszolgáló vagy a felügyelt Azure SQL-példány felügyelt identitásához rendeli.
Ha titkos hitelesítést használ, létre kell hoznia egy SAS-jogkivonatot a tárolóhoz.
Ennek a hitelesítési típusnak a használatához engedélyezni kell a tárfiók kulcshozzáférésének engedélyezése beállítást. További információt az Azure Storage-fiók megosztott kulcsának engedélyezésének megakadályozása című témakörben talál.
Hozzáférés biztosítása felügyelt identitással
Az Azure Portalon keresse meg az Azure SQL logikai kiszolgáló vagy felügyelt Azure SQL-példány identitáslapját , és győződjön meg arról, hogy egy felügyelt identitás van hozzárendelve. További információkért lásd: Felügyelt identitások az Azure SQL-hez készült Microsoft Entra rendszerben.
Az Azure Portalon lépjen arra a tárolóra, ahol eseményadatokat szeretne tárolni. A Hozzáférés-vezérlés (IAM) lapon válassza a Hozzáadás lehetőséget a Storage Blob Data Contributor RBAC szerepkör hozzárendeléséhez a logikai kiszolgáló vagy a felügyelt SQL-példány felügyelt identitásához.
Ha a logikai kiszolgáló vagy a felügyelt SQL-példány rendelkezik a rendszer által hozzárendelt felügyelt identitással, rendelje hozzá a szerepkört ehhez az identitáshoz. Ha a rendszer által hozzárendelt identitás le van tiltva, de van egy vagy több felhasználó által hozzárendelt identitás, rendelje hozzá a szerepkört az elsődleges identitásként kijelölt felhasználó által hozzárendelt identitáshoz.
További információ: Azure-szerepkör hozzárendelése blobadatokhoz való hozzáféréshez.
Hozzon létre egy hitelesítő adatot, amely arra utasítja az adatbázismotort, hogy hitelesítse magát az Azure Storage-ban egy adott tároló URL-címéhez tartozó felügyelt identitás használatával.
- SQL-adatbázis
- felügyelt SQL-példány
Az Azure SQL Database-ben és a Microsoft Fabric sql-adatbázisában hozzon létre egy adatbázis-hatókörű hitelesítő adatot. Egy ügyféleszköz, például az SSMS használatával nyisson meg egy új lekérdezési ablakot, csatlakozzon ahhoz az adatbázishoz, ahol az esemény munkamenetet hozza létre, és illessze be a következő T-SQL-köteget. Győződjön meg arról, hogy a felhasználói adatbázishoz csatlakozik, és nem az
masteradatbázishoz.Note
A következő T-SQL-köteg végrehajtásához adatbázis-engedély
CONTROLszükséges. Alapértelmezés szerint az engedélyt az adatbázis tulajdonosa (dbo), azdb_owneradatbázis-szerepkör tagjai és a logikai kiszolgáló rendszergazdája birtokolja./* (Re-)create a database scoped credential if needed. */ IF EXISTS (SELECT 1 FROM sys.database_credentials WHERE name = 'https://<storage-account-name>.blob.core.windows.net/<container-name>' ) DROP DATABASE SCOPED CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>]; /* The name of the credential must match the URL of the blob container. When using managed identity, the credential does not contain a secret. */ CREATE DATABASE SCOPED CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>] WITH IDENTITY = 'MANAGED IDENTITY';
A köteg végrehajtása előtt végezze el a következő módosítást:
- Mindhárom előfordulás esetén cserélje le a
https://<storage-account-name>.blob.core.windows.net/<container-name>-t a tárfiók nevére, és a<storage-account-name>-t a tároló nevére.
Hozzáférés biztosítása SAS-jogkivonat használatával
Az Azure Portalon keresse meg a létrehozott tárfiókot és tárolót. Válassza ki a tárolót, és keresse meg a Beállítások > megosztott hozzáférési jogkivonatokat.
Az SAS-jogkivonatnak meg kell felelnie a következő követelményeknek:
-
Engedélyek beállítása
Read: ,Write,DeleteList. - A kezdési és a lejárati időnek az esemény munkamenetének élettartamát kell magában foglalnia. A létrehozott SAS-jogkivonat csak ezen időintervallumon belül működik.
- Nincsenek IP-címkorlátozások.
Válassza az SAS-jogkivonat és az URL-cím létrehozása gombot. Az SAS-jogkivonat a Blob SAS-jogkivonat mezőjében található. A következő lépéshez átmásolhatja és használhatja.
Important
Az SAS-jogkivonat olvasási és írási hozzáférést biztosít ehhez a tárolóhoz. Kezelje úgy, mintha egy jelszót vagy bármilyen más titkos kódot kezelne.
-
Engedélyek beállítása
Hozzon létre egy hitelesítő adatot az SAS-jogkivonat tárolásához.
- SQL-adatbázis
- felügyelt SQL-példány
Az SAS-jogkivonat tárolása adatbázis-hatókörű hitelesítő adatokban. Egy ügyféleszköz, például az SSMS használatával nyisson meg egy új lekérdezési ablakot, csatlakozzon ahhoz az adatbázishoz, ahol az esemény munkamenetet hozza létre, és illessze be a következő T-SQL-köteget. Győződjön meg arról, hogy a felhasználói adatbázishoz csatlakozik, és nem az
masteradatbázishoz.Note
A következő T-SQL-köteg végrehajtásához adatbázis-engedély
CONTROLszükséges. Alapértelmezés szerint az engedélyt az adatbázis tulajdonosa (dbo), azdb_owneradatbázis-szerepkör tagjai és a logikai kiszolgáló rendszergazdája birtokolja./* Create a master key to protect the secret of the credential */ IF NOT EXISTS (SELECT 1 FROM sys.symmetric_keys WHERE name = '##MS_DatabaseMasterKey##') CREATE MASTER KEY; /* (Re-)create a database scoped credential if needed. */ IF EXISTS ( SELECT 1 FROM sys.database_credentials WHERE name = 'https://<storage-account-name>.blob.core.windows.net/<container-name>' ) DROP DATABASE SCOPED CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>]; /* The name of the credential must match the URL of the blob container. The secret is the SAS token for the container. */ CREATE DATABASE SCOPED CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<sas-token>';A köteg végrehajtása előtt végezze el a következő módosításokat:
- Mindhárom előfordulás esetén cserélje le a
https://<storage-account-name>.blob.core.windows.net/<container-name>-t a tárfiók nevére, és a<storage-account-name>-t a tároló nevére. - A
SECRETszakaszban/cserélje ki<sas-token>az előző lépésben másolt SAS-jogkivonatra.
Esemény-munkamenet létrehozása, indítása és leállítása
A hitelesítő adatok létrehozása után létrehozhatja az esemény-munkamenetet. A hitelesítő adatok létrehozásával ellentétben az esemény-munkamenetek létrehozásához nincs szükség engedélyre CONTROL . A hitelesítő adatok létrehozása után akkor is létrehozhat esemény-munkameneteket, ha korlátozottabb engedélyekkel rendelkezik. Tekintse meg a szükséges engedélyek.
Az SQL Server Management Studióban (SSMS) csatlakozzon az Azure SQL Database logikai kiszolgálóhoz.
Bontsa ki a Kiterjesztett események csomópontot a Felügyeleti mappa alatt.
Kattintson a jobb gombbal a Munkamenetek mappára, és válassza az Új munkamenet...lehetőséget.
Az Általános lapon adja meg a munkamenet nevét, amely a következő kódminta lesz
example-session.Az Események lapon válasszon ki egy vagy több eseményt, amely hozzáadható a munkamenethez. Ebben a példában az eseményt
sql_batch_startingválasztottuk ki.Az Adattárolás lapon válassza ki
event_filea céltípust.- Helyi eseményfájl esetén válassza ki a helyi fájlcélt.
- Az Azure Storage-ban tárolt eseményfájl-blobok esetében illessze be a tároló URL-címét a Storage URL-mezőbe . Írjon be egy perjelet (
/) az URL-cím végére, majd a fájl (blob) nevét. Például:https://<storage-account-name>.blob.core.windows.net/<container-name>/example-session.xel.
Az Adattároló lapon válassza ki
event_filea céltípust, és illessze be a tároló URL-címét a Storage URL-mezőbe . Írjon be egy perjelet (/) az URL-cím végére, majd a fájl (blob) nevét. A példánkban a blob neve,example-session.xela teljes URL-cím pedig .https://<storage-account-name>.blob.core.windows.net/<container-name>/example-session.xelNote
Felügyelt SQL-példány esetén a Adattárolás oldalon a tároló URL-címének beillesztése helyett használja a Szkript gombot a munkamenet T-SQL-szkriptjének létrehozásához. Adja meg a tároló URL-címét az
filenameargumentum értékeként az alábbi SQL Managed Instance példához hasonlóan, és hajtsa végre a szkriptet a munkamenet létrehozásához.Most, hogy a munkamenet konfigurálva lett, a Szkript gombra kattintva létrehozhat egy T-SQL-szkriptet a munkamenetből, és mentheti későbbi használatra. A példamunkamenet szkriptje a következő:
- SQL-adatbázis
- felügyelt SQL-példány
CREATE EVENT SESSION [example-session] ON DATABASE ADD EVENT sqlserver.sql_batch_starting ADD TARGET package0.event_file (SET filename=N'https://<storage-account-name>.blob.core.windows.net/<container-name>/example-session.xel'); GO
A munkamenet létrehozásához kattintson az OK gombra .
Az Object Explorerben bontsa ki a Munkamenetek mappát a létrehozott esemény-munkamenet megtekintéséhez. Alapértelmezés szerint a munkamenet létrehozásakor nem indul el. A munkamenet elindításához kattintson a jobb gombbal a munkamenet nevére, és válassza a Munkamenet indítása parancsot. Később a munkamenet futtatása után a Munkamenet leállítása lehetőséget választva is leállíthatja.
A T-SQL-kötegek végrehajtásakor a munkamenet eseményeket ír a example-session.xel tároló blobjának.
A munkamenet leállításához kattintson rá a jobb gombbal az Object Explorerben, és válassza a Munkamenet leállítása lehetőséget.
Esemény-munkamenetek hibaelhárítása event_file-célokkal az Azure Storage-ban
Az alábbi lista az Azure Storage-t használó kiterjesztett esemény-munkamenet indításakor előforduló hibákat tartalmazza a hiba lehetséges magyarázatával.
-
Az operációs rendszer 5. hibát adott vissza: "Hozzáférés megtagadva."
- Felügyelt identitás hitelesítése esetén:
- Az adatbázismotor által használt felügyelt identitás nem rendelkezik a szükséges RBAC-szerepkör-hozzárendeléssel. További információ: Hozzáférés biztosítása felügyelt identitás használatával.
- A tárfiók tűzfala engedélyezve van, és a megbízható Azure-szolgáltatások számára a tárfiókhoz való hozzáférés engedélyezése alóli kivétel is engedélyezve van, de
Microsoft.Sql/serversa logikai kiszolgáló erőforráspéldánya nem lett hozzáadva a hozzáféréssel rendelkező erőforráspéldányok listájához. További információt az Azure-erőforráspéldányok hozzáférésének biztosítása című témakörben talál. - Ha kényszerített móddal használ hálózati biztonsági szegélyt , az adatbázis és a tárfiók nem ugyanabban a szegélyben található.
- SAS-jogkivonat-hitelesítés használata esetén:
- A tárfiók tűzfala engedélyezve van. Ez sas-jogkivonat-hitelesítést használó esemény-munkamenetek esetében nem támogatott.
- Az SAS-jogkivonat nem rendelkezik megfelelő engedélyekkel, vagy lejárt. További információ: Hozzáférés biztosítása SAS-jogkivonat használatával.
- Ha a hálózati biztonsági szegélyt kényszerítő móddal használja, a hozzáférési szabályok nem engedélyezik az adatbázisból való korlátlan kimenő kommunikációt, és a tárfiók felé irányuló korlátlan bejövő kommunikáció nincs érvényben.
- Felügyelt identitás hitelesítése esetén:
-
Az operációs rendszer a következő 86-os hibát adta vissza: "A megadott hálózati jelszó nem helyes."
- Nem létezik az Azure SQL Database esetében adatbázis-hatókörű hitelesítő adat, illetve az Azure SQL Managed Instance vagy SQL Server esetében kiszolgáló-hatókörű hitelesítő adat, amelynek neve egyezik a blobtároló URL-címével. További információkért tekintse meg a felügyelt identitással való hozzáférés megadására vagy a hozzáférés SAS-jogkivonattal való engedélyezésére vonatkozó példákat.
- A hitelesítő adatok neve perjellel (
/) végződik. A hitelesítőadat-névnek a tároló nevével kell végződnie, amely nem tartalmazza a záró perjelet.
-
Az operációs rendszer 3. hibát adott vissza: "A rendszer nem találja a megadott elérési utat."
- A blobtároló URL-címében megadott tároló nem létezik.
-
Az operációs rendszer 13- os hibát adott vissza: "Az adatok érvénytelenek."
- A blobtárolón egy módosíthatatlansági szabályzat található. Az esemény-munkamenetek nem támogatják a nem módosítható tárolást.
- A tárfiókban engedélyezve van a hierarchikus névtér . A hierarchikus névtérrel rendelkező tárfiókok nem támogatottak az esemény-munkamenetekben.
Eseményadatok megtekintése
Az eseményadatokat az SQL Server Management Studio (SSMS) eseménynapló felhasználói felületén tekintheti meg, ahol szűrőkkel és összesítésekkel elemezheti a rögzített adatokat. Az eseménynapló SSMS-ben való használatával kapcsolatos további információkért lásd: Eseményadatok megtekintése az SQL Server Management Studióban.
Eseményadatok megtekintése a T-SQL használatával
Az esemény-munkamenet adatainak T-SQL használatával való olvasásához használja a sys.fn_xe_file_target_read_file() függvényt. Ha ezt a függvényt egy olyan adatbázisban vagy példányban szeretné használni, amely eltér az esemény-munkamenet létrehozásának helyétől, hozzáférést kell adnia a tárolón a tároló adatbázismotorjának az eseményadat-blobokkal együtt. Lásd: Hozzáférés biztosítása felügyelt identitással vagy hozzáférés biztosítása SAS-jogkivonat használatával.
Részletesebb útmutató: Esemény-munkamenet létrehozása az SSMS-ben.
xel-fájlok letöltése az Azure Storage-ból
Tip
Ha az SSMS 19.2-es vagy újabb verzióját használja, nem kell letöltenie xel a fájlokat az ebben a szakaszban leírtak szerint. Ezekben a verziókban az SSMS közvetlenül az Azure Storage-tárolóból olvassa be az xel egyes munkamenetek fájljait. További információ: Bővített események javítása az Azure SQL-ben blog.
Töltse le a xel munkamenet blobot a tárolóból, és mentse helyi fájlként. Az Azure Portalon keresse meg a használt tárfiókot, válassza a Tárolók lehetőséget az Adattárolás területen, és válassza ki az esemény munkamenetéhez létrehozott tárolót. A munkamenethez tartozó blob neve a munkamenet nevével kezdődik, és egy numerikus utótaggal végződik. Válassza ki a három pontot (...), hogy megjelenítse a blob helyi menüjét, majd válassza a Letöltés lehetőséget.
Az Azure Storage Explorert úgy telepítheti, hogy több xel blobot töltsön le egyetlen műveletben.
xel A fájl letöltése után nyissa meg az SSMS-ben. Az SSMS főmenüjében válassza a Fájl lehetőséget, és válassza a Megnyitás lehetőséget. Ha egyetlen xel fájllal rendelkezik, válassza a Fájl lehetőséget, és keresse meg a letöltött fájlt. Ha ugyanazon esemény munkamenet által létrehozott több xel fájl (más néven rollover fájlok) vannak létrehozva, a Kiterjesztett eseményfájlok egyesítése... párbeszédpanelen megnyithatja az összeset az eseménymegjelenítőben.