设为首页 收藏本站
查看: 1427|回复: 5

[经验分享] SQL Server 数据库巡检脚本

[复制链接]

尚未签到

发表于 2013-3-26 09:45:34 | 显示全部楼层 |阅读模式
  • [Shell] 纯文本查看 复制代码
    --1.查看数据库版本信息  
    select @@version  
    --2.查看所有数据库名称及大小  
    select sp_helpdb  
    --3.查看数据库所在机器的操作系统参数  
    exec master..xp_msver  
    --4.查看数据库启动的参数  
    exec sp_configure  
    --5.查看数据库启动时间  
    select convert(varchar(30),login_time,120)  
    from master..sysprocesses where spid=1  
    --6.查看数据库服务器名  
    select 'Server Name:'+ltrim(@@servername)  
    --7.查看数据库实例名  
    select 'Instance:'+ltrim(@@servicename)   
    --8.数据库的磁盘空间呢使用信息  
    exec sp_spaceused  
    --9.日志文件大小及使用情况  
    dbcc sqlperf(logspace)  
    --10.表的磁盘空间使用信息  
    exec sp_spaceused 'tablename'  
    --11.获取磁盘读写情况  
    select   
    @@total_read [读取磁盘次数],  
    @@total_write [写入磁盘次数],  
    @@total_errors [磁盘写入错误数],  
    getdate() [当前时间]  
    --12.获取I/O工作情况  
    select @@io_busy,  
    @@timeticks [每个时钟周期对应的微秒数],  
    @@io_busy*@@timeticks [I/O操作毫秒数],  
    getdate() [当前时间]  
    --13.查看CPU活动及工作情况  
    select  
    @@cpu_busy,  
    @@timeticks [每个时钟周期对应的微秒数],  
    @@cpu_busy*cast(@@timeticks as float)/1000 [CPU工作时间(秒)],  
    @@idle*cast(@@timeticks as float)/1000 [CPU空闲时间(秒)],  
    getdate() [当前时间]  
    --14.检查锁与等待  
    exec sp_lock  
    --15.检查死锁  
    exec sp_who_lock --自己写个存储过程即可  
    /*  
    create procedure sp_who_lock  
    as  
    begin  
        declare @spid int,@bl int,  
        @intTransactionCountOnEntry int,  
        @intRowcount int,  
        @intCountProperties int,  
        @intCounter int  
        create table #tmp_lock_who (id int identity(1,1),spid smallint,bl smallint)  
        IF @@ERROR<>0 RETURN @@ERROR  
        insert into #tmp_lock_who(spid,bl) select 0 ,blocked  
        from (select * from sysprocesses where blocked>0 ) a   
        where not exists(select * from (select * from sysprocesses where blocked>0 ) b   
        where a.blocked=spid)  
        union select spid,blocked from sysprocesses where blocked>0  
        IF @@ERROR<>0 RETURN @@ERROR  
            -- 找到临时表的记录数  
            select @intCountProperties = Count(*),@intCounter = 1  
            from #tmp_lock_who  
        IF @@ERROR<>0 RETURN @@ERROR  
        if @intCountProperties=0  
        select '现在没有阻塞和死锁信息' as message  
        -- 循环开始  
        while @intCounter <= @intCountProperties  
        begin  
        -- 取第一条记录  
        select @spid = spid,@bl = bl  
        from #tmp_lock_who where id = @intCounter   
        begin  
        if @spid =0   
            select '引起数据库死锁的是: '+ CAST(@bl AS VARCHAR(10)) + '进程号,其执行的SQL语法如下'  
        else  
            select '进程号SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '进程号SPID:'+ CAST(@bl AS VARCHAR(10)) +'阻塞,其当前进程执行的SQL语法如下'  
        DBCC INPUTBUFFER (@bl )  
        end  
        -- 循环指针下移  
        set @intCounter = @intCounter + 1  
        end  
        drop table #tmp_lock_who  
        return 0  
    end  
    */  
      
    --16.用户和进程信息  
    exec sp_who  
    exec sp_who2  
      
    --17.活动用户和进程的信息  
    exec sp_who 'active'  
      
    --18.查看进程中正在执行的SQL  
    dbcc inputbuffer(进程号)  
    exec sp_who3  
      
    --19.查看所有数据库用户登录信息  
    exec sp_helplogins   
      
    --20.查看所有数据库用户所属的角色信息  
    exec sp_helpsrvrolemember  
      
    --21.查看链接服务器  
    exec sp_helplinkedsrvlogin  
      
    --22.查看远端数据库用户登录信息  
    exec sp_helpremotelogin  
       
    --23.获取网络数据包统计信息  
    select   
    @@pack_received [输入数据包数量],  
    @@pack_sent [输出数据包数量],  
    @@packet_errors [错误包数量],  
    getdate() [当前时间]  
      
    --24.检查数据库中的所有对象的分配和机构完整性是否存在错误  
    dbcc checkdb  
      
    --25.查询文件组和文件  
    select   
        df.[name],df.physical_name,df.[size],df.growth,   
        f.[name][filegroup],f.is_default   
    from sys.database_files df join sys.filegroups f   
    on df.data_space_id = f.data_space_id   
      
    --26.查看数据库中所有表的条数  
    select  b.name as tablename ,    
            a.rowcnt as datacount    
    from    sysindexes a ,    
            sysobjects b    
    where   a.id = b.id    
            and a.indid < 2    
            and objectproperty(b.id, 'IsMSShipped') = 0   
      
    --27.得到最耗时的前10条T-SQL语句  
    ;with maco as     
    (       
        select top 10    
            plan_handle,    
            sum(total_worker_time) as total_worker_time ,    
            sum(execution_count) as execution_count ,    
            count(1) as sql_count    
        from sys.dm_exec_query_stats group by plan_handle    
        order by sum(total_worker_time) desc    
    )    
    select  t.text ,    
            a.total_worker_time ,    
            a.execution_count ,    
            a.sql_count    
    from    maco a    
            cross apply sys.dm_exec_sql_text(plan_handle) t   
      
    --28. 查看SQL Server的实际内存占用  
    select * from sysperfinfo where counter_name like '%Memory%'  
      
      
    --29.显示所有数据库的日志空间信息  
    dbcc sqlperf(logspace)  
      
    --30.收缩数据库  
    dbcc shrinkdatabase(databaseName)  



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-4393-1-1.html 上篇帖子: SQLServer索引的四个高级特性 下篇帖子: SQL Server中特色字符、空格等的替换操作 数据库

尚未签到

发表于 2013-3-26 10:01:04 | 显示全部楼层
丑,但是丑的特别,也就是特别的丑!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 02:45:51 | 显示全部楼层
写的真的很不错

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 10:22:57 | 显示全部楼层
死亡教会人一切,如同考试之后公布的结果——虽然恍然大悟,但为时晚矣~!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-19 15:59:32 | 显示全部楼层
长大了娶唐僧做老公,能玩就玩一玩,不能玩就把他吃掉。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

发表于 2013-5-21 08:27:46 | 显示全部楼层
死亡教会人一切,如同考试之后公布的结果——虽然恍然大悟,但为时晚矣~!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表