欢迎投稿

今日深度:

SQL Server 2005的XML支持机制和安全机制(1)

SQL Server 2005的XML支持机制和安全机制(1)


Internet:我用最XML的方式支持你

SQL Server对XML支持

Internet平台应用除了通信部分与其他应用有本质区别外,作为基本的应用组成没有实质区别,无非是处理逻辑和业务数据模型。在HTTP为基础的Internet上,XML数据通过自描述性、可扩展能力和跨平台优势,获得了包括微软在内的数据厂商的支持,因此作为微软整个.Net计划的中心产品——SQL Server 2005也要顺应应用趋势,面向XML尤其是XML Web Service提供存储、发布、交换和整合的支持。

SQL Server 2000的时候已经增加了对XML的支持,而且可以通过HTTP访问获得XML数据,相应的开发也通过SQLXML单独安装开发包,不过在SQL Server 2005中对XML数据访问的支持有了大幅度增强。

对XML支持的增强特性

1)增加了专门的XML数据类型。

2)提供了对XQuery的全面支持,可以通过XQuery在关系数据库的基础上,通过查询引擎把二维的关系数据结果组织成层次型的XML数据。

3)不仅提供查询,SQL Server 2005还一并提供了XML DML,可以通过INSERT、UPDATE、DELETE完成对XML数据片段的修改。

4)与以往关系数据库索引不同,新的数据库引擎还提供面向XML数据的层次性索引,统一XML索引解决了以往开发人员对于在已知Schema上批量数据快速查询的支持。

5)通过增强分布式查询的OPENROWSET的功能,提高同构甚至异构系统间批量XML数据的处理效率。

6) 此外,对于SQL Server 2000引入的FOR XML子句和OPENXML()提供更好的支持。

全新的面向XML的存储体系

在新的平台上,普遍的开发技术组合是 ADO.Net 2.0 + XML + SQL Server。即便在国内这种开发模式已经非常普遍,已经用于在建的很多项目,况且在微软的家族内部报表服务、集成服务、数据分析服务已经全面支持XML,而且在开发领域.Net的配置文件也是XML,甚至ADO.Net用户交换的DataSet和DataTable都是完全可以XML化的。但是,以往的SQL Server产品没有办法解决存储上的冲突,层次结构的XML虽然被保存到了关系数据库里面。由于一般采用BLOB方式,因此只能以高前端程序讨论XSD或者DTD进行验证。而且由于以前没有配备XML索引,因此进行检索需要逐个把BLOB中的数据提取出来之后,再进行比较,这样效率非常低。为了提高效率以往还采用拆分XML文件,通过XML View借助关系数据库的查询优化来减少这种批量检索的性能损失。总而言之,SQL Server 2000处理XML到处都感觉比较“别扭”。

有了SQL Server 2005的混合存储之后,笔者认为新的体系对XML使用有如下好处:

1)对于商业应用要求而言,关系数据与XML数据都有了事务性的保证。

2)面对专门的XML数据对象,可以通过配置XSD或者DTD验证数据。

3) 对于应用开发而言,提供了与ADO.Net同样的模式。

4)可以在混合结构上通过索引进行快速检索。

5)对于管理员而言,可以进行统一的备份/恢复、授权、访问控制、复制、数据集成调度。

是你吗?不管怎么说我的数据我做主

作为您或者您的企业的关键数据的中心载体,进行必要的安全保护将是保证业务系统正常运转的必要条件,当然实现这个目标需要开发和运行维护团队人员根据数据库的功能特性进行集成和配置。

SQL Server认证机制的安全性改进

图1:SQL Server的认证机制

如上图,SQL Server认证同时提供SQL Server本地账号与Windows继承认证两种方式,以往在企业环境中相信读者可以通过配置活动目录的密码策略来控制诸如下面一些策略:

1)是否采用强密码

2)密码长度

3)密码过期时间

4)验证错误锁定次数

5) 账号是否Enable


www.htsjk.Com true http://www.htsjk.com/shujukukf/17364.html NewsArticle SQL Server 2005的XML支持机制和安全机制(1) Internet:我用最XML的方式支持你 SQL Server对XML支持 Internet平台应用除了通信部分与其他应用有本质区别外,作为基本的应用组成没有实质区别,无...
评论暂时关闭