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'