来自 产品测评 2019-10-09 20:27 的文章
当前位置: 118kj开奖现场 > 产品测评 > 正文

SQL Server 2012还原一直卡在ASYNC_IO_COMPLETION浅析118

在SQL Server 二〇一二(11.0.7001.0)上面在平复三个数据库(备份文件40多G大小,实际数据库大小300G),在还原经过中,出现一贯等候ASYNC_IO_COMPLETION,如下测验截图所示,已经等候了72分钟了,但是还原比例还是为0%

 

SELECT  r.session_id ,

        r.command ,

        r.start_time,

        r.status,

        r.wait_type,

        CONVERT(NUMERIC(6, 2), r.percent_complete)   AS [Percent Complete(%)] ,

        CONVERT(VARCHAR(20), DATEADD(ms, r.estimated_completion_time,

                                     GETDATE()), 20) AS [ETA Completion Time] ,

        CONVERT(NUMERIC(10, 2), r.total_elapsed_time / 1000.0 / 60.0) AS [Elapsed Min] ,

        CONVERT(NUMERIC(10, 2), r.estimated_completion_time / 1000.0 / 60.0) AS [ETA Min] ,

        CONVERT(NUMERIC(10, 2), r.estimated_completion_time / 1000.0 / 60.0

        / 60.0) AS [ETA Hours] ,

        CONVERT(VARCHAR(1000), ( SELECT SUBSTRING(text,

                                                  r.statement_start_offset / 2,

                                                  CASE WHEN r.statement_end_offset = -1

                                                       THEN 1000

                                                       ELSE ( r.statement_end_offset

                                                              - r.statement_start_offset )

                                                            / 2

                                                  END)

                                 FROM   sys.dm_exec_sql_text(sql_handle)

                               )) AS CommandText

FROM    sys.dm_exec_requests r

WHERE   command IN ( 'RESTORE DATABASE', 'BACKUP DATABASE','RESTORE LOG' );

 

 

 

118kj开奖现场 1

 

自然,这里是实验,假诺还要三番五次伺机的话,相信这些日子会更加长。那个是比较令人想不到的光景。后边查了一晃这几个跟及时文件早先化(Instant File Initialization (IFI))有关。关于这几个定义,能够参见官方文书档案数据库文件早先化 ,摘抄部分内容如下所示:

 

 

 

数据库文件最早化

 

起始化数据和日志文件以遮盖以前删除的文书遗留在磁盘上的任何现存数据。 实行以下个中一项操作时,应率先通过零填充(用零填充)数据和日志文件来开首化那些文件:

 

·         创造数据库。

·         向现存数据库增添数据或日志文件。

·         增大现成文件的尺寸(包罗电动拉长操作)。

·         还原数据库或文件组。

 

文件伊始化会产生这个操作开销越多时光。 可是,第一次将数据写入文件后,操作系统就无须用零来填充文件

 

 

当下文件早先化 (IFI)

 

在SQL Server中,能够在须臾间对数据文件举办开头化,防止止零填充操作。即时文件起首化能够异常的快实施上述文件操作。 即时文件初始化成效将回收利用的磁盘空间,而不需求选取零填充空间。 相反,新数据写入文件时会覆盖磁盘内容。 日志文件无法登时最初化。

 

备注

唯有在 Microsoft Windows XP Professional 或 Windows Server 2002 或越来越高版本中才足以利用即时文件初叶化作用。

 

重要

唯有在数据文件中才足以动用即时文件开端化功效。 创设日志文件或其尺寸拉长时,将一贯零填充该文件。

 

随时文件早先化功效仅在向SQL Server服务运营帐户授予了 SE_MANAGE_VOLUME_NAME 之后才可用。 Windows Administrator 组的分子具有此权限,并能够通过将别的客户增添到 奉行卷维护职分 安全计策中来为其授予此权限。

 

重要

或多或少职能使用(如透明数据加密 (TDE))能够阻碍即时文件开始化。

 

 

 因为那么些案例中,运营SQL Server的劳务运转账号为NT ServiceMSSQLSE福特ExplorerVELX570,所以未有权力即时文件最初化的,假设将起动SQL Server的服务运营账号改为全数管理员权限的域账号,就不会师世这种状态。别的,假如绝对要以NT ServiceMSSQLSE福特ExplorerVEEnclave为运转账号,能够按如下步骤操作:

 

要向贰个帐户授予 Perform volume maintenance tasks 权限:

 

 

  1. 在将在成立备份文件的Computer上开辟本地安全计谋使用程序 (secpol.msc)。

 

  1. 在左臂窗格中,展开“本地攻略” ,然后单击“顾客权限指派” 。

 

  1. 在侧边窗格中,双击“实践卷维护任务”。

 

  1. 单击“加多客商或组” ,增添用于备份的别样顾客帐户。

 

  1. 单击“应用” ,然后倒闭全部“本地安全攻略” 对话框。

 

118kj开奖现场 2

 

 

安装后,重启SQL Server服务,然后还原数据库就能够健康,此时的等待事件为BACKUPTHREAD,实际不是ASYNC_IO_COMPLETION, 借使版本是SQL Server 二零一一SP4或上述版本,能够通过上面SQL查看识别是或不是启用了那时文件开头化

 

 

SELECT  servicename ,

        startup_type ,

        instant_file_initialization_enabled

FROM    sys.dm_server_services; 

 

 

118kj开奖现场 3

 

别的,从SQL Server 二零一六 (13.x) 最初,可在装置时期给予服务帐户此权限。 借使采取命令提醒符安装,请增加/SQLSVCINSTANTFILEINIT 参数,或选中安装向导中“授予 SQL Server 数据库引擎服务实施卷维护职责权限”复选框。

 

 

参谋资料:

 

本文由118kj开奖现场发布于产品测评,转载请注明出处:SQL Server 2012还原一直卡在ASYNC_IO_COMPLETION浅析118

关键词: