
近日,我们的SQLServer 服务器 出现了一场异常,这个异常被称为“锁定进程”,它会影响服务器的性能。
当异常发生时,客户端将无法顺利连接至数据库,并且客户端也无法获取数据,如果客户端可以连接至数据库,未能请求完成的查询可能出现超时,从而导致客户端连接断开。
一般而言,发生“锁定进程”异常的可能原因有:(1)某些事务被锁定或死锁;(2)某些任务被系统锁定,虽然进程在占用资源,但是任务已死;(3)客户端发送请求得到失败,过程锁定该连接导致的;(4)用户应用程序中的 BUG 导致的。
要解决 SQLServer 锁定进程问题,首先需要确定是哪个数据库或服务也需要被锁定。可以使用DBCC INPUTBUFFER或者XP_READERRORLOG,来确定异常起源。然后从具体情况入手,引用错误代码,通过检查日志来释放相关锁定?
根据检查的内容,一般要求的解决方法可以分为以下几种:
(1)使用 KILL 来强制终止死锁或长时间锁定的事务:
(2)使用命令 DBCC FREEPROCCACHE 来清除缓存中的所有进程:
DBCC FREEPROCCACHE
(3)执行 SP_WHO 或者 SP_WHO2命令,它们允许您查看服务器上正在执行的数据库访问进程状态:
EXEC SP_WHO | SP_WHO2
(4)使用 sp_lock 来查看每个进程是否被锁定:
EXEC SP_LOCK
以上这些措施可以有效解决SQLServer锁定进程问题,但是我们依然还需要深入了解故障造成的根源等情况,才能更有效地解决此类问题。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
SQL 中出现死锁现象,如何判断死锁的原因以及进程
ORACLE可以用这个语句来判断select username, sid, object_owner, object, , _text SQLfrom v$sqltext a, v$session b, v$access cwhere =_address and _value=_hash_value and = and IS NOT NULL
用友通服务无法启动.
答:用友通服务启动过程中此提示比较常见,出错原因情况较多,一般通过分析用友通日志文件(system32\)来确定问题所在,常见情况如下:
情况1:日志文件记录:[2008.6.13 11:36:26]不能找到UFSystem或Account表库,可能是安装没有正常完成,或没有进行初始化,请运行行系统管理进行安装后的初始化。
分析:由提示信息得知还未创建用友通系统数据库UFSystem,可通过查看企业管理器等数据库工具来查看是否存在UFSystem数据库,此系统数据库是安装用友通产品后第一次登录系统管理或重启计算机后自动创建系统数据库和演示账套过程中建立,启动用友通服务报此错误,很有可能还未登录系统管理或执行初始化操作,也可能执行过程中失败。解决:方法1:执行系统管理,做初始化操作方法2:若方法1未执行初始化,可能是这前做过初始化,删除注册表项:[HKEY_LOCAL_MACHINE\SOFTWARE\UFSoft\UF2000\2.0\Setup],再登录系统管理做初始化操作方法3:若初始化操作建立系统数据库操作失败,可手工建立此系统数据库,还原用友通安装目录\Admin\ 文件,还原时数据库名称定义为UFSystem
情况2:[2008.6.14 9:55:33]PROVIDER=SQLOLEDB;DATA SOURCE=用友通-UFIDA;USER ID=SAASSWORD=…[2008.6.14 9:55:33]不能连接到SQL Server,可能是口令不正确。
分析:由提示得知是由于连接数据库失败,一般是指数据库口令问题,用友通服务调用的是系统管理设置SA的口令,一般查看系统管理能否正常运行,系统管理运行提示SA口令见[系统管理]页解决:配置SQL口令,正常运行系统管理, 操作见[系统管理]页
情况3:[2008.6.14 15:16:53]接收信息出错。 ……[2008.6.14 15:17:1]不能装订接口。
分析:提示中的接口可以理解为端口,用友通产品端口是4630,SQLServer默认端口是1433,日志中记录不能装订接口,很可能是产品端口被禁用或被别的占用,被禁用一般是由于防火墙引起,包括杀毒软件自带防火墙或XP2系统防火墙,被占用可能是别的应用软件需要调动自身端口或临时动态端口,导致4630端口不能被用友通服务正常调用。在DOS下用命令查看服务器端口开放情况,命令为:netstat –a –n,正常情况TCP协议类型4630端口状态为LISTENING
在服务器或客户端DOS下用命令查看服务器端口连接,命令为:telnet Ip地址 端口号(如4630),如果正常连接会跳出空白界面,如下图
如连接失败会提示:正在连接到机器名…不能打开到主机的连接,在端口4630:连接失败
解决:若检测端口确实有异常,可查看机器网络环境或防火墙配置情况,关于防火墙配置请参见[防火墙]页
情况4:提示:“..失败”分析:可能是因为数据访问组件版本不一致解决:安装SQL数据库最新补丁,MSDE用户打MSDE2000SP4补丁包,SQLServer2000用户打SQL Server 2000 SP4补丁包,通网站服务工具栏下载号分别是865和866,此补丁包比较大也可以考虑更新数据访问组件MDAC,通网站可下载MDAC2.7版本,工具号为678
情况5:提示:Server不能装入底层接口SGV
分析:可能是由于用友通服务和版本不兼容所致,用友通服务对应文件是System32\,此文件与当前用友通版本不一致。 原因可能是安装早版本时没卸载干净或打过加密狗方面的补丁引起。 解决:方法1:停止用友通服务,从别的机器上拷贝文件覆盖本机此文件,再启动用友通服务方法2:卸载用友通产品,如果System32\文件还存在,手工删除,再次安装用友通产品
问:财务通版本在WindowsXP环境下用友通服务(UF2000)开机后不能自动启动,需手工启动服务,如何配置做服务开机自动启动?答:在不更换操作系统情况可以通过批命令来实现此功能〖操作步骤〗(以财务通服务:UF2000管理软件为例)1.新建一文本文档,在第一行写入:net start UF2000财务软件 exit,保存退出2.将此文本文档后缀更改为bat后缀,文件名称不限,如更改为:财务通服务启动3.此文件存放于操作系统启动目录下,如:D:\Documents and Settings\peak\「开始」菜单\程序\启动\财务通服务启动

数据库连接失败,如何重新进行正确配置?

方法如下:检查服务是否启动1、在SQLServer服务器中, 打开SQLServer服务管理器。 单击【开始】-【程序】-【Microsoft SQLServer】-【服务管理器】菜单命令。 2、打开【SQLServer服务管理器】,单击【服务器】,选择要检查的SQLServer的实例名【abc10-1DA235E90】,单击【服务】,选择【SQLServer】选项,如果此时暂停或者停止按钮可用,说明服务已经启动;否则则没有启动,启动即可。 3、最好在【SQLServer服务管理器】中将选择随系统启动而启动服务。 选择【当启动OS时自动启动服务】选择框,完成让MSSQLSERVER服务随操作系统启动而自动启动。 4、再次打开SQL Server 数据库,选择连接数据库服务器实例,可以正常连接打开数据库了。 5、SQL Server数据库能正常连接得保证网络通畅,操作过程中还需要进行网络测试,可以通过PING命令实现。 如下图所示,表示网络通畅。
发表评论