SQL Server 數據庫部分經常使用語句小結(四)

42.統計APP應用的DB鏈接及IP狀況數據庫

select b.hostname ,a.client_net_address, b.program_name ,count(1) as Qty
from sys.dm_exec_connections a(nolock) inner join sys.sysprocesses b(nolock)
on a.session_id=b.spid
where b.spid>50
--and a.client_net_address like'XXX.XXX.XXX.%'--限定某一類IP
group by b.hostname,a.client_net_address,b.program_name
order by 4 descsession

43.查看及收縮數據庫log日誌

--查看日誌大小
select DB_NAME(database_id),name,size/128
from sys.master_files
where type_desc='LOG' and size/128>1000
order by size desc
--拼收縮腳本
select 'use '+DB_NAME(database_id)+char(10)+'GO'+char(10)+'DBCC SHRINKFILE (N'''+name+''', 0, TRUNCATEONLY)'+CHAR(10)+'GO'
from sys.master_files
where type_desc='LOG' and size/128>1000
order by size desc進程

44.權限受權,例如將某表的select 權限授予指定用戶input

use [DB]
GO
GRANT SELECT ON [表] TO [用戶]
GOio

45.查看如今正在SQL Server執行的命令ast

首先查看sysprocesses系統表的數據(存放有關在 Microsoft SQL Server 實例中運行的進程的信息,這些進程能夠是客戶端進程或系統進程)。cli

查詢示例:
select * from master..sysprocessesfile

在等到全部執行命令的進程ID了,若是要查看該進程的具體的SQL語句,能夠利用如下語句查看:
dbcc inputbuffer(進程號)
例如:
dbcc inputbuffer(56)select

46.將數據庫設置爲單用戶模式

EXEC sp_dboption '數據庫名字', 'Single User', 'TRUE'EXEC sp_renamedb '數據庫名字', '更新後的數據庫名字'EXEC sp_dboption '更新後的數據庫名字', 'Single User', 'FALSE'

相關文章
相關標籤/搜索