Dela via


Behörigheter som krävs för att köra SQL Server Profiler

gäller för:SQL ServerAzure SQL Managed Instance

Som standard kräver körning av SQL Server Profiler samma användarbehörigheter som de Transact-SQL lagrade procedurer som används för att skapa spårningar. Om du vill köra SQL Server Profiler måste användarna beviljas behörigheten ALTER TRACE . För mer information, se Tilldela serverbehörigheter.

Anmärkning

SQL Trace och SQL Server Profiler är inaktuella. Namnområdet Microsoft.SqlServer.Management.Trace som innehåller Microsoft SQL Server Trace and Replay-objekten är också inaktuellt.

Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

Använd utökade händelser i stället. Mer information om översikt över utökade händelserfinns i snabbstarten : Utökade händelser och Använd SSMS XEvent Profiler.

Anmärkningar

  • Frågeplaner och frågetext, som samlas in av SQL Trace samt på annat sätt, till exempel dynamiska hanteringsvyer (DMV), dynamiska hanteringsfunktioner (DMF: er) och Utökade händelser, kan innehålla känslig information. Därför bör behörigheterna ALTER TRACE, SHOWPLANoch den täckande behörigheten VIEW SERVER STATE endast beviljas användare som behöver dessa behörigheter för att uppfylla sina jobbfunktioner, baserat på principen om lägsta behörighet.

    Dessutom rekommenderar vi att du bara sparar Showplan-filer eller spårningsfiler som innehåller Showplan-relaterade händelser på en plats som använder NTFS-filsystemet och begränsar åtkomsten till användare som har behörighet att visa potentiellt känslig information.

  • SQL Server Profiler för Analysis Services-arbetsbelastningar stöds.

  • När du försöker ansluta till en Azure SQL Database från SQL Server Profiler genererar den felaktigt ett missvisande felmeddelande:

    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.
    

    Meddelandet ska ange att Azure SQL Database inte stöds av SQL Server Profiler.

Behörigheter som används för att spela upp spårningar

Om spårningar spelas upp igen krävs också att användaren som spelar upp spårningen igen har behörigheten ALTER TRACE .

Vid uppspelning använder SQL Server Profiler kommandot EXECUTE AS om en Audit Login-händelse påträffas i spårningen som spelas upp igen. SQL Server Profiler använder EXECUTE AS kommandot för att personifiera den användare som är associerad med inloggningshändelsen.

Om SQL Server Profiler påträffar en inloggningshändelse i en spårning som spelas upp igen utförs följande behörighetskontroller:

  1. User1, som har behörigheten ALTER TRACE , börjar spela upp en spårning igen.

  2. En inloggningshändelse för User2 påträffas i den omspelade spårningen.

  3. SQL Server Profiler använder EXECUTE AS kommandot för att personifiera User2.

  4. SQL Server försöker autentisera User2, och beroende på resultatet inträffar något av följande:

    1. Om User2 inte kan autentiseras returnerar SQL Server Profiler ett fel och fortsätter att spåra som User1.

    2. Om User2 autentiseras framgångsrikt fortsätter uppspelningen av spårningen som User2.

  5. Behörigheter för User2 kontrolleras på måldatabasen, och beroende på resultatet inträffar något av följande scenarier:

    1. Om User2 har behörigheter för måldatabasen har personifieringen slutförts och spårningen spelas upp som User2.

    2. Om User2 inte har behörighet för måldatabasen söker servern efter en Guest användare i databasen.

  6. Förekomsten av en Guest användare kontrolleras i måldatabasen, och beroende på resultatet inträffar något av följande:

    1. Om det finns ett Guest konto spelas spårningen upp som Guest kontot.

    2. Om det inte finns något Guest konto i måldatabasen returneras ett fel och spårningen spelas upp igen som User1.

Följande diagram visar den här processen för att kontrollera behörighet vid uppspelning av spårningar:

Skärmbild på behörigheter för uppspelningsspårning i SQL Server Profiler.