随笔分类 -  SQL Server 2008 Tips

摘要:证书和非对称密钥使用数据库级的内部公钥加密数据,并且使用数据库级内部私钥解密数据。而对称密钥相对简单,它们包含一个同时用来加密和解密的密钥。困此,使用对称密钥加密数据更快,并且用在大数据时更加合适。尽管复杂度是考虑使用它的因素,但它仍然是一个很好的加密数据的选择。 阅读全文
posted @ 2011-03-15 00:09 邀月 阅读(4845) 评论(14) 推荐(2) 编辑
摘要:非对称密钥包含数据库级的内部公钥和私钥,它可以用来加密和解密SQL Server数据库中的数据,它可以从外部文件或程序集中导入,也可以在SQL Server数据库中生成。它不像证书,不可以备份到文件。这意味着一旦在SQL Server中创建了它,没有非常简单的方法在其他用户数据库中重用相同的密钥。非对称密钥对于数据库加密属于高安全选项,因而需要更多的SQL Server资源。 阅读全文
posted @ 2011-03-14 05:59 邀月 阅读(3249) 评论(0) 推荐(3) 编辑
摘要:SQL Server 2008中的一些特性总结及BI学习笔记系列,欢迎与邀月交流。3w@live.cn 阅读全文
posted @ 2011-03-10 21:00 邀月 阅读(39515) 评论(39) 推荐(35) 编辑
摘要:在SQL Server中的加密由层次结构形式进行处理以提供多级别的安全。SQL Server包含两个用于加密数据的密钥类型。 阅读全文
posted @ 2011-03-10 14:27 邀月 阅读(7144) 评论(13) 推荐(4) 编辑
摘要:在用powerdesigner逆向工程生成PDM时,列注释(ColumnComment)始终无法生成,历经数小时的探索,找到一个折衷的方法,现分享如下。并希望有高手指点更好的方法。 邀月使用的是Powerdesigner 15.2,数据库为SQL Server 2008 r2 阅读全文
posted @ 2011-03-04 21:39 邀月 阅读(15616) 评论(9) 推荐(5) 编辑
摘要:导读:本文主要涉及EncryptByPassPhrase和DecryptByPassPhrase函数进行通行短语(PassPhrase)加密。 阅读全文
posted @ 2011-03-03 08:05 邀月 阅读(7135) 评论(2) 推荐(4) 编辑
摘要:最近看到一个SQL Server的小例子,发现完全可以作为SQL server的一道入门面试题。题目如下: 例:有一合同表Contract Id Name Total buget 1 合同名称 100 102,22 2 合同名称2 300 ,102,22, 3 合同名称3 200 ,103,23, 要求:用SQL语句更新表的buget字段,如果前后没有","要加上","(即一个英文逗号)。(10分) 阅读全文
posted @ 2011-03-02 09:48 邀月 阅读(3108) 评论(6) 推荐(4) 编辑
摘要:本文主要 涉及DDL触发器和登录触发器的应用实例。MicrosoftSQL Server 提供两种主要机制来强制使用业务规则和数据完整性:约束和触发器。触发器为特殊类型的存储过程,可在执行语言事件时自动生效。SQL Server 包括三种常规类型的触发器:DML 触发器、DDL 触发器和登录触发器。 阅读全文
posted @ 2011-03-01 15:05 邀月 阅读(6632) 评论(8) 推荐(5) 编辑
摘要:最近对SQL Server 2008的安全入门略作小结,以作备忘。本文涉及两个应用:存储过程加密和安全上下文。 阅读全文
posted @ 2011-02-28 14:37 邀月 阅读(12613) 评论(15) 推荐(4) 编辑
摘要:当一个用户会话(会话1)已经落定了一个资源,而另一个会话(会话2)想要修改该资源,并且会话2也锁定了会话1想要修改的资源时,就会出现“死锁”(deadlocking)。在另一方释放资源前,会话1和会话2都不可能继续。所以,SQL Server会选择死锁中的一个会话作为“死锁牺牲品”。 阅读全文
posted @ 2011-02-27 18:06 邀月 阅读(9318) 评论(8) 推荐(5) 编辑
摘要:当一个数据库会话中的事务正锁定一个或多个其他会话事务想要读取或修改的资源时,会产生阻塞(Blocking)。通常短时间的阻塞没有问题,且是较忙的应用程序所需要的。然而,设计糟糕的应用程序会导致长时间的阻塞,这就不必要地锁定了资源,而且阻塞了其他会话读取和更新它们。 阅读全文
posted @ 2011-02-18 15:48 邀月 阅读(8658) 评论(1) 推荐(1) 编辑
摘要:锁定(Locking)是一个关系型数据库系统的常规和必要的一部分,它防止对相同数据作并发更新或在更新过程中查看数据,从而保证被更新数据的完整性。它也能防止用户读取正在被修改的数据。Sql Server动态地管理锁定,然而,还是很有必要了解Transact-SQL查询如何影响SQL Server中的锁定。SQL Server 2008带来了新的表选项,可以禁用锁升级或在分区(而不是表)范围启用锁升级。 阅读全文
posted @ 2011-02-18 12:37 邀月 阅读(10383) 评论(4) 推荐(3) 编辑
摘要:无论是有意无意,如果事务在数据库中保持打开,则它会阻塞其他进程对修改后的数据进行操作。同样,对事务日志进行备份也只会截断不活动事务的那部分事务日志,所以打开的事务会导致日志变多(甚至达到物理限制),直到事务被提交或回滚。 要找到最早的活动事务,可以使用DBCC OPENTRAN命令。 阅读全文
posted @ 2010-12-24 15:06 邀月 阅读(4427) 评论(5) 推荐(3) 编辑
摘要:在SQL Server 2005以上版本中,在一个增强的WaitFor命令,其作用可以和一个job相当。但使用更加简捷。 阅读全文
posted @ 2010-12-07 16:55 邀月 阅读(10611) 评论(5) 推荐(3) 编辑
摘要:SQL Server 2008提供了一个增强的SQL命令,用法参看MSDN:http://msdn.microsoft.com/zh-cn/library/bb510625.aspx 功能:根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。 阅读全文
posted @ 2010-10-17 21:51 邀月 阅读(8633) 评论(7) 推荐(9) 编辑
摘要:一、TOP替代Set RowCount 在SQL Server 2005之前的传统SQL语句中,top语句是不支持局部变量的。见http://www.cnblogs.com/downmoon/archive/2007/12/29/1019686.html 此时可以使用Set RowCount,但是在SQL Server 2005/2008中,TOP通常执行得更快,所以应该用TOP关键字来取代Set RowCount。 阅读全文
posted @ 2010-10-12 22:27 邀月 阅读(5967) 评论(10) 推荐(6) 编辑
摘要:SQL Server 2008中新增功能:可以使用单个Insert命令插入多行。 阅读全文
posted @ 2010-10-12 20:51 邀月 阅读(10214) 评论(18) 推荐(8) 编辑
摘要:微软从SQl2005起引入了CTE(Common Table Expression)以强化T-SQL。这是一个类似于非持久视图的好东东。 阅读全文
posted @ 2009-10-23 01:35 邀月 阅读(11771) 评论(16) 推荐(8) 编辑