SQL Server 数据库部分常用语句小结(一)
1. 查询某存储过程的访问情况
SELECT TOP 1000 db_name(d.database_id) as DBName, s.name as 存储名字, s.type_desc as 存储类型,
d.cached_time as SP添加到缓存的时间, d.last_execution_time AS 上次执行SP的时间,
d.last_elapsed_time as [上次执行SP所用的时间(微秒)], d.total_elapsed_time [完成此SP的执行所用的总时间(微秒)],
d.total_elapsed_time/d.execution_count AS [平均执行时间(微秒)], d.execution_count as 自上次编译以来所执行的次数
FROM sys.procedures s INNER JOIN sys.dm_exec_procedure_stats d
ON s.object_id = d.object_id where s.name='存储过程的名称' ----请在此处替换要统计的SP
ORDER BY d.total_elapsed_time/d.execution_count DESC
2. 查询包含关键字(字符串)的存储过程 SP
Select distinct o.* from sysobjects o, syscomments s
where o.xtype='P' and s.id=o.id and text like '%关键字%' order by o.name
3. 查询包含关键字(字符串)的Job
Select * from msdb.dbo.sysjobs
where job_id in(Select job_id from msdb.dbo.sysjobsteps where command like '%XXXXXX%' )
4. 查询哪些SQL语句占用CPU的频率高
SELECT TOP 10 [cpu_time],
[session_id],
[request_id],
[start_time] AS '开始时间',
[status] AS '状态',
[command] AS '命令',
dest.[text] AS 'sql语句',
DB_NAME([database_id]) AS '数据库名',
[blocking_session_id] AS '正在阻塞其他会话的会话ID',
[wait_type] AS '等待资源类型',
[wait_time] AS '等待时间',
[wait_resource] AS '等待的资源',
[reads] AS '物理读次数',
[writes] AS '写次数',
[logical_reads] AS '逻辑读次数',
[row_count] AS '返回结果行数'
FROM sys.[dm_exec_requests] AS der
CROSS APPLY
sys.[dm_exec_sql_text](der.[sql_handle]) AS dest
WHERE [session_id]>50 AND DB_NAME(der.[database_id])='数据库名字' ----请在此处输入要统计的数据库名字
ORDER BY [cpu_time] DESC
5. DB的单用户模式更新成多用户模式
alter database 数据库名字 set multi_user;
6. 查询某表的列的详情
select * from syscolumns where id=object_id('要统计的表') ---请替换
7. 查询当前SQL Server日志信息
Exec xp_readerrorlog 0
其实 xp_readerrorlog 一共有7个参数
(1) 存档编号;
(2) 日志类型(1为SQL Server日志,2为SQL Agent日志);
(3) 查询包含的字符串;
(4) 查询包含的字符串;
(5) LogDate开始时间;
(6) 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc");
(7) 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc") 。
8. 查询Job 明细
SELECT b.[name] [JobName]
,b.enabled [Enabled]
,a.step_id [StepID]
,b.description [JobDescription]
,a.step_name [StepName]
,a.command [Script]
FROM msdb.dbo.sysjobsteps a
INNER JOIN msdb.dbo.sysjobs b
ON a.job_id=b.job_id
9.表统计信息的更新
UPDATE STATISTICS tblname -- 表名 --在执行计划老是走偏的情况下,执行。比如,我们发现某张表在辅助数据库上执行1S就可以执行完成,但是在主库上执行耗时5S,查看执行计划,是走的索引不一样。又不能修改程序,走强制索引(在SQL验证中走强制索引,也可以降至1S)。
--后来就刷新了此表的统计信息。表的数据量为1560W,Size为30G,刷统计信息耗时67S.
SQL Server 数据库部分常用语句小结(一)的更多相关文章
- SQL Server 数据库部分常用语句小结(三)
21.SQL运行Log的读取 .EXEC xp_readerrorlog 0,1,null,null,'开始时间','结束时间' 22. Alwayson 状况及传输情况监控 SELECT ar.re ...
- SQL Server 数据库部分常用语句小结(二)
9. 查询备份还原数据库的进度. select command ,percent_complete ,est_time_to_go=convert(varchar,(estimated_complet ...
- 在 SQL Server 数据库的 WHERE 语句中使用子查询
这是关于子查询语句的一系列文章中的第三篇.在这篇文章中我们将讨论WHERE语句中的子查询语句.其他的文章讨论了其他语句中的子查询语句. 本次课程中的所有例子都是基于Microsoft SQL Serv ...
- SQL Server性能监控常用语句
.查找目前SQL Server所执行的SQL语法,并展示资源情况: SELECT s2.dbid , DB_NAME(s2.dbid) AS [数据库名] , --s1.sql_handle , ( ...
- 查询SQL SERVER 数据库版本号脚本语句
数据库直接执行此语句即可select @@version 示例: Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Feb 20 2014 20:04:2 ...
- SQL Server数据库存在判断语句及系统表简介 转
Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名' ...
- SQL Server数据库存在判断语句及系统表简介
Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名' ...
- Sql Server 数据库用Transact-SQL语句创建链接服务器
1.在查询编辑器中,输入以下 Transact-SQL 命令以便链接到名为 SRVR002\ACCTG 的 SQL Server 实例: USE [master] GO EXEC master.dbo ...
- SQL SERVER数据库中DDL语句
一 修改表列名 EXEC sp_rename 'table_name.[字段旧名]', '字段新名' , 'COLUMN'; 二 修改列类型 ALTER TABLE table_name ALTER ...
随机推荐
- [Swift]LeetCode650. 只有两个键的键盘 | 2 Keys Keyboard
Initially on a notepad only one character 'A' is present. You can perform two operations on this not ...
- 使用C# (.NET Core) 实现抽象工厂设计模式 (Abstract Pattern)
本文的概念性内容来自深入浅出设计模式一书. 上一篇文章讲了简单工厂和工厂方法设计模式 http://www.cnblogs.com/cgzl/p/8760250.html, 使用的是披萨店的例子. 文 ...
- 【java提高】---java反射机制
java反射机制 一.概述 1.什么是反射机制 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态 ...
- redis 系列7 数据结构之跳跃表
一.概述 跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的.在大部分情况下,跳跃表的效率可以和平衡树(关系型数据库的索引就是平衡树 ...
- Linux驱动模块编译模板
hello.c文件: #include <linux/module.h> #include <linux/kernel.h> static int hello_init(voi ...
- LeetCode专题-Python实现之第28题: Implement strStr()
导航页-LeetCode专题-Python实现 相关代码已经上传到github:https://github.com/exploitht/leetcode-python 文中代码为了不动官网提供的初始 ...
- SpringBoot整合系列-整合H2
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9959855.html SpringBoot整合H2内存数据库 一般我们在测试的时候习惯于 ...
- 基于.Net进行前端开发的技术栈发展路线(二)
前言 上一篇<我的技能树>文章分享了我的技能成长过程,还未完成,今天继续跟大家分享. 01 我的技能树 我的当前的技能树: 其中,标注为黄色旗帜的是基本掌握,标注为红色旗帜的为使用熟练.未 ...
- VisualStudio,用C#写的一个开源移动APP,资产管理类项目SmoSec
继SmoOne之后,Smobiler团队又推出一款用C#开发的APP开源项目. 这款开源项目名为SmoSec,目前包含资产管理.耗材管理两大类. 并且,未来会不断迭代,持续增加盘点.标签打印和仓库管理 ...
- SQL Server表名为添加中括号[]执行出错
执行SQL语句: Update Check Set EOBTypeID=102 where E0BID='123344' 结果竟然报错,给表名添加中括号,写成这样: Update [Check] Se ...