感谢您的阅读,此博客的文章都是原著,转载请您保留相关链接,谢谢!

摘要: 1. 错误:已将此(这些)订阅标记为不活动,必须将其重新初始化。需要删除NoSync 订阅,然后重新创建它们use distributiongo--查找状态不正常的发布select status,*from dbo.MSsubscriptions where status<>2--修改状态update dbo.MSsubscriptions set status=2where status<>2 观察复制链是否能正常运行,正常后用tablediff比较发布链中的表数据是否一致 还可以重新初始化快照,但是数据量大就是个悲剧。2. 错误:表、存储过程不存在以及表结构不一致等 阅读全文
posted @ 2011-07-04 14:44 飞洋过海 阅读(6102) 评论(3) 推荐(1) 编辑
摘要: SQLServer的Replication技术从2005开始,已经变得非常成熟了,而且效果也很好,很多的公司在做读写分离时,都选择了这项技术;Replication现在包括事务、合并和快照三种,每项都有各自的应用优势,大家用得最多的无疑是事物复制了,这种技术能保证我们发布端的数据的变更能及时传输到订阅端,网络带宽和服务器配置如果不差的话,两台机器之间的数据延时是非常小的,这为我们的读写分离技术提供了有力的保障(很少出现用户刚刚新加的数据查不到的现象),不仅分散了读写的压力,而且在做机器维护时也游刃有余,并且用户体验也得到了比较好的提升,下面我们以事务复制为例,来介绍下创建复制链的技巧。创建R. 阅读全文
posted @ 2011-07-02 17:57 飞洋过海 阅读(3257) 评论(3) 推荐(3) 编辑
摘要: 1. 查找表包含的页信息: 查找表包含的页信息可以使用 dbcc ind 语法: DBCC IND ( ['database name'|database id], -- the database to use table name, -- the table name to list results index id, -- an index_id from sys.indexes; -1 shows all indexes and IAMs, -2 just show IAMs ) 例如:dbcc ind(9,tablename,-1) 2. 查找页所在的表(一个页只能属于 阅读全文
posted @ 2011-04-20 15:02 飞洋过海 阅读(1048) 评论(2) 推荐(0) 编辑
摘要: 去年在家过年,家里还是老模样,父母和亲戚朋友问得最多的是,外面工作怎么样,打算什么时候回来工作?第一个问题好回答,这第二个问题却一直困扰着我,如何能回去呢?为了能找到一些思路,过完年来,我特地加了几个类似的QQ群,还在网上找了些提出同样问题的论坛,发现很多和我类似的人都有这样的想法,大家都是在二三线城市读书、成长,从在二三线城市最底层的工作做起,不断学习、努力、任劳任怨直到真正步入正轨。 随着时间... 阅读全文
posted @ 2011-04-16 13:26 飞洋过海 阅读(28895) 评论(268) 推荐(189) 编辑
摘要: 最近,和一个朋友谈论各自公司对如何提高SQLServer数据库的保护和数据库可用性以及提高性能方面所采用的技术时,发现SQLServer有不少技术可用,而且有很多可以互补的地方,SQLServer 虽没有Oracle的RAC,但如果把它现有的技术充分发挥下,还是足以应付绝大部分的情况的(遗憾的是有些技术在性能和可靠性方面还是有些不成熟,出现问题很难搞定)。 很多公司保护数据,最先用到的基本都是备份(这个是必不可少,也是最节约成本的方法了),基本的备份有三种,全备、差异和日志(当然还有基于文件、文件组、Page等的备份方案,不做讨论),如何合理的安排这些备份计划,需要根据应用系统的业务要求和特. 阅读全文
posted @ 2011-04-15 14:24 飞洋过海 阅读(7966) 评论(9) 推荐(15) 编辑
摘要: 最近,刚跳槽到一新公司,就遇到生产数据库晚上突然出现大面积中断,并持续近一小时,而发生事故时,我没有在现场,错过了直接获取信息的机会;过后boss要求追查原因,于是艰难的排查过程开始了。 开始以为是数据库某个JOB运行出现异常引起或者是因为程序里面哪个鸟人写了垃圾语句造成了大面积的死锁,于是将收集的trace信息拿到本地分析,从收集到的trace信息看,数据库在19:49:28时出现了锁,系统cancel了它,而且是连续三个,之后数据库大部分连接都是Abort了。 初步估计应该是死锁了,首先想到的就是因为数据库更新语句造成,于是查找Agent里面是否有对应时间的JOB运行,结果没有匹配的,然. 阅读全文
posted @ 2011-04-12 16:18 飞洋过海 阅读(7431) 评论(45) 推荐(14) 编辑
摘要: 由于在SQL-SERVER中,自增列属性不能直接修改,但可以通过以下方式变向实现1、如果仅仅是指定值插入,可用以下语句,临时取消SET IDENTITY_INSERT TableName ONINSERT INTO tableName(xx,xx) values(xx,xx)SET IDENTITY_INSERT TableName OFF2、新增一列,删除自增列,修改改列名alter table a add xxx intupdate a set xxx=idalter table a drop column idexec sp_rename 'xxx', 'id&# 阅读全文
posted @ 2011-03-14 18:00 飞洋过海 阅读(14090) 评论(1) 推荐(2) 编辑
摘要: 1、使用SELECT @@ServerName可以看到当前数据库的服务器名2、SELECT * FROM Sys.SysServers表中可以看到当前的所有服务器名3、使用sp_dropserver '原实例名' 将这个实例名删除4、使用sp_addserver '新实例名','LOCAL' 将本地服务器重新添加到服务器列表中5、查询SysServers表,可以看到已经修改6、重启数据库服务,修改完成,可以正常使用复制功能了 阅读全文
posted @ 2011-03-14 17:59 飞洋过海 阅读(951) 评论(1) 推荐(0) 编辑
摘要: view sourceprint?01 -- 查看当前SQL版本. 02 EXEC master..sp_MSgetversion 03 EXEC master..xp_msver 04 05 -- 列出C:\盘下所有文件夹,包括二级目录,省略第二个参数时,默认为(显示根目录下文件夹) 06 EXEC master..xp_dirtree 'c:\',2 07 08 -- 显示所有可用的OLE D... 阅读全文
posted @ 2010-07-04 12:46 飞洋过海 阅读(686) 评论(3) 推荐(1) 编辑