Delen via


Vereiste machtigingen voor het uitvoeren van SQL Server Profiler

van toepassing op:SQL ServerAzure SQL Managed Instance

Standaard vereist het uitvoeren van SQL Server Profiler dezelfde gebruikersmachtigingen als de Transact-SQL opgeslagen procedures die worden gebruikt om traceringen te maken. Als u SQL Server Profiler wilt uitvoeren, moeten gebruikers de ALTER TRACE machtiging krijgen. Zie voor meer informatie Servermachtigingen verlenen.

Opmerking

SQL Trace en SQL Server Profiler zijn afgeschaft. De Microsoft.SqlServer.Management.Trace naamruimte die de Microsoft SQL Server Trace- en Replay-objecten bevat, is ook afgeschaft.

Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.

Gebruik in plaats daarvan uitgebreide gebeurtenissen. Zie Quickstart: Uitgebreide gebeurtenissen en De SSMS XEvent Profiler-gebruiken voor meer informatie over overzicht van uitgebreidegebeurtenissen.

Opmerkingen

  • Queryplannen en querytekst, vastgelegd door SQL Trace en op andere manieren, zoals dynamische beheerweergaven (DMV's), dynamische beheerfuncties (DMF's) en uitgebreide gebeurtenissen, kunnen gevoelige informatie bevatten. Daarom moeten de machtigingen ALTER TRACEen SHOWPLANde dekkingsmachtigingen VIEW SERVER STATE alleen worden verleend aan gebruikers die deze machtigingen nodig hebben om hun functie te vervullen, op basis van het principe van minimale bevoegdheden.

    Daarnaast raden we u aan alleen Showplan-bestanden of traceringsbestanden op te slaan die gerelateerde gebeurtenissen van Showplan bevatten op een locatie die gebruikmaakt van het NTFS-bestandssysteem en de toegang beperken tot gebruikers die gemachtigd zijn om mogelijk gevoelige informatie weer te geven.

  • SQL Server Profiler voor Analysis Services-workloads wordt ondersteund.

  • Wanneer u vanuit SQL Server Profiler verbinding probeert te maken met een Azure SQL Database, wordt een misleidend foutbericht gegenereerd:

    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.
    

    Het bericht moet aangeven dat Azure SQL Database niet wordt ondersteund door SQL Server Profiler.

Machtigingen die worden gebruikt voor het opnieuw afspelen van traceringen

Voor het opnieuw afspelen van traceringen is ook vereist dat de gebruiker die de tracering opnieuw afspeelt, over de ALTER TRACE machtiging beschikt.

Tijdens het opnieuw afspelen gebruikt SQL Server Profiler echter de EXECUTE AS opdracht als er een auditaanmeldingsgebeurtenis wordt aangetroffen in de trace die opnieuw wordt afgespeeld. SQL Server Profiler gebruikt de EXECUTE AS opdracht om de gebruiker te imiteren die is gekoppeld aan de aanmeldings gebeurtenis.

Als SQL Server Profiler een aanmeldingsgebeurtenis tegenkomt in een trace die opnieuw wordt afgespeeld, worden de volgende machtigingscontroles uitgevoerd:

  1. User1, die de ALTER TRACE toestemming heeft, start een trace opnieuw af te spelen.

  2. Er wordt een aanmeldingsgebeurtenis voor User2 aangetroffen in de opnieuw afgespeelde tracering.

  3. SQL Server Profiler gebruikt de EXECUTE AS opdracht om te imiteren User2.

  4. SQL Server probeert te verifiëren User2en afhankelijk van de resultaten vindt een van de volgende handelingen plaats:

    1. Als User2 niet kan worden geverifieerd, retourneert SQL Server Profiler een fout en gaat door met het afspelen van de trace als User1.

    2. Als User2 succesvol geverifieerd is, wordt de tracering opnieuw afgespeeld terwijl User2 doorgaat.

  5. Machtigingen voor User2 worden gecontroleerd op de doeldatabase en afhankelijk van de resultaten vindt een van de volgende scenario's plaats:

    1. Als User2 machtigingen heeft voor de doeldatabase, dan is imitatie geslaagd en wordt de trace herhaald als User2.

    2. Als User2 geen machtigingen heeft op de doeldatabase, controleert de server op de aanwezigheid van een Guest gebruiker op die database.

  6. Het bestaan van een Guest gebruiker wordt gecontroleerd op de doeldatabase en afhankelijk van de resultaten vindt een van de volgende handelingen plaats:

    1. Als er een Guest account bestaat, wordt de tracering opnieuw afgespeeld als een Guest account.

    2. Als er geen Guest account bestaat in de doeldatabase, wordt er een fout geretourneerd en wordt de tracering opnieuw afgespeeld als User1.

In het volgende diagram ziet u dit proces voor het controleren van machtigingen bij het opnieuw afspelen van traceringen:

Schermopname van traceringsmachtigingen voor SQL Server Profiler opnieuw afspelen.