Megosztás:


Az SQL Server Profiler futtatásához szükséges engedélyek

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

Alapértelmezés szerint az SQL Server Profiler futtatása ugyanazokat a felhasználói engedélyeket igényli, mint a nyomkövetések létrehozásához használt Transact-SQL tárolt eljárások. Az SQL Server Profiler futtatásához a felhasználóknak meg kell adni az ALTER TRACE engedélyt. További információ: GRANT-kiszolgálói engedélyek.

Megjegyzés:

Az SQL Trace és az SQL Server Profiler elavult. A Microsoft.SqlServer.Management.Trace Microsoft SQL Server Trace és Replay objektumait tartalmazó névtér is elavult.

Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.

Használja helyette a Bővített események parancsot. A Bővített események áttekintése további információkért lásd a Rövid útmutatót – Bővített események, és a SSMS XEvent Profilerhasználata című részt.

Megjegyzések

  • Az SQL Trace által rögzített lekérdezési tervek és lekérdezési szövegek, valamint más eszközök, például a dinamikus felügyeleti nézetek (DMV-k), a dinamikus felügyeleti függvények (DMF-ek) és a kiterjesztett események bizalmas információkat tartalmazhatnak. Ezért az engedélyeket és ALTER TRACEa fedezeti engedélyeket SHOWPLANVIEW SERVER STATEcsak azok a felhasználók kaphatják meg, akiknek szükségük van ezekre az engedélyekre a feladataik ellátásához, a minimális jogosultság elve alapján.

    Azt is javasoljuk, hogy csak a Showplan-eseményeket tartalmazó Showplan-fájlokat vagy nyomkövetési fájlokat mentse olyan helyre, amely az NTFS fájlrendszert használja, és korlátozza a potenciálisan bizalmas információk megtekintésére jogosult felhasználók hozzáférését.

  • Az Analysis Services számítási feladataihoz készült SQL Server Profiler támogatott.

  • Amikor megpróbál csatlakozni egy Azure SQL Database-hez az SQL Server Profilerből, az helytelenül félrevezető hibaüzenetet küld:

    In order to run a trace against SQL Server, you must be a member of **sysadmin** fixed server role or have the ALTER TRACE permission.
    

    Az üzenetben fel kell tüntetni, hogy az SQL Server Profiler nem támogatja az Azure SQL Database-t.

Nyomkövetések visszajátszásához használt engedélyek

A nyomkövetések ismétléséhez az is szükséges, hogy a nyomkövetést újrajátszó felhasználó rendelkezzen az ALTER TRACE engedéllyel.

A visszajátszás során azonban az SQL Server Profiler a EXECUTE AS parancsot használja, ha a visszajátszott nyomkövetésben naplózási bejelentkezési esemény történik. Az SQL Server Profiler a EXECUTE AS parancs használatával megszemélyesíti a bejelentkezési eseményhez társított felhasználót.

Ha az SQL Server Profiler egy visszajátszott nyomkövetésben bejelentkezési eseményt tapasztal, a rendszer a következő engedélyellenőrzéseket hajtja végre:

  1. User1, aki rendelkezik a ALTER TRACE engedéllyel, elkezdi visszajátszani a nyomkövetést.

  2. A visszajátszott nyomkövetésben bejelentkezési esemény User2 történik.

  3. Az SQL Server Profiler a EXECUTE AS parancsot használja User2 megszemélyesítésére.

  4. Az SQL Server megkísérli a hitelesítést User2, és az eredményektől függően az alábbiak egyike történik:

    1. Ha User2 nem lehet hitelesíteni, az SQL Server Profiler hibát ad vissza, és folytatja a nyomkövetés User1újraírását.

    2. Ha User2 sikeresen hitelesítve van, a nyomkövetést a továbbiakban is megismételheti User2 .

  5. User2 A céladatbázison ellenőrzik az engedélyeket, és az eredményektől függően az alábbi forgatókönyvek egyikére kerül sor:

    1. Ha User2 rendelkezik a céladatbázisra vonatkozó engedélyekkel, a megszemélyesítés sikeres volt, és a nyomkövetés User2 -ként kerül visszajátszásra.

    2. Ha User2 nem rendelkezik engedélyekkel a céladatbázishoz, a kiszolgáló egy felhasználót keres Guest az adatbázison.

  6. A rendszer ellenőrzi, hogy van-e Guest felhasználó a céladatbázison, és az eredményektől függően az alábbiak egyike következik be:

    1. Ha létezik Guest fiók, a nyomkövetés újrajátszásra kerül Guest fiókként.

    2. Ha nincs Guest fiók a céladatbázisban, a rendszer hibát jelez, és a nyomkövetést a User1 formátumban játssza le.

Az alábbi ábra az engedély ellenőrzésének folyamatát mutatja be a nyomkövetések ismétlésekor:

Képernyőkép az SQL Server Profiler visszajátszási nyomkövetés engedélyeiről.