能够使用SQL Profiler捕捉在SQL Server实例上运行的活动.这种活动被称为Profiler跟踪.这个就不多说了,大家都知道,以下是使用代码为实现同样的效果. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT [Spid] = session_id , ecid , [Database] = DB_NAME(sp.dbid) , [User] = nt_username , [Status] = er.status ,…
对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间.执行时间.做了多少次磁盘读等. 如果DBA能够把问题语句单独测试运行,可以在运行前打开下面这三个开关,收集语句运行的统计信息. 这些信息对分析问题很有价值. 1 SET STATISTICS TIME ON 2 SET STATISTICS IO ON 3 SET STATISTICS PROFILE ON SET STATISTICS TIME ON 请先来看看SET STATISTICS TIME ON会返回什么信…
SQLSERVER读懂语句运行的统计信息 对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间.执行时间.做了多少次磁盘读等. 如果DBA能够把问题语句单独测试运行,可以在运行前打开下面这三个开关,收集语句运行的统计信息. 这些信息对分析问题很有价值. 1 SET STATISTICS TIME ON 2 SET STATISTICS IO ON 3 SET STATISTICS PROFILE ON SET STATISTICS TIME ON 请先来看看SET STA…
11g中引入了新的动态性能视图V$SQL_MONITOR,该视图用以显示Oracle监视的SQL语句信息.SQL监视会对那些并行执行或者消耗5秒以上cpu时间或I/O时间的SQL语句自动启动,同时在V$SQL_MONITOR视图中产生一条记录.当SQL语句正在执行,V$SQL_MONITOR视图中的统计信息将被实时刷新,频率为每秒1次.SQL语句执行完成后,监视信息将不会被立即删除,Oracle会保证相关记录保存一分钟(由参数_sqlmon_recycle_time所控制,默认为60s),最终这…
原文:sqlserver 出现sql被锁时,查看加锁和被锁的sql DECLARE @spid INT DECLARE @blk INT DECLARE @count INT DECLARE @index INT DECLARE @lock TINYINT   SET @lock=0   CREATE TABLE #temp_who_lock   (      id   INT IDENTITY(1, 1),      spid INT,      blk  INT   )   --if @@e…
在sqlserver的使用过程中,有时候可能会因为sqlserver版本过低等原因的导致无法附加以及还原数据库,我们可以通过sql server management studio软件的帮助菜单参看到详细的sqlserver版本号.数据访问组件等版本号信息. 首先打开你本地的sql server management studio软件,可以看到顶部菜单栏有一个[帮助]的菜单按钮,在其子菜单中找到[关于],具体如下: 进入[关于]菜单页面后,我们可以看到详细的sqlserver版本号信息,还包含操…
使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + Grafana对服务器进行监控. 首先我们需要在一台Server上安装Debian9作为监控主机,这个监控主机可以配置为可监控多台Server. 安装Docker 如果之前已经安装过旧版本的Docker,先移除旧版本的安装 sudo apt-get remove docker docker-eng…
在前两波中,已完成了Excel与Sqlserver的查询和上传功能,但难免许多临时的或更深入地操作数据库需要用Sql语句来操作,对一般用户电脑里,不可能有条件轻易安装一个数据库客户端软件,就算安装了对其中烦多的功能操作也不胜任. 开发一个简单的接受SQL语句对数据库进行访问操作就有点必要,当然这个落脚点放到Excel上是很不错的选择,毕竟所有用户电脑都有安装Excel. 并且在Excel上批量构造SQL语句也是容易的事,若有数据需要从数据库中导出,Excel作为装载小量数据并进行后续分析的容器是…
迁移须知 使用SQLSERVER 2012的特性在SQL 2008 R2不支持,比如新的分页方式 此迁移操作手册适用于MSSQL2012到MSSQL2008R2的迁移 迁移使用微软提供的脚本生成和导入导出工具 需要在本地将MSSQL2012迁移完成,并且应用改造完成测试通过方可上RDS 迁移到MSSQL2008R2 RDS通过备份还原的方式进行 迁移步骤 安装2008 R2的数据库实例这个很简单,安装数据库实例应该很横轻松 在新建的2008 R2上创建数据库 CREATE DATABASE [A…
当数据库运行比较缓慢时,我们需要实时查看当前有什么Session在运行,获得信息越完整,对于分析低性能的原因越有帮助.根据之前调优的经历,简单几步分析如下: 1.通过SQL Server内置的Sp_who查询 2.更深入的可以通过Sp_who2查询 3.比第2点更丰富的,可以通过下面的语句,不但可以查询出当前executing_statement,还可以获取到当前语句的执行计划 --语句如下: SELECT des.session_id , des.status , des.login_name…
原文:查看SQLSERVER内部数据页面的小插件Internals Viewer 查看SQLSERVER内部数据页面的小插件Internals Viewer 感觉internals viewer这个名字起得很好,内部查看. 这个小工具是我之前看园子里的某大侠转载的文章是看到的 文章地址:SQL Server2008存储结构之堆表.行溢出 http://www.cnblogs.com/trams/archive/2010/09/11/1823727.html 这几天研究了一下这个小工具,发现挺好用…
本文出处:http://www.cnblogs.com/wy123/p/6835939.html 什么是等待 简单说明一下什么是等待:当应用程序对SQL Server发起一个Session请求的时候,这个Session请求在数据库中执行的过程中会申请其所需要的资源,比如可能会申请内存资源,表上的锁资源,物理IO资源,网络资源等等,如果当前Session运行过程中需要申请的某些资源无法立即得到满足,就会产生等待.SQL Server会以不用的方式来展现这个等待信息,比活动Session的等待信息,…
查看sqlserver的端口号 背景 这几天想写一个使用java连接sqlserver的数据库连接测试程序.但是在查看数据库连接字符格式以后发现需要sqlserver数据库 服务的端口号.在安装sqlserver的时候也没有提到端口号的问题,以前安装mysql的时候倒是见到过3306这个端口号,安装oracle的时候 1521这个端口号也没有看到.不过oracle连接的时候都用的是1521,比如oracle的的数据库连接字符串格式 为:jdbc:oracle:thin:@localhost:15…
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上 1.JavaBean的使用 package com.zheng; public class BookBean { private int id;// 编号 private String name;// 图书名称 private double price;// 定价 private int bookCount;// 数量 private String author;// 作者 public int getId()…
查看数据库登录名信息 use mastergoSELECT name AS LoginName , dbname AS DefaultDB , createdate AS CreateDate, updatedate AS UpdateDate, language AS Language , THEN 'NT USER' ELSE 'SQL USER' END AS UserType FROM syslogins; 查看数据库用户信息  SELECT * FROM sysusers;  查看用户…
mod=viewthread&tid=3039" target="_blank">Java拼接动态SQL的一般做法有       1.使用动态语句 非常多数据库都提供了处理动态SQL的语法,如Oracle的EXECUTE IMMEDIATE语句.MSSQL的EXEC和SP_EXECUTESQL.Mysql的预处理语句等. 这些功能让我们在数据库端来处理动态查询提供了极大遍历,但这样的方式仅仅适用于相对简单地动态查询,复杂的情况常常会採用以下的方式. 2.使用存储…
查看当前session线程号 mysql> select connection_id(); +-----------------+ | connection_id() | +-----------------+ | 28 | +-----------------+ 1 row in set (0.02 sec) Session 1: Vsftp:/root# mysql -uroot -p1234567 -e " show processlist" Warning: Using…
原文:查看SQLServer 代理作业的历史信息 不敢说众所周知,但是大部分人都应该知道SQLServer的代理作业情况都存储在SQLServer5大系统数据库(master/msdb/model/tempdb/resources)中的MSDB中,而由于代理作业的长期运行和种类较多,所以一般可以看到msdb的大小往往比其他库加起来还大.本文主要专注在如何查询作业的运行时间点及运行持续时间上. 作为DBA,周期性检查作业情况是一下非常重要的任务.本文不讲述太深入.只讲述如何查询作业的历史运行情况.…
--下面的SQL可以根据Request ID找到对应的Session信息: select * from v$session where paddr in (select addr from v$process where spid = (select b.oracle_process_id from apps.fnd_concurrent_requests b where b.request_id = &req_number)) --或者进一步找到正在运行的SQL: select sql_tex…
一.JDB调试        在预发环境下进行debug时,时常因为工具和环境的限制,导致debug体验非常差,那么有什么方法能够简化我们进行debug的体验吗?JDB就是一种.        JDB是 The Java Debugger 的简称,它可以用来debug一个Java程序,同时它是 JPDA 的一个参考实现,只是这个实现是基于命令行的. 使用JDB的目的是,更细节的诊断和操控代码,如果只是观察值,可以使用arthas之类的工具 1.1.JPDA JPDA将调试过程分为两部分:被调试的…
将ibatis 的log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句 ### 设置Logger输出级别和输出目的地 ###log4j.rootLogger=debug,stdout,logfile ### 把日志信息输出到控制台 ###log4j.appender.stdout=org.apache.log4j.ConsoleAppender#log4j.appender.stdout.Target=System.errlog4j.appender.stdout.la…
如何查看SQLServer的最大连接数?相信很多人对个很有兴趣,一下就给出两种方法: 1. 查询服务器属性 默认服务设置为0(表示不受限制). 2. SQL查看最大连接数 这里的32767就是服务器的最大连接数了. 如果你想自己设置服务器的最大连接数,可以使用以下SQL exec sp_configure 'show advanced options', 1 exec sp_configure 'user connections', 500…
在Yii框架下查看当前页面执行的所有sql语句的方法,主要是通过配置相关文件来达到调试sql的目的,具体方法如下: (1)修改 index.php 开启调试模式 在 index.php 文件内增加如下两行代码(如果不存在的话):   1 //开启调试模式 2 defined('YII_DEBUG') or define('YII_DEBUG',true); 3 //设置日志记录级别,YII_TRACE_LEVEL的数字越大,信息越清楚 4 defined('YII_TRACE_LEVEL') o…
在Yii框架下查看当前页面执行的所有sql语句的方法,主要是通过配置相关文件来达到调试sql的目的,具体方法如下: (1)修改 index.php 开启调试模式 在 index.php 文件内增加如下两行代码(如果不存在的话): 查看代码   打印 1 //开启调试模式 2 defined('YII_DEBUG') or define('YII_DEBUG',true); 3 //设置日志记录级别,YII_TRACE_LEVEL的数字越大,信息越清楚 4 defined('YII_TRACE_L…
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具.通过top命令所提供的互动式界面,用热键可以管理. 语法 top(选项) 选项 -b:以批处理模式操作: -c:显示完整的治命令: -d:屏幕刷新间隔时间: -I:忽略失效过程: -s:保密模式: -S:累积模式: -i<时间>:设置间隔时间: -u<用户名>:指定用户名: -p<进程号>:指定进程: -n<次数>:循环显示的次数. top交互命令 在top…
问题:升级windows10后,sql server 2005 无法运行或sql server服务&sql server agent无法启动,如下图,怎么办? 一般情况下,我们第一反应就是sql server 服务未启动,然而我们去启动服务的时候发现,并没有什么^_^用: 其实问题不是在于服务启动与否,而是在于win10与sql server 2005并不兼容,那么问题来了,该怎么兼容呢? 一步操作到位 将sqlos.dll与sqlservr.exe(请前往下方链接下载)覆盖到~:\Progra…
1. 查看性能最差的前100sql SELECT * FROM ( SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,sql_text                 FROM v$sqlarea                 ORDER BY disk_reads DESC)    WHERE ROWNUM<100   2.oracle 10g 查看某session的历史执行sql情况(sql采样间隔1s) ora…
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4081848.html 感谢! 一.log4jdbc的简单介绍 使用log4jdbc在不改变原有代码的情况下,就可以收集执行的SQL文和JDBC执行情况. 平时开发使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL Developer客户端直接执行,需要自己拼凑sql.而log4jdbc是在jdbc层的一个日志框…
获得SQLSERVER的表字段等架构信息 SELECT 表名 = CASE WHEN A.COLORDER=1 THEN D.NAME ELSE '' END, 表說明 = CASE WHEN A.COLORDER=1 THEN ISNULL(F.VALUE,'') ELSE '' END, 欄位序號 = A.COLORDER, 欄位名 = A.NAME, 標識 = CASE WHEN COLUMNPROPERTY( A.ID,A.NAME,'ISIDENTITY')=1 THEN '√'ELS…
输入命令就可以查看本机的很多硬件的详细信息: 在命令行cmd 下,输入dxdiag  查看关于电脑许多硬件的详细信息…