Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Verktyget SQLdiag är ett verktyg för samling av allmän diagnostik som kan köras som ett konsolprogram eller som en tjänst. Du kan använda SQLdiag för att samla in loggar och datafiler från SQL Server och andra typer av servrar och använda den för att övervaka dina servrar över tid eller felsöka specifika problem med dina servrar. SQLdiag är avsett att påskynda och förenkla insamling av diagnostikinformation för Microsofts kundtjänst.
Anmärkning
Det här verktyget kan ändras och program eller skript som förlitar sig på dess kommandoradsargument eller beteende kanske inte fungerar korrekt i framtida versioner.
SQLdiag kan samla in följande typer av diagnostikinformation:
- Prestandaloggar för Windows
- Windows-händelseloggar
- SQL Server Profiler-spårningar
- Sql Server-blockeringsinformation
- Konfigurationsinformation för SQL Server
Du kan ange vilka typer av information du vill att SQLdiag ska samla in genom att redigera konfigurationsfilen SQLdiag.xml
, som beskrivs i följande avsnitt.
Syntax
sqldiag
{ [ /? ] }
|
{
[ /I configuration_file ]
[ /O output_folder_path ]
[ /P support_folder_path ]
[ /N output_folder_management_option ]
[ /M machine1 [ machine2 machineN ] | @machinelistfile ]
[ /C file_compression_type ]
[ /B [+]start_time ]
[ /E [+]stop_time ]
[ /A SQLdiag_application_name ]
[ /T { tcp [ ,port ] | np | lpc } ]
[ /Q ] [ /G ] [ /R ] [ /U ] [ /L ] [ /X ]
}
|
{ [ START | STOP | STOP_ABORT ] }
|
{ [ START | STOP | STOP_ABORT ] /A SQLdiag_application_name }
Argumentpunkter
/?
Visar användningsinformation.
/I konfigurationsfil
Anger konfigurationsfilen för SQLdiag som ska användas. Som standard är /I
inställt på SQLdiag.xml
.
/O output_folder_path
Omdirigerar SQLdiag-utdata till den angivna mappen. Om alternativet /O
inte anges skrivs SQLdiag-utdata till en undermapp med namnet SQLDIAG
under startmappen SQLdiag .
SQLDIAG
Om mappen inte finns försöker SQLdiag skapa den.
Anmärkning
Platsen för utdatamappen är relativ till den plats för supportmappen som kan anges med /P
. Om du vill ange en helt annan plats för utdatamappen anger du den fullständiga katalogsökvägen för /O
.
/P support_folder_path
Anger sökvägen till supportmappen. Som standard /P
anges till den mapp där den körbara SQLdiag-filen finns. Supportmappen innehåller SQLdiag-stödfiler , till exempel XML-konfigurationsfilen, Transact-SQL skript och andra filer som verktyget använder under diagnostiksamlingen. Om du använder det här alternativet för att ange en alternativ sökväg för stödfiler kopierar SQLdiag automatiskt de supportfiler som krävs till den angivna mappen om de inte redan finns.
Ange den aktuella mappen som supportsökväg genom att ange %cd%
följande på kommandoraden:
sqldiag /P %cd%
/N alternativ för hantering av utdata-mapp
Anger om SQLdiag skriver över eller byter namn på utdatamappen när den startas. Tillgängliga alternativ:
- 1 = Skriver över utdatamappen (standard)
- 2 = När SQLdiag startar byter den namn på utdatamappen till
SQLDIAG_00001
,SQLDIAG_00002
och så vidare. När du har bytt namn på den aktuella utdatamappen skriver SQLdiag utdata till standardutdatamappenSQLDIAG
.
SQLdiag lägger inte till utdata i den aktuella utdatamappen när den startas. Den kan bara skriva över standardutdatamappen (alternativ 1) eller byta namn på mappen (alternativ 2) och sedan skriva utdata till den nya standardutdatamappen med namnet SQLDIAG
.
/M machine1 [ machine2machineN ] | @machinelistfile
Åsidosätter datorerna som anges i konfigurationsfilen. Som standard är SQLdiag.xml
konfigurationsfilen , eller anges med parametern /I
. När du anger fler än en dator separerar du varje datornamn med ett blanksteg.
Alternativet @machinelistfile anger ett filnamn för datorlistan som ska lagras i konfigurationsfilen.
/C file_compression_type
Anger vilken typ av filkomprimering som används på SQLdiag-utdatamappfilerna . Tillgängliga alternativ:
- 0 = ingen (standard)
- 1 = använder NTFS-komprimering
/B [+]start_time
Anger datum och tid för att börja samla in diagnostikdata i följande format: yyyyMMdd_HH:mm:ss
Tiden anges med 24-timmars notation. Till exempel ska 14:00 anges som 14:00:00
.
Använd +
utan datum (endast HH:mm:ss) för att ange en tid som är relativ till aktuellt datum och tid. Om du till exempel anger /B +02:00:00
väntar SQLdiag 2 timmar innan den börjar samla in information.
Infoga inte ett blanksteg mellan +
och den angivna start_time.
Om du anger en starttid som är i det förflutna, tvingar SQLdiag fram en ändring av startdatumet så att startdatum och tid är i framtiden. Om du till exempel anger /B 01:00:00
och den aktuella tiden är 08:00:00, ändrar SQLdiag tvångsmässigt startdatumet så att det blir nästa dag.
SQLdiag använder den lokala tiden på datorn där verktyget körs.
/E [+]stop_time
Anger datum och tid för att sluta samla in diagnostikdata i följande format: yyyyMMdd_HH:mm:ss
Tiden anges med 24-timmars notation. Till exempel ska 14:00 anges som 14:00:00
.
Använd +
utan datum (endast HH:mm:ss) för att ange en tid som är relativ till startdatum och tid. Om du till exempel anger en starttid och sluttid med hjälp /B +02:00:00 /E +03:00:00
av väntar SQLdiag 2 timmar innan den börjar samla in information och samlar sedan in information i 3 timmar innan den stoppas och avslutas. Om /B
inte anges börjar SQLdiag samla in diagnostik omedelbart och slutar vid det datum och den tid som anges av /E
.
Infoga inte ett blanksteg mellan +
och den angivna start_time eller end_time.
SQLdiag använder den lokala tiden på datorn där verktyget körs.
/A SQLdiag_application_name
Aktiverar körning av flera instanser av SQLdiag-verktyget mot samma SQL Server-instans.
Varje SQLdiag_application_name identifierar en annan instans av SQLdiag. Det finns ingen relation mellan en SQLdiag_application_name-instans och ett SQL Server-instansnamn.
SQLdiag_application_name kan användas för att starta eller stoppa en specifik instans av SQLdiag-tjänsten .
I det här exemplet ersätter du <SQLdiag_application_name>
med lämpligt värde för SQLdiag_application_name:
sqldiag START /A <SQLdiag_application_name>
Det kan också användas med /R
alternativet att registrera en specifik instans av SQLdiag som en tjänst. I det här exemplet ersätter du <SQLdiag_application_name>
med lämpligt värde för SQLdiag_application_name:
sqldiag /R /A <SQLdiag_application_name>
Anmärkning
SQLdiag lägger automatiskt till prefixet DIAG$
till det instansnamn som anges för SQLdiag_application_name. Detta ger ett vettigt tjänstnamn om du registrerar SQLdiag som en tjänst.
/ T-protokoll
Ansluter till en instans av SQL Server med något av följande protokollvärden.
Protokoll (och port) | Beskrivning |
---|---|
tcp [ ,port ] | Transmission Control Protocol/Internet Protocol (TCP/IP). Du kan också ange ett portnummer för anslutningen. |
Np | Namngivna rör. Som standard lyssnar standardinstansen av SQL Server på namngiven pipe \\.\pipe\sql\query och \\.\pipe\MSSQL$<instancename>\sql\query för en namngiven instans. Du kan inte ansluta till en instans av SQL Server med hjälp av ett alternativt pipe-namn. |
Lpc | Anrop till lokal procedur. Det här protokollet för delat minne är tillgängligt om klienten ansluter till en instans av SQL Server på samma dator. |
/Q
Kör SQLdiag i tyst läge.
/Q
undertrycker alla uppmaningar, till exempel lösenordsprompter.
/G
Kör SQLdiag i allmänt läge. När /G
har angetts framtvingar SQLdiag vid start inte SQL Server-anslutningskontroller eller verifierar att användaren är medlem i den fasta serverrollen sysadmin . I stället defersar SQLdiag till Windows för att avgöra om en användare har rätt behörighet att samla in varje begärd diagnostik.
Om /G
inte anges kontrollerar SQLdiag om användaren är medlem i gruppen Windows-administratörer och samlar inte in SQL Server-diagnostik om användaren inte är medlem i gruppen Administratörer .
/R
Registrerar SQLdiag som en tjänst. Alla kommandoradsargument som anges när du registrerar SQLdiag som en tjänst bevaras för framtida körningar av tjänsten.
När SQLdiag registreras som en tjänst är SQLDIAG
standardnamnet för tjänsten . Du kan ändra tjänstnamnet med hjälp /A
av argumentet .
Använd kommandoradsargumentet START
för att starta tjänsten:
sqldiag START
Du kan också använda net start
kommandot för att starta tjänsten:
net start SQLDIAG
/U
Avregistrerar SQLdiag som en tjänst.
Använd även argumentet om du avregistrerar en namngiven /A
SQLdiag-instans .
/L
Kör SQLdiag i kontinuerligt läge när en starttid eller sluttid också anges med argumenten /B
eller /E
.
SQLdiag startas om automatiskt när diagnostiksamlingen stoppas på grund av en schemalagd avstängning. Till exempel genom att använda argumenten /E
/X
eller .
Anmärkning
SQLdiag ignorerar /L
argumentet om en starttid eller sluttid inte anges med hjälp av kommandoradsargumenten /B
och /E
.
Användning /L
innebär inte tjänstläget. Om du vill använda /L
när du kör SQLdiag som en tjänst anger du det på kommandoraden när du registrerar tjänsten.
/X
Kör SQLdiag i ögonblicksbildsläge. SQLdiag tar en ögonblicksbild av all konfigurerad diagnostik och stängs sedan av automatiskt.
START | STOP | STOP_AVBRYT
Startar eller stoppar SQLdiag-tjänsten .
STOP_ABORT
tvingar tjänsten att stängas av så snabbt som möjligt utan att slutföra insamlingen av diagnostik som den för närvarande samlar in.
När dessa argument för tjänstkontroll används måste de vara det första argumentet som används på kommandoraden. Till exempel:
sqldiag START
Endast argumentet, som anger en namngiven /A
instans av SQLdiag, kan användas med START
, STOP
eller STOP_ABORT
för att styra en specifik instans av SQLdiag-tjänsten . I det här exemplet ersätter du <SQLdiag_application_name>
med lämpligt värde för SQLdiag_application_name:
sqldiag START /A <SQLdiag_application_name>
Säkerhetskrav
Om inte SQLdiag körs i allmänt läge (genom att ange kommandoradsargumentet /G
) måste användaren som kör SQLdiag vara medlem i gruppen Windows-administratörer och medlem i den fasta serverrollen SQL Server sysadmin . Som standard ansluter SQLdiag till SQL Server med hjälp av Windows-autentisering, men det stöder även SQL Server-autentisering.
Prestandaöverväganden
Prestandaeffekterna av att köra SQLdiag beror på vilken typ av diagnostikdata du har konfigurerat den för att samla in. Om du till exempel har konfigurerat SQLdiag för att samla in SPÅRNINGsinformation för SQL Server Profiler, desto fler händelseklasser väljer du att spåra, desto mer påverkas serverns prestanda.
Prestandapåverkan av att köra SQLdiag motsvarar ungefär summan av kostnaderna för att samla in den konfigurerade diagnostiken separat. Att till exempel samla in en spårning med SQLdiag medför samma prestandakostnad som att samla in den med SQL Server Profiler. Prestandapåverkan av att använda SQLdiag är försumbar.
Nödvändigt diskutrymme
Eftersom SQLdiag kan samla in olika typer av diagnostikinformation varierar det lediga diskutrymme som krävs för att köra SQLdiag . Mängden diagnostikinformation som samlas in beror på vilken typ och volym av arbetsbelastning som servern bearbetar och kan variera från några megabyte till flera gigabyte.
Konfigurationsfiler
Vid start läser SQLdiag konfigurationsfilen och de kommandoradsargument som har angetts. Du anger vilka typer av diagnostikinformation som SQLdiag samlar in i konfigurationsfilen. Som standard använder SQLdiag.xml
SQLdiag konfigurationsfilen, som extraheras varje gång verktyget körs och finns i startmappen för SQLdiag-verktyget. Konfigurationsfilen använder XML-schemat SQLDiag_schema.xsd, som också extraheras till verktygets startkatalog från den körbara filen varje gång SQLdiag körs.
Redigera konfigurationsfilerna
Du kan kopiera och redigera SQLdiag.xml
för att ändra de typer av diagnostikdata som SQLdiag samlar in. När du redigerar konfigurationsfilen använder du alltid en XML-redigerare som kan verifiera konfigurationsfilen mot dess XML-schema, till exempel Management Studio. Du bör inte redigera SQLdiag.xml
direkt. Skapa i stället en kopia av SQLdiag.xml
och byt namn på den till ett nytt filnamn i samma mapp. Redigera sedan den nya filen och använd /I
argumentet för att skicka den till SQLdiag.
Redigera konfigurationsfilen när SQLdiag körs som en tjänst
Om du redan har kört SQLdiag som en tjänst och behöver redigera konfigurationsfilen avregistrerar SQLDIAG
du tjänsten genom att ange kommandoradsargumentet /U
och sedan registrera tjänsten igen med hjälp av kommandoradsargumentet /R
. Avregistrering och omregistrering av tjänsten tar bort gammal konfigurationsinformation som cachelagrades i Windows-registret.
Utdatamapp
Om du inte anger en utdatamapp med /O
argumentet skapar SQLdiag en undermapp med namnet SQLDIAG
under startmappen SQLdiag . För insamling av diagnostikinformation som omfattar spårning av stora volymer, till exempel SQL Server Profiler, kontrollerar du att utdatamappen finns på en lokal enhet med tillräckligt med utrymme för att lagra de begärda diagnostikutdata.
När SQLdiag startas om skriver den över innehållet i utdatamappen. Undvik detta genom att ange /N 2
på kommandoraden.
Datainsamlingsprocess
När SQLdiag startar utför den de initieringskontroller som krävs för att samla in diagnostikdata som har angetts i SQLdiag.xml
. Den här processen kan ta flera sekunder. När SQLdiag har börjat samla in diagnostikdata när de körs som ett konsolprogram visas ett meddelande som informerar dig om att SQLdiag-samlingen har startats och att du kan trycka på CTRL+C för att stoppa den. När SQLdiag körs som en tjänst skrivs ett liknande meddelande till Windows-händelseloggen.
Om du använder SQLdiag för att diagnostisera ett problem som du kan återskapa väntar du tills du får det här meddelandet innan du återskapar problemet på servern.
SQLdiag samlar in de flesta diagnostikdata parallellt. All diagnostikinformation samlas in genom att ansluta till verktyg, till exempel SQL Server sqlcmd-verktyget eller Windows-kommandoprocessorn, förutom när information samlas in från Windows-prestandaloggar och händelseloggar. SQLdiag använder en arbetstråd per dator för att övervaka insamlingen av diagnostikdata för dessa andra verktyg och väntar ofta samtidigt på att flera verktyg ska slutföras. Under insamlingsprocessen dirigerar SQLdiag utdata från varje diagnostik till utdatamappen.
Stoppa datainsamling
När SQLdiag börjar samla in diagnostikdata fortsätter det att göra det om du inte stoppar dem manuellt via Ctrl+C
, eller om du skapar en sqldiag.stop
fil eller konfigurerar den att stoppa vid en angiven tidpunkt. Du kan konfigurera SQLdiag att stoppa vid en viss tidpunkt med hjälp /E
av argumentet eller med hjälp /X
av argumentet, vilket gör att SQLdiag körs i ögonblicksbildsläge.
När SQLdiag stoppas stoppas all diagnostik som den har startat. Det stoppar till exempel SQL Server Profiler-spårningar som den samlade in, den slutar köra Transact-SQL skript som den körde och stoppar alla underprocesser som den har skapat under datainsamlingen. När insamlingen av diagnostikdata har slutförts avslutas SQLdiag .
Stoppa SQLdiag när du kör som ett konsolprogram
Om du kör SQLdiag som ett konsolprogram trycker du på CTRL+C i konsolfönstret där SQLdiag körs för att stoppa det. När du trycker på CTRL+C visas ett meddelande i konsolfönstret som informerar dig om att SQLdiag-datainsamlingen upphör och att du bör vänta tills processen stängs av, vilket kan ta flera minuter.
Tryck på Ctrl +C två gånger för att avsluta alla underordnade diagnostikprocesser och avsluta programmet omedelbart.
Stoppa SQLdiag när du kör som en tjänst
Om du kör SQLdiag som en tjänst, kör du sqldiag STOP
i mappen SQLdiag-startmappen för att stoppa den. Eller så kan du stoppa SQLdiag-tjänsterna i Services.msc-appleten .
Anmärkning
Det går inte att pausa SQLdiag-tjänsten . Om du försöker pausa SQLdiag-tjänsten stoppas den när den har samlat in diagnostiken som den samlade in när du pausade den. Om du startar om SQLdiag efter att ha stoppat det, startar programmet om och skriver över mappen med utdata. Om du vill undvika att skriva över utdatamappen anger du /N 2
på kommandoraden.
Om du kör flera instanser av SQLdiag på samma dator kan du också skicka SQLdiag-instansnamnet till på kommandoraden när du stoppar tjänsten. Om du till exempel vill stoppa en SQLdiag-instans med namnet Instance1 använder du följande syntax:
sqldiag STOP /A Instance1
/A
är det enda kommandoradsargumentet som kan användas med START
, STOP
eller STOP_ABORT
. Om du behöver ange en namngiven instans av SQLdiag med något av tjänstkontrollverb anger du /A
efter kontrollverb på kommandoraden enligt föregående syntaxexempel. När kontrollverb används måste de vara det första argumentet på kommandoraden.
Om du vill stoppa tjänsten så snabbt som möjligt kör du sqldiag STOP_ABORT
i startmappen för verktyget. Det här kommandot avbryter all diagnostikinsamling som för närvarande utförs utan att vänta på att de ska slutföras.
Anmärkning
Använd sqldiag STOP
eller sqldiag STOP_ABORT
för att stoppa SQLdiag-tjänsten . Använd inte Windows Services-konsolen för att stoppa SQLdiag eller andra SQL Server-tjänster.
Stoppa SQLdiag med hjälp av filen sqldiag.stop
SQLdiag stängs också av automatiskt när den hittar en fil med namnet sqldiag.stop
i verktygets \Output
mapp. Det här alternativet gäller oavsett om SQLdiag körs som en konsolapp eller som en tjänst. Att skapa en .stop
fil kan vara användbart när du vill stänga av SQLdiag programmatiskt efter att någon händelse inträffat, men du vet inte i förväg när den här händelsen inträffar. Innehållet i sqldiag.stop
filen är irrelevant. Ett alternativ, förutom att skapa filen manuellt, är att använda ett kommando som följande i en batchfil för att skapa sqldiag.stop
:
ECHO stop > F:\PSSDIAG\Output\sqldiag.stop
Ett annat alternativ är att använda PowerShell:
Set-Content -Value "stop" -Path "F:\PSSDIAG\Output\sqldiag.stop"
Starta och stoppa SQLdiag automatiskt
Om du vill starta och stoppa insamling av diagnostikdata automatiskt vid en angiven tidpunkt använder du argumenten /B <start_time>
och /E <stop_time>
med 24-timmars notation. Om du till exempel felsöker ett problem som konsekvent visas cirka 02:00:00 kan du konfigurera SQLdiag att automatiskt börja samla in diagnostikdata kl. 01:45 och automatiskt stoppa vid 03:00:00.
Använd argumenten /B
och /E
för att ange start- och stopptiden. Använd 24-timmars notation för att ange ett exakt start- och stoppdatum och tid med det allmänna formatet yyyyMMdd_HH:mm:ss. I följande exempel startar datainsamlingen kl. 01:45 och stoppar den kl. 03:00.
sqldiag /B 01:45:00 /E 03:00:00
Om du vill ange en relativ start- eller stopptid prefixar du start- och stopptiden med +
och utelämnar datumdelen (yyyyMMdd_) enligt följande exempel. Detta gör att SQLdiag väntar en timme innan den börjar samla in information och samlar sedan in information i två och en halv timme innan den stoppas och avslutas:
sqldiag /B +01:00:00 /E +02:30:00
När en relativ start_time anges startar SQLdiag vid en tidpunkt som är relativ till aktuellt datum och tid. När en relativ end_time anges slutar SQLdiag vid en tidpunkt som är relativ till den angivna start_time. Om det start- eller slutdatum och den tid som du har angett är i det förflutna, ändrar SQLdiag startdatumet så att startdatum och starttid är i framtiden.
Detta har viktiga konsekvenser för de start- och slutdatum du väljer. Tänk på följande exempel:
sqldiag /B +01:00:00 /E 08:30:00
Om den aktuella tiden är 08:00, passerar sluttiden innan diagnostikinsamlingen faktiskt börjar. Eftersom SQLdiag automatiskt justerar start- och slutdatum till nästa dag när de inträffar tidigare, börjar diagnostiksamlingen i det här exemplet klockan 09:00 idag (en relativ starttid har angetts vid 1 timme från och med nu med +
) och fortsätter att samla in till 08:30 följande morgon.
Stoppa och starta om SQLdiag för att samla in daglig diagnostik
Om du vill samla in en angiven uppsättning diagnostik dagligen utan att behöva starta och stoppa SQLdiag manuellt använder du /L
argumentet . Argumentet /L
gör att SQLdiag körs kontinuerligt genom att automatiskt starta om sig själv efter en schemalagd avstängning. När /L
anges stoppas SQLdiag eftersom den har nått den sluttid som angetts med /E
argumentet, eller så stoppas den eftersom den körs i ögonblicksbildsläge med hjälp /X
av argumentet, SQLdiag startas om i stället för att avslutas.
I följande exempel anges att SQLdiag körs i kontinuerligt läge för att automatiskt starta om efter att insamling av diagnostikdata inträffar mellan 03:00:00 och 05:00:00.
sqldiag /B 03:00:00 /E 05:00:00 /L
I följande exempel anges att SQLdiag körs i kontinuerligt läge för att automatiskt starta om efter att ha tagit en ögonblicksbild av diagnostikdata kl. 03:00:00.
sqldiag /B 03:00:00 /X /L
Kör SQLdiag som en tjänst
När du vill använda SQLdiag för att samla in diagnostikdata under långa tidsperioder då du kan behöva logga ut från datorn där SQLdiag körs, kan du köra den som en tjänst.
Registrera SQLdiag för att köras som en tjänst
Du kan registrera SQLdiag för att köras som en tjänst genom att /R
ange argumentet på kommandoraden. Detta registrerar SQLdiag för att köras som en tjänst.
SQLdiag-tjänstnamnet är SQLDIAG
. Alla andra argument som du anger på kommandoraden när du registrerar SQLdiag som en tjänst bevaras och återanvänds när tjänsten startas.
Om du vill ändra standardtjänstnamnet SQLDIAG
använder du kommandoradsargumentet /A
för att ange ett annat namn.
SQLdiag prefixar automatiskt DIAG$ till alla SQLdiag-instansnamn som anges med /A
för att skapa lämpliga tjänstnamn.
Avregistrera SQLDIAG-tjänsten
Om du vill avregistrera tjänsten anger du /U
argumentet. Om du avregistrerar SQLdiag som en tjänst tas även Windows-registernycklarna för tjänsten bort.
Starta eller starta om SQLDIAG-tjänsten
Starta eller starta om SQLDIAG
tjänsten genom att köra sqldiag START
från kommandoraden.
Om du kör flera instanser av SQLdiag med hjälp /A
av argumentet kan du också skicka SQLdiag-instansnamnet på kommandoraden när du startar tjänsten. Om du till exempel vill starta en SQLdiag-instans med namnet Instance1 använder du följande syntax:
sqldiag START /A Instance1
Du kan också använda net start
kommandot för att starta SQLDIAG
tjänsten.
När du startar om SQLdiag skriver den över innehållet i den aktuella utdatamappen. Undvik detta genom att ange /N 2
på kommandoraden att byta namn på utdatamappen när verktyget startas.
Det går inte att pausa SQLdiag-tjänsten .
Köra flera instanser av SQLdiag
Kör flera instanser av SQLdiag på samma dator genom att /A <SQLdiag_application_name>
ange på kommandoraden. Detta är användbart för att samla in olika uppsättningar diagnostik samtidigt från samma SQL Server-instans. Du kan till exempel konfigurera en namngiven instans av SQLdiag för att kontinuerligt utföra enkel datainsamling. Om ett specifikt problem uppstår på SQL Server kan du sedan köra SQLdiag-standardinstansen för att samla in diagnostik för det problemet eller för att samla in en uppsättning diagnostik som Microsofts kundtjänst ber dig att samla in för att diagnostisera ett problem.
Samla in diagnostikdata från klustrade SQL Server-instanser
SQLdiag stöder insamling av diagnostikdata från klustrade SQL Server-instanser. Om du vill samla in diagnostik från klustrade SQL Server-instanser kontrollerar du att "."
har angetts för attributet name
i elementet <Machine>
i konfigurationsfilen SQLdiag.xml
och ange inte argumentet /G
på kommandoraden. Som standard "."
anges för name
attributet i konfigurationsfilen och /G
argumentet är inaktiverat. Vanligtvis behöver du inte redigera konfigurationsfilen eller ändra kommandoradsargumenten när du samlar in från en klustrad SQL Server-instans.
När "."
anges som datornamn identifierar SQLdiag att det körs på ett kluster och hämtar samtidigt diagnostikinformation från alla virtuella instanser av SQL Server som är installerade i klustret. Om du bara vill samla in diagnostikinformation från en virtuell instans av SQL Server som körs på en dator, anger du den virtuella SQL Server-instansen för attributet name
i elementet <Machine>
i SQLdiag.xml
.
Anmärkning
För att samla in SQL Server Profiler-spårningsinformation från klustrade SQL Server-instanser måste administrativa resurser (ADMIN$) vara aktiverade i klustret.