SQLServer数据库部分常用语句小结(四)

database

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 desc

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 权限授予指定用户

use [DB]

GO

GRANT SELECT ON [表] TO [用户]

GO

45.查看现在正在SQL Server执行的命令

首先查看sysprocesses系统表的数据(存放有关在 Microsoft SQL Server 实例中运行的进程的信息,这些进程可以是客户端进程或系统进程)。

查询示例:
select * from master..sysprocesses

在等到所有执行命令的进程ID了,如果要查看该进程的具体的SQL语句,可以利用以下语句查看:
dbcc inputbuffer(进程号)
例如:
dbcc inputbuffer(56)

46.将数据库设置为单用户模式

EXEC sp_dboption "数据库名字", "Single User", "TRUE"
EXEC sp_renamedb "数据库名字", "更新后的数据库名字"
EXEC sp_dboption "更新后的数据库名字", "Single User", "FALSE"

 

以上是 SQLServer数据库部分常用语句小结(四) 的全部内容, 来源链接: utcz.com/z/534129.html

回到顶部