说明:灾难恢复系列的文章是由 Robert Davis 写的,发布在SQLSoldier, 个人认为挺不错的,所以根据自己的理解,边测试边整理,并非直接翻译,如有不准确,欢迎指正。
本篇进入数据库灾难恢复第二篇,主要讨论还原包含数据库备份的还原时的保护措施,特别是当你拿到一个包含数据库备份,但没有人告诉你他是一般数据库还是包含数据库时,它本身会是一个什么样的保护措施呢?
还原包含数据库:
当我了解到包含性数据库,我第一个担心的问题是,作为一个dba如何阻止那些没有专业知识的人来访问数据库呢?还好,已经有三个保护层面了。
第一层保护:
在还原一个包含数据库或创建一个包含数据库之前,或者之前已经存在一个包含数据库,那么在服务器级别的包含选项必须要启动。如果服务器级别不启动包含选项,那么是完全的保护。你可以通过sp_configure或者通过服务器属性,它在高级选项里,不过他不是一个真的高级选项,所以在你修改或查看服务器级别包含选项时不需要开启Show advanced options选项。
如果要查看是否开启了服务器级别的包含选项,也可以查询sys.configurations这个系统表,用它的好处就是可以自动化脚本,如果要修改,还是需要用sp_configure。
如果在没有启用包含选项的服务器实例上还原一个包含数据库,将会失败并返回下面的信息:
The sp_configure value 'contained database authentication' must be set to 1 in order to restore a contained database. You may need to use RECONFIGURE to set the value_in_use.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
这个信息告诉你需要先启用服务器级别包含选项才能还原,对于DBA来说,这是一个警告,是否启用这个包含选项由你自己决定,并不是看到这样的信息就一定要去启用,因为可能会影响服务器或数据库的安全。
开启或禁用包含数据为选项命令为,注意,这里是Reconfigure,不是Reconfigure WITH OVERRIDE,这里有一个重要的原因,后面对提到。
Exec sp_configure 'contained', 1;
Reconfigure;
-- Disable "contained database authentication"
Exec sp_configure 'contained', 0;
Reconfigure;
通过图形界面:
这篇文章深入探讨了有关提升Microsoft® SQL Server™ 2005中XML数据类型的查询和修改操作性能的诸多问题。为了更好的理解本文,您最好事先熟悉SQL Server 2005中有关XML的相关特性。作为背景材料,您可以查阅MSDN当中的“Microsoft SQL Server 2005中对XML的支持”和“Microsoft SQL Server 2005的XML最佳实践”两篇文章。
目录
简介
应用XML数据类型的数据建模
XML数据的结构
应用特殊标记
以属性为中心的标记
类型化和非类型化的XML
属性提升
应用计算列
应用属性表
批量加载 XML 数据
应用OpenRowset
存储空间的考虑
索引XML数据
XML索引
部分XML更新
联合类型限制优化
禁用XML Index Selection
XML列上的全文检索
快照隔离和XML索引
查询和数据修改
为索引XML合并多个value()方法的执行
用exist()方法检验存在
将 nodes() 和 value() 方法组合使用
优化XML blob
添加多个tempDB文件使XML变量和参数更加可伸缩
消除到XML数据类型的额外转换
指定唯一元素
消除XML数据类型方法的多次执行
Data(), text(), 和string() 访问器
非类型化XML的文本聚合
参数化XQuery和XML DML表达式
优化谓词和序数
将序号移到路径表达式的末尾
应用上下文节点计算谓词
范围条件
父轴
动态查询
从XML数据产生行集
小结
简介
在企业级的应用中,越来越多地在使用XML来进行半结构化和非结构化数据的建模。为了帮助这种应用程序的开发,Microsoft® SQL Server™ 2005 对于XML的数据处理提供了广泛的支持。XML数据能够存储在一个原生XML数据列中,而这种数据列可以由一些XML架构来结构化,或者保持非类型化。细粒度的数据操作可以通过XQuery来实现,其中XQuery是近来W3C在Last
Call中所建议的一种XML数据修改语言。XML数据列可以通过索引来提高查询的性能。在企业级的应用中,越来越多地在使用XML来进行半结构化数据和非结构化数据的建模,并将从SQL Server 2005的XML的支持中受益匪浅。