前段时间提到的"sql server 2005 死锁解决探索",死锁严重,平均每天会发生一次死锁,在解决和处理SQL server2005死锁中查了很多资料和想了很多办法,后来我们就使用了以下方法:       1,将数据库隔离级别改成行版本控制隔离级别.(没有了共享锁死锁)       2,重建和优化索引,优化SQL语句和采用分区视图等方法.提高访问速度.(减少了锁定时间)       3,水平拆分表(分区)并在程序读写时尽量做到分区消除,减少读写的行数,降低锁定升级的频率和时间.…
SELECT request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName FROM sys.dm_tran_locksWHERE resource_type = 'OBJECT' KILL spid 如: kill 70 [原文]http://www.cnblogs.com/liqingwen/p/7158996.html…
最近在做一个大型项目,由于数据设计采用离散型数据库设计,以方便需求变更及用户自定义流程要素,因为要素用户自定义,数据完整性靠代码约束变得不太现实,只能依靠表间关系来约束,结果因此导致数据的操作经常产生X(排它)锁,严重影响数据性能. 对于一时没有更好解决方法的数据库死锁最直接的解决办法是杀死生成死锁的数据库进程. 如果有死锁产生,下面的代码运行后可以看到大量死锁信息在同一进程(SPID)上,可以根据情况杀死(Kill)某进程. select p.spid ,p.[dbid] ,db_name(p…
解决sql server2008数据库安装之后,web程序80端口被占用问题(终极方案) 前言:原来电脑上的Apache一直使用正常,在安装sql server2008后,突然发现Apache无法启动,检查了一下是因为80端口被强制占用了. 解决方案: 1.先用cmd命令 netstat -ano 看一下各个端口占用和进程PID(80端口是被3296占用) . 2.然后在任务管理器里,查看进程.(注意:默认情况下,进程的PID是不显示的,你在菜单的查看 → 选择列里可以选上PID来显示)   …
SQL SERVER数据库进行备份时出现“操作系统错误5(拒绝访问).BACKUP DATABASE 正在异常终止.”错误.我们应该如何解决这个问题?小编今天为大家推荐一个解决办法. 一般备份文件选择的目录为磁盘根目录或备份所选分区未授予sqlserver用户读写权限时会出现此错误. 解决办法就是给sqlserver用户授予权限: 选择要备份的文件夹 ,右键-->属性-->安全-->看下"组或用户"是否包涵Authenticated Users 这个用名,因为是包括在…
一个测试c++链接 sql server 数据库的例子// 数据库说明// 数据库用户为 sa , 密码为 空// 数据库为 MyDB// 表为 UserInfo// 表字段为 Name . PassWd .ID // TestSQL.cpp : Defines the entry point for the console application.// #include "stdafx.h"#include <iostream>#include <iomanip&g…
用过logExplorer的朋友都会被他强悍的功能吸引,我写过一篇详细的操作文档可以参考http://blog.csdn.net/jinjazz/archive/2008/05/19/2459692.aspx我们可以自己用开发工具来实现sql日志的读取,这个应用还是很酷的,具体思路1.首先要了解一个没有公开的系统函数::fn_dblog,他可以读取sql日志,并返回二进制的行数据2.然后要了解sql的二进制数据是如何存储的,这个可以参考我的blog文章http://blog.csdn.net/j…
USE [DataBaseName]GO/****** Object:  StoredProcedure [dbo].[sp_check_deadlock]    Script Date: 07/04/2014 13:49:30 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO ALTER procedure [dbo].[sp_check_deadlock]   asset nocount on   /*  select   spid A…
. 检索 dbo.sysobjects表, select count(*) from dbo.sysobjects where xtype='U' and Name = '你的表名' . 根据返回的结果判断表是否存在,确定是清楚表的记录,还是建表 -判断t表是否存在,存在删除 declare @num int select @num=count(*) from dbo.sysobjects where xtype='U' and Name = 't' ) begin drop table t e…
上周五组长对我说了一句要杀死数据库的死锁进程,有时候同一时刻不停写入数据库会造成这种情况的发生,因为自己对数据库不是很熟悉,突然组长说了我也就决定一定要倒腾一下,不然自己怎么提高呢?现在不研究,说不定下次还是要研究呢,倒腾出来了就可以在下次用到了,后来组长又补了一句:"还有定时备份数据库的问题要解决",说干就干. PS:Sqlserver 2008 R2,windows 8 64位 1.备份数据库 因为要备份,我们就要用到Sqlserver的代理,默认数据库的代理是不开启的.需要我们手…