Fanr

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  我的MSSQLDBA 日记

摘要:问题:sql server errorlog 文件报错Using 'dbghelp.dll' version '4.0.5'*Dump thread - spid = 1, PSS = 0x19e44098, EC = 0x19e443c0** User initiated stack dump. This is not a server exception dump.*并且有相应的 SQLDump***.txt 文件。结果: 未能看懂 这个 txt文件。 没有在其中找到错误相关的内容 手动调用dbcc stackdump 会引起这个问题 阅读全文
posted @ 2011-08-05 10:49 Fanr_Zh 阅读(706) 评论(2) 推荐(0) 编辑

摘要:背景: 因为程序设计的不合理,程序的版本的控制也不到位,无法找出原先使用的程序。 猜测可能是程序的连接池异常,导致sysprocesses,高达2900 以上。原因: sql server 会话过多,导致可用内存在100M以下,cpu利用率居高不下。非空闲线程在100以内。服务器环境(奔腾单核,2.0Ghz,内存1.2G) sql server 会话过多,导致可用内存在80M左右,cpu利用率正常。非空闲线程在100以内。服务器环境(xeon 2.0 4核,2G内存),开tasklist,cmd 明显感觉卡。处理方法: 1.手动kill 会话,存在风险。如果程序不是通过连接池就很危险。 2.定 阅读全文
posted @ 2011-06-04 18:02 Fanr_Zh 阅读(659) 评论(0) 推荐(0) 编辑

摘要:背景: 复制中使用主机名连接的失败。提示服务器不存在原因: tcp/ip属性-》高级-》 NetBios被禁用了。解决方法: 启用 netbios即可 阅读全文
posted @ 2011-05-20 10:20 Fanr_Zh 阅读(377) 评论(0) 推荐(0) 编辑

摘要:背景: 数据库服务无法连接使用机器名连接,并且创建复制时选择了,已存在数据和结构错误: sp_MSget_repl_commands 重复键插入解决方法: 修改sp_MSget_repl_commands 存储过程 declare @snapshot_seqnos table(subscription_seqno varchar(16) primary key),将varchar(16)改为varbinary(16)。 阅读全文
posted @ 2011-05-20 09:02 Fanr_Zh 阅读(310) 评论(0) 推荐(0) 编辑

摘要:环境: sql server 2000问题: 发布订阅 text 字段,发布订阅报错。原因: 1.因为在订阅服务器上'max text repl size' 值太小,导致 报错,无法复制,右边截断 2.快照内有特殊字符解决方法: 扩大'max text repl size' 的值 语句:sp_configure 'max text repl size',131072 清空对应快照内的数据 使用手动更新(手动更新后,日志读取器的日志已经过期,可能会报错,手动修改订阅数据库内的对应的存储过程) 阅读全文
posted @ 2011-04-21 13:55 Fanr_Zh 编辑

摘要:背景: 磁盘空间不足原因: 日志文件过大,再次需要分配磁盘空间的时候,磁盘空间不足。业务停止,生产数据库瘫痪解决办法: dbcc shrinkfile(日志文件名,选项) 具体见联机手册结果: 删除磁盘不必要的空间,清空日志。解决当前状态 阅读全文
posted @ 2011-04-09 23:37 Fanr_Zh 阅读(495) 评论(0) 推荐(0) 编辑

摘要:背景: 在900W 的表上加 identity 字段原因: 企业管理器一直无法应用,cpu占用100% 关闭企业管理器之后,导致数据库无法访问 重启数据库服务,数据库服务只能关闭无法重启结果: 重启服务器结论: 不要在界面上修改结构,特别是企业管理器,会带来很多不要的处理 阅读全文
posted @ 2011-04-07 16:09 Fanr_Zh 阅读(319) 评论(0) 推荐(0) 编辑

摘要:背景: 因为要更换服务器,需要把原先的数据库备份到新服务器上,但是业务不能停太长的时间。就写了一个作业,没有以为没有问题也就没有试着运行只检查了语法。问题: 作业时凌晨4的开始,今天上班,却发现作业报错了,原因就是需要备份的数据库名拼错了。解决办法: 放到明天继续备份。总结: 一定要检查好你所操作的东西是有用的。环境最好能够测试一下,生成数据库容不得一点马虎。 阅读全文
posted @ 2011-04-07 10:13 Fanr_Zh 阅读(254) 评论(0) 推荐(0) 编辑

摘要:问题: 因为做了数据库可用性扩展,导致业务出现问题原因: 数据库做了订阅发布,事务性的请求订阅,在做之前不清楚,应用层会有TRUNCATE Table 的操作导致。发布数据库的时候把原本要 TRUNCATE 的表也发布进去了。导致应用成在TRUNCATE Table 的时候报错。表数据无法被清空,因为业务的关系导致重复数据库暴增,并且数据量暴增。结论: 1.DBA 不止要关心数据库的日志,系统的日志,也要关心一下应用层的日志。 2.在做提高数据库可用性之前,应该先询问开发人员时候会有不写入日志的操作。 3.在更改了数据库之后,要特别注意这两天的数据库日志,系统日志,和应用程序日志。结局: 为了 阅读全文
posted @ 2011-04-06 19:02 Fanr_Zh 阅读(289) 评论(0) 推荐(0) 编辑

摘要:基本参考: http://www.99inf.net/DB/SqlServer/223.htm里面的内容很全。有以下几点需要提前做的。 用来放置主服务器的日志备份的文件夹我们就叫 logfile 错误:无法访问 logfile 原因:没有设置共享的权限 解决办法:logfile 里面只是设置了安全里面的权限是不够的,要需要设置共享里面的权限 错误:错误代码 14261 指定的 primary_server_name.primary_database_name('S')已经存在。 原因:因为你是第二次设置日志发送,因为第一次的残留没有被sql server回滚,这个是sql se 阅读全文
posted @ 2011-04-06 16:04 Fanr_Zh 阅读(354) 评论(0) 推荐(0) 编辑

摘要:sql server 2000 订阅发布 同步数据报错时间: 2011-3-26背景: 生产数据库有100+G,需要做一个订阅发布来容灾。订阅为请求订阅,分发服务器和发布服务器是同一个服务器问题: 发布订阅都已经完毕,在数据库使用快照同步时,报错: 报错内容大致如下: bcp 遇到意外的eof。 网上也有同类型的报错,但是很多都是因为发生错误的那张表中存在LOB数据类型导致。 该报错表上没有LOB字段,但是有一个varchar(2000)的字段,数据一共也只有100+(R)。 具体是否是varchar(2000)字段引起需要经过测试。解决办法: 使用手工同步快照 阅读全文
posted @ 2011-03-27 17:12 Fanr_Zh 阅读(332) 评论(0) 推荐(0) 编辑