sqlserver
文章平均质量分 55
yudaoai
这个作者很懒,什么都没留下…
展开
-
sqlserver的发布和订阅
最近项目在做主从机热备。我们选用的是在令一个服务器上进行数据实时同步。在sqlserver上就是指两个服务器,一个作为主机,配置发布,另一个作为从机,配置订阅。当然从机可以有多个。好处在于一旦主机出现故障,可以立即手动启用从机,从而保障了服务的访问。数据同步有两种方式,一种是推,即主机数据更新,立即同步到从机,这种对主机的压力比较大。一种是拉,即从机检测主机,一旦数据更新,原创 2013-12-16 16:54:08 · 1626 阅读 · 0 评论 -
sqlserver获取某个月多少天
day()函数是获取某个时间的天数,参数必须是日期字段类型当数据字段类型是int时,且是某月的第一天,思路就是获取到某月的最后一天,即下个月第一天的前一天日期,用day()函数取到天数例如 m_date=20150201 首先转换成字符型:convert(varchar(8),m_date+100 ,112)其中:加100是取下个月的第一天,112代表yyyymmdd格式的原创 2015-02-04 18:17:01 · 5599 阅读 · 0 评论 -
sqlserver里的统计信息与维护计划
最近项目频繁发生sql语句查询超时问题,本来索引早就加好了,数据量也不大,几千而已,最后的问题查出来是统计信息过期。统计信息是与索引有关,详见文章系列:SQLServer统计信息(1)——创建和更新统计信息如何设置统计信息自动更新,文章里都有讲。最后我是这么处理的,建了一个维护计划,维护计划的好处是可以一次性对多个数据库进行统一更新统计信息,以及重新组织索引等。原创 2015-02-05 14:56:17 · 882 阅读 · 0 评论 -
用sql检查数据是否连续
数据格式:每个ID每天有一条数据,每天可能有新ID数据,也可能有ID不再有数据实现要求:检查每个ID的数据在某时间段内是否连续解决思路:查出每个ID出现的最早日期和最晚日期,日期相减,如果与数据数一致,则说明连续,否则说明不连续。示例SQL如下:select mindate,maxdate,difday - cnt cnt,COUNT(*) subcntfrom ( select原创 2015-02-25 14:37:30 · 8459 阅读 · 0 评论 -
如何判断某个单据是否连续被两个特定人审批
场景:筛选出某段时间内所有被连续2个特定人审批的单据。每个单据有多条审批日志,日志中记录了审批人和审批时间。这两个审批人的审批顺序不定。思路:1、筛选审批人A、B都审批的单据。首先筛A审批过的单据,从这些再筛选出B审批过的单据。2、筛选出连续审批的单据。从1中用for xml path 查出所有单据的审批人用,分隔,格式为 “单据1 A,B,C,D"。这两步均可用sql来完成。3、原创 2015-02-25 15:05:58 · 607 阅读 · 0 评论