07 2013 档案

摘要:在搞清楚这个问题的过程中做了不少的实验,与各位共享。这一篇是开篇,主要说明的是 SQL Server 的四种(其实还有别的)经典的事务隔离级别,以及在不同的隔离级别下锁的使用手段,以及所带来的不同的数据一致性。SQL Server 中锁的种类(Schema操作就暂时不涉及了)锁类型描述(Shared Lock)用于只读操作数据锁定(Update Lock)用于数据的更新,在数据真正的需要更新的时候会申请升级为X锁。X(Exclusive Lock)独占锁,用于数据的更改。Key-Range Lock(稍后讨论)仅仅在 Serializable 隔离级别保护数据,以避免任何有可能使得本事务第二次 阅读全文
posted @ 2013-07-31 10:37 qanholas 阅读(1425) 评论(0) 推荐(0) 编辑
摘要:SQL Server Service Broker服务体系结构消息类型 — 定义应用程序间交换的消息的名称。还可以选择是否验证消息。约定 — 指定给定会话中的消息方向和消息类型。队列 — 存储消息。此存储机制使服务间可以进行异步通信。Service Broker 队列还有其他优点,比如自动锁定同一个会话组中的消息。服务 — 是可寻址的会话端点。Service Broker 消息从一个服务发送到另一个服务。服务指定一个队列来保存消息,还指定一些约定,约定指明该服务可作为“目标”。约定向服务提供一组定义完善的消息类型。处理的先决条件.USE master;GOALTER DATABASE 目标数据 阅读全文
posted @ 2013-07-22 16:30 qanholas 阅读(4500) 评论(1) 推荐(0) 编辑
摘要:复制存储过程执行应用于事务复制中,当在发布服务器上执行配置的存储过程时,存储过程导致的数据变更不会做为多步骤事务发送到订阅服务器,而仅仅是把执行存储过程的命令发送到订阅服务器。 比如,如果你为一个100万条记录的表增加了一个字段,并且初始化为一个值,如果不使用复制存储过程执行的话,那么这个操作就会形成100万个更新操作发送到订阅服务器,订阅服务器将将进行100万次更新,这个操作通常会花费很长时间,并导致后续的数据变更也无法得到及时的同步。 如果使用复制存储过程执行的话,你可以创建一个存储过程来实现这个更新,并且把这个存储过程添加到事务复制中,然后当你在发布服务器上执行完成这个存储过程后,这个. 阅读全文
posted @ 2013-07-22 16:13 qanholas 阅读(878) 评论(0) 推荐(0) 编辑
摘要:在SQL Server 2005中,通过新增的Service Broker可以实现异步触发器的处理功能。本文提供一种使用Service Broker实现的通用异步触发器方法。在本方法中,通过Service Broker构造异步触发器处理架构,对于要使用这种架构的表,只需要创建相应的触发器及处理触发器中数据的存储过程,并且在异步触发器架构中登记触发器和处理的存储过程即可。如果一个触发器中的数据要被多个表使用,只需要在dbo.tb_async_trigger_subscribtion中登记相应处理数据的存储过程即可,即一个表的数据变更可以被多个表订阅(使用)。架构的步骤如下:1.数据库配置需要配置 阅读全文
posted @ 2013-07-22 16:08 qanholas 阅读(1456) 评论(0) 推荐(0) 编辑
摘要:CREATE TABLE #test(id INT IDENTITY(1,1), NAME varchar(30))INSERT #test(name)SELECT '41545'SELECT * FROM #testINSERT #test(name)SELECT '9999999999999999999999999999999999999999999999999999999999999999999999'SELECT * FROM #testINSERT #test(name)SELECT 'uiii'SELECT * FROM #test 阅读全文
posted @ 2013-07-18 09:35 qanholas 阅读(588) 评论(1) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-07-15 09:20 qanholas 阅读(269) 评论(0) 推荐(0) 编辑
摘要:困扰二天的问题终于得以解决,貌似一个棘手的问题只要知道方法也似乎变得异常简单,记录此次的解决方法,避免遗忘。无法对 数据库'UDS' 执行 删除,因为它正用于复制。 (.Net SqlClient Data Provider)在网上找了些答案无非是先让数据库"UDS"脱机,然后进行分离,但还是不能解决问题。根据查看错误的详细信息,原来微软的帮助与支持里面早就有此问题的解决方案,所以结合自己的实际情况执行下述语句,然后再进行DROP即可.sp_removedbreplication'UDS'DROP DATABASEUDS----------- 阅读全文
posted @ 2013-07-15 08:47 qanholas 阅读(2757) 评论(0) 推荐(0) 编辑
摘要:DECLARE @ip VARCHAR(60)='113.118.138.159'DECLARE @ip_int BIGINT=[dbo].[f_IP2Int](@ip)SELECT[IPstart], [IPend], [M1], [M2], [M3], [M4]FROM[master].[dbo].[ipv]WHEREipstart @ip_intGOSET STATISTICS IO ON SET STATISTICS TIME ON CREATE CLUSTERED INDEX ix_action ON [ipv](ipstart,[IPend])select dbo. 阅读全文
posted @ 2013-07-11 11:09 qanholas 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-07-10 14:48 qanholas 阅读(259) 评论(0) 推荐(0) 编辑
摘要:using System;using System.Collections;using System.Collections.Specialized;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace SQLServerDAL //可以修改成实际项目的命名空间名称 { public abstract class DbHelperSQL { protected static string connectionString = @"Data Source=.;Initial 阅读全文
posted @ 2013-07-05 17:20 qanholas 阅读(10450) 评论(0) 推荐(0) 编辑
摘要:--SELECT stuid FROM dbo.BZList WHERE AreaOrganID=-1 AND AreaPointCode=-1 AND DeptOrganID=-1SELECT bzid,stuid, BZKTypeID, BZKTypeName, BZDate, BZData, BZRemark, PointCode FROM dbo.BZList WHERE StuID =338180 ORDER BY BZDateSELECT bzid,stuid, BZKTypeID, BZKTypeName, BZDate, BZData, BZRemark, PointCode 阅读全文
posted @ 2013-07-05 15:35 qanholas 阅读(576) 评论(0) 推荐(0) 编辑
摘要:原文http://www.cnblogs.com/tc310/archive/2010/09/17/1829276.htmlCREATE TABLE #test(fphm INT ,kshm CHAR(8))INSERT #testSELECT 2014,'00000001' UNION ALL SELECT 2014,'00000002' UNION ALL SELECT 2014,'00000003' UNION ALL SELECT 2014,'00000004' UNION ALL SELECT 2014,'000 阅读全文
posted @ 2013-07-04 15:51 qanholas 阅读(743) 评论(0) 推荐(0) 编辑
摘要:--创建md5函数CREATE FUNCTION [dbo].[MD5](@src varchar(255) )RETURNS varchar(255)ASBEGIN DECLARE @md5 varchar(34) SET @md5 = sys.fn_VarBinToHexStr(hashbytes('MD5', @src)); --RETURN SUBSTRING(@md5,11,16) --16位 RETURN SUBSTRING(@md5,3,32) --32位ENDGO 阅读全文
posted @ 2013-07-03 15:04 qanholas 阅读(2790) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示