SQL Server bruker SPID -verdier under 50 for interne serverprosesser, mens hvilken som helst SPID over 51 (inkluderende) verdi er tilordnet brukerprosesser.
I denne guiden vil du forstå hvordan du får Spid -verdier i SQL Server og hvordan du kan drepe en transaksjon ved hjelp av Spid.
SQL Server Vis spid
I SQL Server er det forskjellige måter å få spiden til løpsprosessene. Denne guiden vil se på den vanligste og enkle å bruke.
sp_who (transact-sql)
SP_Who er en hjelperprosedyre som lar deg se brukerinformasjon, økter og SQL Server -forekomstprosesser. Ved å bruke denne prosedyren kan du filtrere for spesifikk informasjon, for eksempel brukernavnet og SPID -verdien.
Syntaksen er som vist:
sp_who [[@loginame =] 'Login' | Økt -ID | 'Aktiv']Innloggingen refererer til sysnavnet som identifiserer en prosess for en spesifikk pålogging.
Økt -IDen er Spid -verdien til en spesifikk prosess koblet til SQL -serveren.
Eksempelbruk
Følgende kommandoer viser hvordan du bruker SP_Who -prosedyren i SQL Server.
Vis alle aktuelle prosesser
For å vise alle gjeldende prosesser, bruk spørringen som vist:
Bruk master;Spørringen over skal returnere informasjonen med kolonner som Spid, ECID, status, pålogging og mer.
Vis prosess for en bestemt bruker
For å få prosessene tilknyttet en bestemt bruker, kan vi spesifisere brukernavnet i spørringen som vist i eksemplet nedenfor:
Bruk master;Kommandoen skal returnere prosessinformasjonen om innlogging av angitt innlogging. Et eksempelutgang er som vist:
@@ Spid
En annen metode du kan bruke for å få spiden til en prosess er å bruke @@ spid -funksjonen. Denne konfigurasjonsfunksjonen returnerer økt -ID for gjeldende prosess.
Eksempelbruk
Følgende eksempel viser hvordan du bruker @@ Spid for å hente informasjon om en spesifikk prosess.
Velg @@ Spid som 'ID',Spørringen returnerer spid-, påloggings- og brukernavnet. Eksempelutgang er som vist:
Aktivitetsmonitor
Du kan også bruke en grafisk metode for å se økt -ID -verdien for en spesifikk prosess. Start MS SQL Server Management Studio og høyreklikk på SQL Server-forekomsten. Åpen aktivitetsmonitor.
Klikk på kategorien Prosess for å vise spid, pålogging, databaser og mer informasjon. Informasjonen som vises av aktivitetsmonitoren er som vist:
SQL Server Kill Spid
Noen ganger kan du møte en spesifikk forekomst som kjører sakte, blokkerer andre prosesser eller bruker systemressurser. Du kan avslutte prosessen ved hjelp av spid.
Kill Spid -kommandoen lar deg spesifisere en spesifikk bruker SPID -verdi og avslutte prosessen. Når du har ringt kommandoen, vil SQL Server utføre en Rollback (angre endringer) -prosessen; kan derfor ta litt tid å avslutte en omfattende prosess.
Følgende viser syntaks for Kill Spid -kommandoen:
Kill Session Id [med statusOnly] | UOW [med statusOnly | Forpliktelse | Rollback]Eksempelbruk
Pass økt -ID -verdien for å bruke Kill Spid -kommandoen (lær hvordan du får Spid -verdien over).
Kill 90;Kommandoen ovenfor skal stoppe den spesifiserte prosessen.
For å få fremgangen til prosessoppsigelsen, kan du bruke med statysonly -argumentet som vist:
Drep 84 med statusKommandoen ovenfor bør returnere fremdriften som:
MSG 6120, nivå 16, tilstand 1, linje 1Eksemplet nedenfor viser deg hvordan du avslutter en kjørende database -sikkerhetskopi ved hjelp av Kill Spid -kommandoen.
Start sikkerhetskopi som:
Backup Database [WideWorldimporters]Ved hjelp av Kill Spid -kommandoen, avslutt sikkerhetskopieringsprosessen.
Konklusjon
I denne artikkelen lærte du hvordan du jobber med SQL Server Session IDS. Ulike metoder for å hente Spid -verdien og avslutte en prosess ved å bruke SPID -verdien.