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.
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