当前位置:网站首页 > SQL数据库编程 > 正文

sqlldr 命令(sqlldr命令中密码带有特殊字符)



第二步,通过SQL语句分析锁定情况

由于SQL SERVER 2008相比SQL SERVER 2005中的“活动监视器”有了比较大的改变,所以下而我们通过SQL语句进行分析,使用SQL语句进行分析需要通过SP_WHO、SP_WHO2、SP_LOCK等系统存储过程、Master.sys.sysprocesses系统视图,或从SQL 2005(2008)新提供的动态视图管理(DMV)sys.dm_exec_session、sys.dm_tran_locks等获取相关信息。

通过master.sys.sysprocesses 视图找出最初锁住资源及导致后面一连串进程被迫停止的等待源头。

下面我们举一个例子来具体说明,以下代码在SQL SERVER 2005/2008中都可以使用:

在SQL SERVER 2005/2008中的Microsoft SQL Server Management Studio中打开一个新的查询界面,执行 exec SP_LOCK。结果如下图。

sql server查询字段进行加密_sql server查询字段进行加密

图1

从图1中可以观察到两个进程的相互作用,其中进程“53”要求模式为“独占(X)”,已经被获取允许“GRANT”;进程“56”要求模式为“共享(S)”正等候(WAIT)处理。

如上图1中进程“56”(执行SELECT语句的查询连接)被进程“53”(执行UPDATE语句的查询连接)封锁的现象,并从Book数据表锁定可以看出是因为“独占”锁定某一条索引键值(要求类型为KEY),导致进程“56”放置共享锁定(要求模式为“S”),而在等待状态(要求状态为WAIT)。

4. 在SQL SERVER 2005/2008中的Microsoft SQL Server Management Studio中打开一个新查询界面,通过另外一条连接来执行程序代码(例一),执行结果如下图。

sql server查询字段进行加密_sql server查询字段进行加密_02

图2

在上图2中可以看出例二查询代码开启事务之后,未关闭事务,因此状态(status)为sleeping,但并未被其他进程锁住(blk),所以“是否被锁住”列的数据为0,没有执行命令,也没有等待某种资源。另外由于该查询的数据库连接是Test,所以数据库名称为Test。

5. 查询sysprocesses系统视图呈现有问题的交易的现象可能有许多种,但最常见的一种就是status字段等于sleeping,waittype字段等于0x0000,last_batch字段表示离最后一次批处理执行的时候已经有一段距离了,以及open_tran字段大于0。例如,直接执行代码例二,这时事务已经开启,但是迟迟没有结束,就可能是程序没有做好事务管理。

可以在在SQL SERVER 2005/2008中的Microsoft SQL Server Management Studio中打开一个新查询界面中执行下面的语句,以查询有问题的连接

如下图。

sql server查询字段进行加密_Server_03

图3

status字段等于sleeping表示没有指示符正在执行,waittype字段等于0x0000代表此连接没有等待任何资源,last_batch字段表示最后一次SQL语句执行的时间,如果此时间离现在有一段时间了,以及open_tran字段大于0,就有问题了。一段时间过去了,没有等待任何资源,也没有执行任何SQL语句,那么为什么还要开启事务?

除了上述查询sysprocesses系统视图之外,SQL SERVER 2005/2008 可以通过“sys.dm_tran_locks动态管理视图”呈现目前使用中相关的锁定信息。返回的每一条记录都代表一个已经授权或等待授权的锁定。在结果集的数据行中,主要分成“资源”与“请求”两类,其字段分别以resource与request为前缀。资源群组描述已经锁定或等待的资源,而请求群组则描述已经获取或等待中的锁定请求。

在Sql 2005 的TEST执行上面的代码,结果如下图。(这是针对Wbk_pde_list数据表)

sql server查询字段进行加密_数据库_04

图4

在Sql 2008 的TEST数据库上执行上面的代码,结果如下图。(这是针对BOOK数据表)

sql server查询字段进行加密_sql server查询字段进行加密_05

图5

备注:

以上第二步是通过在Microsoft SQL Server Management Studio中执行代码进行查询与分析加锁情况,而在SQL SERVER 2005中则可以通过Microsoft SQL Server Management Studio管理获取相当多的信息,方便让你决定当前应该采取什么样步骤。

上而第二步中获取的信息都可以在SQL SERVER 2005中通过Microsoft SQL Server Management Studio中的“活动监视器”获取。

例如通过“活动监视器--》按对象分类的锁”,下拉菜单中选择相应的对象。(如下图)

sql server查询字段进行加密_字段_06

到此这篇sqlldr 命令(sqlldr命令中密码带有特殊字符)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • mysql主键自增语句(mysql主键自增2)2025-04-19 16:27:04
  • sql文件转换成csv显示不全(sqlplus导出csv文件)2025-04-19 16:27:04
  • mysql主键和索引(mysql主键索引叶子结点)2025-04-19 16:27:04
  • 增删改查sql语句语法(增删改查对应的sql语法)2025-04-19 16:27:04
  • mysql建立主外键关系(mysql怎么建立主外键关系)2025-04-19 16:27:04
  • mysql主键自增语句(mysql自增主键和uuid)2025-04-19 16:27:04
  • sqlldr字符编码(sqlloader 字符集)2025-04-19 16:27:04
  • sql数据库文件在哪(sqlyog数据库文件存放在哪里)2025-04-19 16:27:04
  • sql中循环查询(sql循环查询客户存款的消耗)2025-04-19 16:27:04
  • pymysql怎么安装到spyder(怎么安装pymysql模块)2025-04-19 16:27:04
  • 全屏图片