SQL Server 2005配置 Windows 专家解答

数据库 SQL Server
我们今天主要向大家讲述的是正确为SQL Server 2005配置 Windows 即时初始化的实际操作流程,以及对实际操作中值得我们大家留意的问题描述。

此文章主要向大家讲述的是正确为SQL Server 2005配置 Windows 即时初始化的实际操作流程,在实际操作中SQL Server 2005数据库支持数据库,即时文件初始化(Instant File Initialization),这种即时文件初始化可以跳过清零数据的页面。

这样做可以在执行一些操作,比如创建数据库,增加文件到现有的数据库中,手动、通过自动增长(autogro

 

SQL Server 2005支持数据库即时文件初始化(Instant File Initialization),这种即时文件初始化可以跳过清零数据的页面,这样做可以在执行一些操作,比如创建数据库,增加文件到现有的数据库中,手动、通过自动增长(autogrowth)或保存一个数据库或文件组来增大现有数据库文件时,减少时间。但是,我们如何确定SQL Server正在使用这个功能?

 

专家解答

在SQL Server以前的版本中,数据和日志文件一开始是通过在你执行之前提到的某项操作时,用零归档这些文件来初始化的。在灾难备份和还原操作中,这是非常关键的,尤其是处理非常大的数据库时。

对SQL Server而言,即时文件初始化已经引进了。而这所做的是,它跳过磁盘上的零数据,因此不重写在磁盘上写过的先前的数据。操作系统只分配磁盘空间,但是文件的内容实际上是原先在磁盘上写的。这个功能对于运行在NTFS文件系统的Windows Server 2003或者Windows XP上的所有SQL Server 2005版本都适用。

即使它是可用的,你的实例也可能不能SQL Server 2005配置使用。要解决这个问题,你应该给你的SQL Server服务账号或者SQLServerMSSQLUser$instancename这个本地组

SE_MANAGE_VOLUME_NAME的权限。SQLServerMSSQLUser$instancename这个本地组创建于你安装SQL Server 2005并把SQL Server服务账号加到这个数据库中。要做到这些,服务账号和本地组需要被授予“Perform Volume Maintenance Task”的本地安全权限。默认情况下,本地管理员组已经有这个许可,所以如果你的服务账号已经是这个组的一员,那么你没必要去做什么事情。

请注意,这只适用于数据文件而不适用于日志文件,所以如果你有大量的事务日志文件,而这些文件又作为你数据库备份的一部分,那么数据库文件会即时创建而日志文件不会。日志文件在被写回磁盘之前需要被清零。

注意事项

即使这个改进了autogrowth事件的文件增长性能,它不应作为正确排列你数据库文件来达到最小化的替代方法。如果不能避免,使其自动增长。另外,当SQL Server服务在运行时,如果你把这个权限给服务账号,那么为了使这个功能生效你必须停止并重启服务。你也可以通过运行gpupdate /force命令立即在安全策略中应用修改。

这样做也有安全风险。存在这样的可能性,那就是你会通过未授权的账户访问磁盘上的非零数据。想像一个数据文件没有在磁盘上清零的被删除的数据库!如果因为自由访问控制列表(DACL)仅用于数据文件被SQL Server使用时而导致没有自由访问控制列表被定义在文件上,那么任何用户都可以访问这些数据。如果披露已删内容的可能性是受到关注的,那么建议当自由访问控制列表从SQL Server中分离时,在你的数据文件或备份上明确地使用受限制的自由访问控制列表。

提示

SQL Server 2005配置实例来使用即时文件初始化。

在一个SQL Server 2005实例上,通过还原一个大型数据库(任何大于100GB)来测试它。

 

在一个测试服务器上,不经过许可还原数据库备份并且衡量还原的时间。

 

删除这个还原的数据库并停止SQL Server服务。

把“Perform Volume Maintenance Task”授权给SQL Server服务账号并重启服务。

再次还原数据库备份并且衡量还原的时间。

【编辑推荐】

  1. SQL Server创建job要用到的链接有哪些?
  2. SQL Server排序遇到NULL,不怕不帕!
  3. SQL Server行转列的什么情况下被用?
  4. SQL Server数据库和Oracle行转列的特殊方案描述
  5. SQL Server 2005中synonyms的正确用法

 

责任编辑:佚名 来源: weaseek.com
相关推荐

2010-07-09 14:59:15

2010-03-19 10:23:06

2010-07-23 12:55:29

SQL Server

2009-06-09 16:17:45

SQL Server

2010-07-09 11:06:13

SQL Server

2011-04-18 13:02:08

SQL Server SQL Server

2010-06-18 10:43:05

SQL Server

2009-07-20 16:40:55

JDBC访问SQL S

2011-02-28 17:41:20

SQL Server

2011-03-28 12:50:45

SQL Server CE基础

2010-07-06 10:36:35

SQL Server

2010-06-17 15:09:49

SQL Server

2010-09-03 10:40:30

SQL删除

2010-10-21 15:13:20

SQL Server系

2010-06-18 13:18:29

SQL Server

2010-07-23 09:53:29

SQL Server

2011-07-06 13:09:11

SQL Server

2010-07-19 11:17:28

SQL Server

2011-03-28 14:59:53

SQL Server

2011-04-07 13:28:58

AccessSQL Server
点赞
收藏

51CTO技术栈公众号