1. 程式人生 > >在SQL Server裡檢視當前連線的線上使用者數

在SQL Server裡檢視當前連線的線上使用者數

use master

select loginame,count(0) from sysprocesses
group by loginame
order by count(0) desc

select nt_username,count(0) from sysprocesses
group by nt_username
order by count(0) desc

如果某個SQL Server使用者名稱test連線比較多,檢視它來自的主機名:

select hostname,count(0) from sysprocesses where loginame='test'
group by hostname
order by count(0) desc

如果某個SQL Server使用者名稱test連線比較多,檢視它最後一次操作的時間範圍分組:

select convert(varchar,last_batch,111),count(0) from sysprocesses where loginame='test'
group by convert(varchar,last_batch,111)
order by count(0) desc

如果從主機(www)來的連線比較多,可以檢視它的程序詳細情況

select * from   sysprocesses where hostname='www'

如果www機器主要提供網頁服務,可能是asp程式處理連線時出了問題, 生成殺這些程序的SQL語句:

select 'kill '+convert(varchar,spid) from sysprocesses where hostname='www'

如果這樣的問題頻繁出現,可以寫一個儲存過程sp_KillIdleSpids.sql,

寫一個作業, 執行它, 來自動殺掉從主機(www)來但已經一天沒有響應的使用者連線. -------------------------------- SQL Server的使用者及許可權

sysadmin 可以在 SQL Server 中執行任何活動
serveradmin 可以設定伺服器範圍的配置選項 關閉伺服器
setupadmin 可以管理連結伺服器和啟動過程
securityadmin 可以管理登入和 CREATE DATABASE 許可權 還可以讀取錯誤日誌和更改密碼
processadmin 可以管理在 SQL Server 中執行的程序
dbcreator 可以建立 更改和除去資料庫
diskadmin 可以管理磁碟檔案
bulkadmin 可以執行 BULK INSERT 語句 固定資料庫角色 描述
db_owner 在資料庫中有全部許可權
db_accessadmin 可以新增或刪除使用者ID
db_securityadmin 可以管理全部許可權 物件所有權 角色和角色成員資格
db_ddladmin 可以發出ALL DDL但不能發出GRANT REVOK或DENY語句
db_backupoperator 可以發出DBCC CHECKPOINT和BACKUP 語句
db_datareader 可以選擇資料庫內任何使用者表中的所有資料
db_datawriter 可以更改資料庫內任何使用者表中的所有資料
db_denydatareader 不能選擇資料庫內任何使用者表中的任何資料
db_denydatawriter 不能更改資料庫內任何使用者表中的任何資料 一些sql中的擴充套件儲存的總結
xp_availablemedia 顯示系統上可用的碟符'C:' xp_availablemedia
xp_enumgroups 列出當前系統的使用群組及其說明 xp_enumgroups
xp_enumdsn 列出系統上已經設定好的ODBC資料來源名稱 xp_enumdsn
xp_dirtree 顯示某個目錄下的子目錄與檔案架構 xp_dirtree 'C:inetpubwwwroot'
xp_getfiledetails 獲取某檔案的相關屬性 xp_getfiledetails 'C:inetpubwwwroot.asp'
dbp.xp_makecab 將目標計算機多個檔案壓縮到某個檔案裡所壓縮的檔案都可以接在引數的後面用豆號隔開 dbp.xp_makecab 'C:lin.cab','evil',1,'C:inetpubmdb.asp'
xp_unpackcab 解壓縮 xp_unpackcab 'C:hackway.cab','C:temp',1
xp_ntsec_enumdomains 列出伺服器域名 xp_ntsec_enumdomains
xp_servicecontrol 停止或者啟動某個服務 xp_servicecontrol 'stop','schedule'
xp_terminate_process 用pid來停止某個執行中的程式 xp_terminate_process 123
dbo.xp_subdirs 只列某個目錄下的子目錄 dbo.xp_subdirs 'C: