T-SQL语句查询服务器内存,cpu,磁盘空间,磁盘IO以及每个库的大小

zhj6121229430 2010-04-27 11:35:20
内容如题:
我想新建一个作业,使用T-SQL语句查询服务器内存,cpu,磁盘空间,磁盘IO以及每个库的大小,保存到表里面。这样就可以分析每个时间段是数据库压力的高峰期。

请教
...全文
556 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yueziaixin 2011-07-02
  • 打赏
  • 举报
回复
跟着学习一下。up
zhj6121229430 2010-04-28
  • 打赏
  • 举报
回复
呵呵, 没有兄弟帮忙再给点意见或者建议吗?
feixianxxx 2010-04-27
  • 打赏
  • 举报
回复
关注 是个好东西
zhj6121229430 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 happycell188 的回复:]

用专门的软件实现吧!
不一定要把数据保存到数据库里...
[/Quote]
不好意思,要求是要保存在我们制定的数据库中的!
这样方便程序调用
zhj6121229430 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 htl258 的回复:]

SQL code
sp_helpdb mydb
这个查出来的信息够吗
[/Quote]
这个查不到当前系统的CPU以及内存使用量啊!
永生天地 2010-04-27
  • 打赏
  • 举报
回复
sp_monitor
喜-喜 2010-04-27
  • 打赏
  • 举报
回复
用专门的软件实现吧!
不一定要把数据保存到数据库里...
htl258_Tony 2010-04-27
  • 打赏
  • 举报
回复
sp_helpdb mydb
这个查出来的信息够吗
zhousq00 2010-04-27
  • 打赏
  • 举报
回复
数据库对系统操作啊?
feixianxxx 2010-04-27
  • 打赏
  • 举报
回复
帮你人工置顶。。。
zhj6121229430 2010-04-27
  • 打赏
  • 举报
回复
呵呵! 人工置顶,希望大家多给点意见!
zhj6121229430 2010-04-27
  • 打赏
  • 举报
回复
回 # fredrickhu# (小F)
请看,我的需求是需要当前时间点的数据库以及服务器状态,而你提供的信息是服务器启动开始到当前这段时间服务器的统计信息,所以也不符合我的要求。
不过在此还是感谢你的积极回复!
obuntu 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fredrickhu 的回复:]

SQL code
---SQL Server对大容量内存的支持
32位操作系统有个很大的缺陷,应用程序无法访问大于4G的进程地址空间,因为32位的指针无法保存大于4G的地址空间
如果大于4G,则需要使用地址窗口化扩展插件(AWE),具体操作如下:
1,启动物理地址扩展
(1)找到C:\boot.ini,并删除其只读属性.
(2)编辑boot.ini,在ARC路径中添加/PAE参数.例如:
在w……
[/Quote]

不错。
--小F-- 2010-04-27
  • 打赏
  • 举报
回复
---SQL Server对大容量内存的支持
32位操作系统有个很大的缺陷,应用程序无法访问大于4G的进程地址空间,因为32位的指针无法保存大于4G的地址空间
如果大于4G,则需要使用地址窗口化扩展插件(AWE),具体操作如下:
1,启动物理地址扩展
(1)找到C:\boot.ini,并删除其只读属性.
(2)编辑boot.ini,在ARC路径中添加/PAE参数.例如:
在windows Server 2003 Enterprise Edition 中,编辑后的ARC路径如下:
muti(0)disk(0)partition(1)windows="windows Server 2003 Enterprise,Edition"/fastdetect/PAE
保存后将其恢复为只读模式,然后重新启动计算机。

如果计算机上的可用物理内存超过16G,应确保boot.ini文件中没有/3gb参数

---如何启动AWE选项
sp_configure'show advanced options',1
reconfigure
go
sp_configue 'awe enabled',1
reconfigure
go


---手动配置内存选项
sp_configure'show advanced options',1
go
reconfigure
go
sp_configure 'min server memory' --服务器最小内存
sp_configure 'max server memory' --服务器最大内存
sp_configure 'index create memory'--创建索引占用的内存
sp_configure 'min memory per query'--每次查询占用的最小内存

--获取磁盘读写情况
select
@@total_read as '读取磁盘的次数',
@@total_write as '写入磁盘的次数',
@@total_error as '磁盘写入错误数',
getdate() as '当前时间'

--获取数据库文件的I/O统计信息
select * from fn_virtualfilestats(null,null)
--两个参数
database_id--指定数据库编号,如果为null,则为所有数据库实例返回I/O统计信息
file_id --文件的编号,如果为null,则为所有文件返回信息

--获取I/O工作情况
select
@@id_busy,--SQL自上次启动以来的用于执行输入和输出操作的时间
@@timeticks, --每个时钟周期对应的微秒数
@@id_busy*@@timeticks as 'I/O 操作毫秒数',
getdate() as '当前时间'

--查看SQL SEVER CPU活动,工作情况
select
@@cpu_busy,--自上次启动以来的工作时间
@@timeticks, --每个时钟周期对应的微秒数
@@cpu_busy*cast(@@timeticks as float)/1000 as 'cpu工作时间(秒)',
@@idie*cast(@@timeticks as float)/1000 as 'CPU空闲时间(秒)'
getdate() as '当前时间'


--获取网络数据包统计信息
select
getdate() as '当前时间',
@@pack_received as'输入数据包数量',
@@pack_sent as '输出数据包数量',
@@packet_error as '错误包数量'
zhj6121229430 2010-04-27
  • 打赏
  • 举报
回复
额 有没有大神提供好的方法?
调用系统命令也可以啊!
只要用作业可以实现就好!

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧