随笔 - 746  文章 - 0  评论 - 39  阅读 - 79万
08 2012 档案
Sql2005+:sp_MS_marksystemobject 数据库DB执行上下文
摘要:在 master 库中,sp_开头的过程,通常为 系统存储过程。微软不建议 用户定义以 sp_ 开头的存储过程。通常的访问规则是:首先查找当前db上下文中是否具有该过程?如果没有,查询master库中是否具有该名称的过程?如果 exec中指定了 db部分,则在 指定的db上下文中查找具有该名称的过程?如果 exec中指定了 db部分,则在 指定的db上下文中查找具有该名称的过程,如果没有,查询master库中是否具有该名称的过程?但 在其中有一个很重要的隐含问题:执行的db上下文问题!如:use tempdb --当前的db上下文exec userdb..sp_procname --临时切换到 阅读全文
posted @ 2012-08-29 16:08 jinzhenshui 阅读(460) 评论(0) 推荐(0) 编辑
Sqlserver 2008+:变更数据捕获(CDC) 和 更改跟踪(CT)
摘要:SQL Server 2008 引入了两项跟踪功能,以使应用程序能够确定对数据库中的用户表所做的 DML 更改(插入、更新和删除操作)。 在这些功能出现之前,必须在应用程序中实现自定义跟踪机制。 这些自定义机制通常要求对跟踪的表进行架构更改,或者使用触发器。 变更数据捕获和更改跟踪均不要求在源中进行任何架构更改或使用触发器。变更数据捕获变更数据捕获通过获取进行 DML 更改的方面和更改的实际数据,提供用户表的历史更改信息。 更改是使用异步进程捕获的,此进程读取事务日志,并且对系统造成的影响很小。正如下图所示,对用户表所做的更改是在相应更改表中捕获的。 这些更改表提供了更改随时间变化的历史视图。 阅读全文
posted @ 2012-08-09 15:22 jinzhenshui 阅读(1262) 评论(0) 推荐(0) 编辑
Sqlserver 原生 MD5 函数
摘要:不多说,你应该懂得--创建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 @ 2012-08-02 11:48 jinzhenshui 阅读(400) 评论(0) 推荐(0) 编辑
Sqlserver:内置加密算法函数:hashbytes 创建md5函数。强烈推荐!!!!!!!!!!
摘要:Sqlserver中很多时候需要对数据进行加密、或校验。自Sqlserver 2000 时代起,网络上流传着一个MD5的加密函数,说实在的,很复杂,很负责!但最重要的是,该函数在sqlserver中的执行效率太低!适应不了大量数据的处理。我曾想过很多方法试着解决:C语言编写扩展存储过程、.NET程序集,虽然最后都可以解决问题,但终归有些繁琐,不是正经的原生方式。Sqlserver2005 都出了这么久了,偶就没有发现这个hashbytes函数可以构建原生的MD5函数,唉!汗颜!!!!谨记、谨记、谨记、谨记代码如下:--创建md5函数CREATE FUNCTION [dbo].[MD5](@sr 阅读全文
posted @ 2012-08-02 11:47 jinzhenshui 阅读(5250) 评论(0) 推荐(0) 编辑


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