
SQL Server
文章平均质量分 51
灵欣子
人生5C
展开
-
解决Oracle共享内存不足的方法
共享内存太小,分配给共享池的内存不足以满足用户请求,或者存在一定碎片,没有有效的利用保留区,造成无法分配合适的共享区。 问题: ORA-04031: unable to allocate 19204 bytes of shared memory ("share原创 2011-08-24 11:06:53 · 10354 阅读 · 0 评论 -
SQL Server中的锁类型及用法
一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用转载 2011-11-23 16:04:17 · 548 阅读 · 0 评论 -
使用下面的命令,将有关的跟踪标志启用。
我们知道,可以使用SQL Server自带的Profiler工具来跟踪死锁信息。但这种方式有一个很大的敝端,就是消耗很大。据国外某大神测试,profiler甚至可以占到服务器总带宽的35%,所以,在一个繁忙的系统中,使用profiler显然不是一个好主意,下面我介绍两种消耗比较少的方法。其中第二种的消耗最小,在最繁忙的系统中也可使用。第一种最为灵活,可满足多种应用。方法一:利用SQL Se转载 2011-12-01 09:05:06 · 1382 阅读 · 0 评论 -
使用SQL Trace来实现SQL Server的跟踪操作
说到跟踪,很多人会想起SQL Profiler。SQL Profiler仅仅是一个GUI,SQL Trace才是本质。SQL Trace是构建服务器跟踪和Profiler的基础。如果你了解到这点,那你就会毫不犹豫的在生产环境使用服务器跟踪。下面分别从跟踪的代价、跟踪架构、反跟踪和跟踪原则等方面来介绍SQL Trace,并通过一个实例使这些介绍更加的通俗易懂。 一、SQL Trace跟踪的代价转载 2011-12-01 11:19:58 · 1677 阅读 · 0 评论 -
一次死锁追踪经历
开始以为是数据库某个JOB运行出现异常引起或者是因为程序里面哪个鸟人写了垃圾语句造成了大面积的死锁,于是将收集的trace信息拿到本地分析,从收集到的trace信息看,数据库在19:49:28时出现了锁,系统cancel了它,而且是连续三个,之后数据库大部分连接都是Abort了。 初步估计应该是死锁了,首先想到的就是因为数据库更新语句造成,于是查找Agent里面是否有对应时间的JOB运行,转载 2011-12-01 09:07:48 · 1391 阅读 · 0 评论 -
SQL Server死锁的解除方法
SQL Server死锁使我们经常遇到的问题,下面就为您介绍如何查询SQL Server死锁,希望对您学习SQL Server死锁方面能有所帮助。SQL Server死锁的查询方法:exec master.dbo.p_lockinfo 0,0 ---显示死锁的进程,不显示正常的进程 exec master.dbo.p_lockinfo 1,0 ---杀死死锁的进程,不显示正常的进程转载 2011-12-01 09:34:05 · 1898 阅读 · 0 评论 -
阻塞如何跟踪和查找; 如何 处理阻塞
寻找阻塞的原因基于锁的阻塞由锁定资源的进程冲突引起。只知道锁是不够的,为了找到问题的根源,我们需要知道涉及到的查询。一旦识别了session id或spid,我们就可以跟踪这些查询。SQL Server 2005能得到被阻塞的实际任务,可以获取比以前的版本更多的信息。使用被阻塞进程报告被阻塞进程报告TextData列的XML输出会显示阻塞和被阻塞session的查询文本。目前是查询最方转载 2011-12-01 10:05:55 · 2368 阅读 · 0 评论 -
SQLserver convert函数转换日期格式
SQLserver中用convert函数转换日期格式2008-01-15 15:51SQLserver中用convert函数转换日期格式SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能转载 2012-04-10 17:27:12 · 1904 阅读 · 0 评论 -
VS2008 VSTS 删除死锁项 TFC
由于VSTS是基于数据库存储的,因此,直接干掉数据库中的数据应该是解决的最直接办法。大体的解决步骤如下:1、连接到TFS的数据库服务器,一般情况下每一个Project都会有一个单独的数据库,找到tfsversioncontrol库;2、查找tbl_workspace表,找出相应的工作目录,比如 select * from tbl_workspace where workspacenam转载 2012-04-25 14:07:05 · 1164 阅读 · 0 评论 -
truncate 本质是什么
truncate table 是通过释放存储表数据所用的数据页来删除数据。而表变量的数据是保存在内存中的,而非磁盘中,那么就truncate table 试图释放表变量并不存在的 “数据页”, 当然会报错了转载 2011-11-23 14:59:58 · 744 阅读 · 0 评论 -
sqlserver阻塞定位 解決方法
很多人都遇到过这样的情况,当网站达到一定的访问量,数据库就会成为瓶颈,进而引起阻塞。有人认为这可能就是硬件的极限了,于是想办法增加硬件设备。而我本人认为问题的元凶可能是性能不高的sql脚本,引起了阻塞。如果你和我有相同的看法,那我们就一起想办法找出问题的源头。案例1.某一天我被告知,我们的书城网站不能访问了,我马上查看,发现书城的有两台iis服务器均显示servic转载 2011-11-23 14:49:35 · 630 阅读 · 0 评论 -
SQL Server 2008中如何设置数据库审核规范
SQL Server 2008引入了SQL Server审核的新特性。SQL Server数据库的审核涉及到数据库的跟踪和日志事件的记录。数据库管理员可以利用这个特性,来执行一项战略,审核 SQL Server 系统上的活动和更改,以满足特定风险的SQL Server 2008数原创 2011-08-24 11:13:08 · 1332 阅读 · 0 评论 -
六个建议防止SQL注入式攻击
SQL注入攻击的危害性很大。在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理。这有利于管理员采取有针对性的防治措施。 一、 SQL注入攻击的简单示例。 statement := "SELECT * FROM Users WHERE Value=原创 2011-08-24 11:14:15 · 518 阅读 · 0 评论 -
如何使用SQL Server游标
在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。 1.游标和游标的优点 在原创 2011-08-24 11:04:36 · 447 阅读 · 0 评论 -
按照事务类型分析DB2事物的性能
利用 DB2 的事件监测器和快照监测器,来分析运行于 DB2 系统的事务的性能。在分析报告中,提供了事务的平均执行时间,执行次数,事务中每一个 SQL 语句的执行时间以及执行 SQL 语句时应用程序的状态。 事务是数据库系统中的核心概念之一。应用程序可以通过启动、提原创 2011-08-24 11:10:02 · 581 阅读 · 0 评论 -
数据库名词解释
数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务。本文分类介绍了模糊数据库、统计数据库、网状数据库及演绎数据库的定义。 模糊数据库 指能够处理模糊数据的数据库。一般的数据库都是以二直逻辑和精确的数据工具为基础的,原创 2011-08-24 11:11:04 · 877 阅读 · 0 评论 -
轻松解决SQL Server无法启动的小技巧
1)打开“开始”菜单并选择“运行”。单击“浏览”按钮开始浏览直到找到Windows2000的根目录(通常是WINNT)为止。进入System目录并找到Regedt32.exe,将其选入对话框并单击“确定”按钮。注册表编辑器启动,将所有的配置单元分别显示在不同的层叠子窗口中转载 2011-10-13 16:31:40 · 824 阅读 · 0 评论 -
SQL Server如何查看SQL语句的执行时间 .
下面这种方法比较全面,将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来set statistics profile onset statistics io onset statistics time ongogoset statistics profile offset statistics io offset statistics time转载 2011-11-22 14:56:34 · 695 阅读 · 0 评论 -
sybase查看用户正在运行的sql语句
以sa登陆>dbcc traceon(3604)>go>dbcc sqltext(sp_id)>go能看到连接sp_id的运行的sql语句sp__id可由sp_who查出,这样如果数据库出现lock的时候可以查询是什么sql原因造成的 写成存储过程更简单!我已经用很久了,呵呵if exists (select 1 from sysobjects wh转载 2011-11-22 13:59:49 · 5804 阅读 · 0 评论 -
SQL Server 2008 修改表结构 出错
在第一次使用SQL Server2008之后,修改已经创建好的表结构,提示“您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。” 这是因为在SQL Server2008中有个选项,把此选项去除就可以了。 步骤如下: 打开SQL 2008 在最上面 工具-〉选项-〉左侧有个 设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表原创 2012-06-11 15:19:58 · 1414 阅读 · 2 评论