在SQL Server裡檢視當前連線的線上使用者數_相約在明天_新浪部落格

辛普森·攀發表於2016-05-14

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:


相關文章