Sdílet prostřednictvím


Oprávnění požadovaná ke spuštění SQL Server Profileru

platí pro:SQL Serverazure SQL Managed Instance

Ve výchozím nastavení vyžaduje spuštění SQL Server Profiler stejná uživatelská oprávnění jako uložené procedury Transact-SQL, které se používají k vytváření sledování. Pokud chcete spustit SQL Server Profiler, musí mít uživatelé udělená ALTER TRACE oprávnění. Další informace naleznete v tématu UDĚLENÍ oprávnění serveru.

Poznámka:

Trasovací nástroje SQL a SQL Server Profiler jsou zastaralé. Obor Microsoft.SqlServer.Management.Trace názvů, který obsahuje objekty trasování a přehrání serveru Microsoft SQL Server, je také zastaralý.

Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají.

Místo toho použijte Rozšířené události. Další informace o přehledu rozšířených událostí najdete v tématu Rychlý start : Rozšířené události a Použití SSMS XEvent Profiler.

Poznámky

  • Plány dotazů a text dotazů zachycené trasováním SQL a dalšími způsoby, například zobrazení dynamické správy (DMV), dynamické funkce správy (DMF) a rozšířené události, můžou obsahovat citlivé informace. Oprávnění ALTER TRACE, SHOWPLAN a pokryvné oprávnění VIEW SERVER STATE by proto měla být udělena pouze uživatelům, kteří potřebují tato oprávnění k plnění jejich pracovních funkcí na základě principu nejmenších oprávnění.

    Kromě toho doporučujeme uložit pouze soubory Showplan nebo trasovací soubory, které obsahují události Související s showplanem do umístění, které používá systém souborů NTFS, a omezit přístup uživatelům, kteří mají oprávnění k zobrazení potenciálně citlivých informací.

  • Podporuje se SQL Server Profiler pro úlohy Analysis Services.

  • Když se pokusíte připojit ke službě Azure SQL Database z SQL Serveru Profiler, nesprávně vyvolá zavádějící chybovou zprávu:

    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.
    

    Zpráva by měla uvést, že SQL Server Profiler nepodporuje službu Azure SQL Database.

Oprávnění použitá k znovu přehrání stop

Pro přehrávání záznamů je také vyžadováno, aby uživatel, který záznam přehrává, měl ALTER TRACE oprávnění.

Při přehrávání však SQL Server Profiler používá příkaz EXECUTE AS, pokud je v trasování, které se přehrává, detekována událost auditování přihlášení. SQL Server Profiler používá EXECUTE AS příkaz k zosobnění uživatele, který je přidružený k události přihlášení.

Pokud SQL Server Profiler narazí na událost přihlášení v trasování, které se přehrává, provede se následující kontrola oprávnění:

  1. User1, který má oprávnění ALTER TRACE, začne přehrávat záznam.

  2. V přehrávané trase je nalezena událost User2 přihlášení.

  3. SQL Server Profiler používá EXECUTE AS příkaz k napodobení User2.

  4. SQL Server se pokusí ověřit User2a v závislosti na výsledcích dojde k jedné z následujících akcí:

    1. Pokud User2 nejde ověřit, SQL Server Profiler vrátí chybu a pokračuje v přehrávání trasování jako User1.

    2. Pokud User2 se úspěšně ověří, přehrávání trasování jako User2 pokračuje.

  5. Oprávnění pro User2 jsou kontrolována v cílové databázi, a v závislosti na výsledcích dojde k jednomu z následujících scénářů:

    1. Pokud má User2 oprávnění k cílové databázi, zosobnění se podařilo a záznam se přehraje jako User2.

    2. Pokud User2 nemá oprávnění k cílové databázi, server vyhledá Guest uživatele v této databázi.

  6. Guest Existence uživatele se kontroluje v cílové databázi a v závislosti na výsledcích se vyskytuje jedna z následujících akcí:

    1. Pokud účet Guest existuje, trasování se přehraje jako účet Guest.

    2. Pokud v cílové databázi neexistuje žádný Guest účet, vrátí se chyba a trasování se přehraje jako User1.

Následující diagram znázorňuje tento proces kontroly oprávnění při přehrávání sledů:

Snímek obrazovky s oprávněními k opakování trasování SQL Serveru Profiler