Aracılığıyla paylaş


sp_who (Transact-SQL)

Provides information about current users, sessions, and processes in an instance of the Microsoft SQL Server Database Engine.Bilgileri yalnızca, boş olmayan, belirli bir kullanıcıya ait olan ya da, belirli bir ait işlemler geri dönmek için süzülebilir oturum.

Topic link iconTransact-SQL sözdizimi kuralları

sp_who [ [ @loginame = ] 'login' | session ID | 'ACTIVE' ]

Bağımsız değişkenler

  • [ @loginame = ] 'login' | session ID | 'ACTIVE'
    Sonuç süzmek için kullanılan küme.

    login olan sysname Belirli bir oturum açma ait işlemleri tanımlar.

    session ID (SPID in SQL Server 2000 and earlier) is a session identification number belonging to the SQL Server instance.session ID is smallint.

    ETKİN kullanıcıdan bir sonraki komut için bekleyen oturumları dışlar.

    Yordamı, herhangi bir değer belirtilmezse, tüm oturumlara ait bildiriyor örnek.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

sp_who bir sonuç döndüreceği için küme aşağıdaki bilgilerle.

Sütun

Veri türü

Açıklama

SPID

smallint

Oturum kimliği

ecid

smallint

Bir özel bir oturum KIMLIğI ile ilişkili belirli iş parçacığı parçacığının yürütülmesine içerik KIMLIĞI

ecid = {0, 1, 2, 3,... n}, burada 0 her zaman ana gösterir ya da ana iş parçacığı, ve {1, 2, 3,...n} The subthreads temsil eder.

Durum

nchar(30)

Işlem durumu.Olası değerler şunlardır:

dormant.SQL Server is resetting the session.

çalışan.Oturum, bir veya birden çok toplu işlemi çalışıyor.Bir oturum, birden çok Active sonuç kümesi (MARS) etkinleştirildiğinde, birden çok toplu işlem çalıştırabilirsiniz.Daha fazla bilgi için bkz:Birden çok Active sonucu kullanarak (MARS) ayarlar..

arka plan.Oturum, bir arka plan görevi, karşılıklı çıkmaz algılaması gibi çalışıyor.

geri alma.Oturum, bir işlemi geri alma işleminde yok.

Beklemede.Oturum, kullanılabilir bir işçi iş parçacığı için bekliyor demektir.

runnable.Bir saat kuantum almak için beklenirken bir zamanlayıcı runnable sırada oturum's görev var.

Döngüsel.oturum'S görev boş bir sayaç kilidi için bekliyor demektir.

askıya alındı.Oturum tamamlamak için g/Ç gibi bir olayı bekliyor.

loginame

nchar(128)

Oturum açma adı, belirli bir işlemle ilişkili.

ana bilgisayar adı

nchar(128)

Her işlem için ana bilgisayar veya bilgisayar adı.

blk

char(5)

oturum Varsa, engelleyici işlem KIMLIĞI.Aksi halde, bu sütun sıfırdır.

Bu sütun, bir '-2' engelleme artık hareket için belirtilen oturum bir KIMLIK ile ilişkili bir işlem tarafından artık bir dağıtılmış işlem engellendiğinde, döndürecektir.

dbname

nchar(128)

Işlem tarafından kullanılan veritabanı.

cmd

nchar(16)

Database Engine komut)Transact-SQL iç Ekstresi Database Engine işlem ve böyle devam eder) işlemi çalıştırılıyor.

request_id

int

Belirli bir oturumda çalışan isteklerin KIMLIĞI.

paralel işleme durumunda, belirli bir oturum KIMLIğI için subthreads oluşturulur.Ana iş parçacığı olarak belirtilir spid = <xxx> ve ecid =0. The other subthreads have the same spid = <xxx>, but with ecid > 0.

Remarks

Özel bir kilit olabilir, engelleyici BIR işlem, başka bir işlem için gereken kaynakları tutan bir paroladır.

Içinde SQL Server 2000 ve sahipsiz tüm dağıtılmış hareketleri '-'2 oturum KIMLIĞI değerini daha sonra atanır. Herhangi bir oturum KIMLIğI ile ilişkili olmayan dağıtılmış hareketleri artık dağıtılmış hareketleri olanDaha fazla bilgi için bkz:Işaretli işlemler (Tam kurtarma modeli) kullanma.

SQL Server 2000 ve 1'dahili kullanım için 50'den sonraki Rezerv oturum KIMLIĞI değerler ve oturum KIMLIĞI değerleri 51 ya da daha yüksek kullanıcı oturumlarının temsil eder.

İzinler

Tüm çalışan oturumların üzerinde örnek görmek için sunucuda VIEW SERVER DURUM iznine gerek duyar SQL Server. Aksi durumda, kullanıcı, yalnızca geçerli oturum görür.

Örnekler

C.Tüm geçerli işlemleri listeleme

Aşağıdaki örnek kullanır. sp_who tüm geçerli kullanıcıların bildirmek için parametresiz.

USE master;
GO
EXEC sp_who;
GO

b.Belirli bir kullanıcının işlem listeleme

Aşağıdaki örnekte, oturum açma adı tek bir geçerli kullanıcı hakkındaki bilgileri görüntülemek gösterilmiştir.

USE master;
GO
EXEC sp_who 'janetl';
GO

c.Tüm etkin işlemler görüntüleme

USE master;
GO
EXEC sp_who 'active';
GO

d.Bir oturum KIMLIĞI tarafından tanımlanan belirli bir işlemin görüntüleme

USE master;
GO
EXEC sp_who '10' --specifies the process_id;
GO