作者:胡百敬 来源:CSDN博客   酷勤网收集 2008-04-17

摘要
  在 SQL 2005 时,仅有 TCP/IP 连接可以使用 Kerberos,但 2008 的多种存取协定皆可;在 SQL 2005 时要将 Service Principal Name(SPN)注册到 AD,但 2008 不用注册 SPN 到 AD 就可使用 Kerberos

Extensible Key Management:采用企业已有的密钥架构,如第三方所提供的 Hardware Security Module(HSD)

Transparent Data Encryption:

·         整个数据库通透地加密,应用程序不需要改写,也感受不到

·         效率影响不大,但会与数据型态有关

·         可以用二进制编辑器搜寻数据库档案,或数据库备份,若不加密可以直接找关键词,加密后找不到

增强整合式验证:

·         在 SQL 2005 时,仅有 TCP/IP 连接可以使用 Kerberos,但 2008 的多种存取协定皆可

·         在 SQL 2005 时要将 Service Principal Name(SPN)注册到 AD,但 2008 不用注册 SPN 到 AD 就可使用 Kerberos

所有的行为都可以监控(Audit):

·         以 DDL 语法设定监控

·         存取监控所储存的数据可受安全控管

·         可设定控管数据输出到档案、Windows Application 或 Security Log

·         建立 Audit Specification 以规范服务器(如登入/注销)或数据库(如 ISUD 加上 Execute、Receive) 要监控的行为

·         分 Server 和 Database 层级,但没有 Column 层级

·         采用 Extended Events 架构建立,希望效率比 SQL Trace 快

空间索引(Spatial Index)

·         对于空间地理信息建置特殊的索引结构

整合的全文检索

·         检索索引储存在数据库内

·         在 SQL 2005 的全文检索只能完整备份,不能搭配数据做 recovery to point in time,只能数据库做完 recovery to point in time 后,再重新 populate。SQL Server 2008 则因为完整做在 DB 内,也就是更动都会经过 transaction log,则全文检索可以与备份/还原、log shipping、database mirroring 等经由 transaction log 实作的机制同步。

·         较佳的查询效能,但不知制作检索的效能如何?

Sparse Columns

·         字段数量非常多,但大部分的内容是空的。例如 Windows Sharepoint Services 在建立文管时,有一大堆的文件格式(如 word、excel、pdf、image...),每种文件格式的属性皆不同,因此有一大堆字段,对应各种不同的文档属性。则新增任一份档案时,大部分的字段都是 NULL,仅有少数几拦描述该类型档案的属性有设值。这可模拟物流业的产品属性。以往因为 Table 的 column 数有 1024 限制,且太多字段太占 page 空间,解法可能是利用 XML、利用属性/值放在 row、限制每种 entity 的 property 数量。

·         DDL 的 CREATE TABLE 之 Column 定义多了 Sparse 属性

·         Sparse 字段的内容若是空,则完全不占空间,在 2005 若字段空最起码占 1 bit,以标示字段。有 Sparse 字段的数据表则正好相反,有值的 sparse 字段需要额外 4 byte 的 metadata。所以真要大量 sparse 才会受惠,否则反而因为每栏多 4 byte 而损失效能

·         预计 SQL Server 2008 将支援每个 table 达 30000 个 column 

·         搭配 Filtered Index 后可以更有效率

·         提供 Column Set 特殊字段,以 XML 呈现有值的字段

设定过滤条件的索引(Filtered Index)

·         仅增对符合 Where 条件的值建立索引,例如建立索引时,Where 某个字段内容不可 NULL,则 Sparse Column 建出来的索引就小很多。

·         因为是对数据子集建索引,整个数据量少,统计的精确度更高

·         sys.indexes 系统检视以 has_filter 和 filter_definition 字段呈现

Change Tracking

·         同步追踪数据变化

·         数据库的 Recovery Mode 不限

·         需要数据表加上代表 row version 的字段

·         当 DML 发生时,会自动记录到系统

Change Data Capture

·         异步追踪数据变化

·         数据库的 Recovery Mode 需 Full

·         与 Transactional Replication 机制类似,都是透过 Log Reader 读出交易纪录,CDC 会将结果放入到系统数据表。若透过 Transactional Replication 将数据表带到目的端,若数据是 1 -> 2 -> 3,则目的端发生两次变化,但若用 CDC,可以选择仅要将 3 带到目的端

FileStream

·         将大型数据透过 SQL Server 存回调案目录,只能搭配 NTFS

·         让数据的交易管理、安全、备份...等机制可以一体设计

·         BLOB 不受限于 2G,而是 Windows 系统或硬盘实体大小的限制

·         可以直接透过 Win32 编辑 SQL Server 放在文件系统上的档案,但最好不要

 数据压缩

·          以 CPU 换取硬盘与内存空间,由于加载较快,整体时间可能提升

·         分为 Row 和 Page 两种压缩

·         压缩率取决于数据型态和数据内容的重复性,较难一概而论

数据表 Partition 增强

·         可以新的 Date-Only  数据型态当作切割字段

·         增强对多线程的支持

·         Partition-Level Lock Escalation,但这有可能导致死结

尚有 T-SQL 的 Merge 语法、Plan Freezing、Star Join 优化...等

来自:http://blog.csdn.net/Byron_Hu/archive/2008/04/17/2300329.aspx

上文回顾:
SQL 2008 T-Prep 上课心得(一)

分类: 数据库开发 数据仓库 Web技术

上一篇:mysql中limit的用法详解[数据分页常用]   下一篇:用 Oracle EM 管理 MySQL