一台数据库服务器的事务日志备份作业偶尔会出现几次备份失败的情况,具体的错误信息为:

我们一个SQL
Server服务器在执行YourSQLDBa的作业YourSQLDba_FullBackups_And_Maintenance时遇到了错误:

昨天遇到一个案例,YourSQLDba做事务日志备份时失败,检查YourSQLDba输出的错误信息如下:

 

 

 

 

在SQL
Server的数据库维护过程中,有时候在一些特殊情况下需要在单用户模式下启动SQL Server实例。
下面总结一下单用户模式启动SQL Server的几种方式:

 

Exec YourSQLDba.Maint.ShowHistoryErrors @JobNo = 1227

<Exec>

 

DATE/TIME:    2018/7/30
12:10:52

<row>

<ctx>yMaint.backups</ctx>

1:命令模式(sqlservr.exe)启动

 

<ctx>yMaint.IntegrityTesting</ctx>

<Sql>

 

DESCRIPTION:
BackupDiskFile::CreateMedia: Backup device
‘M:\DB_BACKUP\LOG_BACKUP\xxxx_[2018-07-30_06h03m10_Mon]_logs.TRN’
failed to create. Operating system error 32(failed to retrieve text for
this error. Reason: 15105).

<Sql>DBCC checkDb(‘xxxx’) </Sql>

backup log [gewem]

首先在命令窗口中切换到Binn目录(这个要视SQL
Server实际安装路径情况而定,另外,多实例情况下,必须切换到对应路径),如果你对sqlservr.exe命令不熟悉,可以查看相关帮助信息。如下所示:

 

<err>In case of non-completion of this command check SQLServer
Error Log at 2016-11-17 00:00:03.327 for Spid 67</err>

to disk =
‘M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN’

 

 

</row>

with noInit, checksum, name = ‘YourSQLDba:16h16:
M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN’

C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn>sqlservr.exe /?

usage: sqlservr

        [-a<L2 buffer pool directory>,<size in GB>]       (adding an L2 buffer pool file)

        [-c] (not as a service)

        [-d file] (alternative master data file)

        [-l file] (alternative master log file)

        [-e file] (alternate errorlog file)

        [-f] (minimal configuration mode)

        [-m] (single user admin mode)

        [-g number] (stack MB to reserve)

        [-k <decimal number>] (checkpoint speed in MB/sec)

        [-n] (do not use event logging)

        [-s name] (alternate registry key name)

        [-T <number>] (trace flag turned on at startup)

        [-x] (no statistics tracking)

        [-y number] (stack dump on this error)

        [-B] (breakpoint on error (used with -y))

        [-K] (force regeneration of service master key (if exists))

        [-v] (list version information)

 

See documentation for details.

2018-04-06 11:28:00.52             SQL Server shutdown has been initiated

COMMENT:  (None)

 

</Sql>

 

 

错误日志里面有下面一些错误信息,如下所示:

<err>Error 3202, Severity 16, level 2 : Write on
“M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN”
failed: 112(error not found)

 

JOB
RUN: 
(None)

 

Error 3013, Severity 16, level 1 : BACKUP LOG is terminating abnormally.

sqlservr.ex启动时,当前环境有多实例,而你有没有指定参数-s,那么就会提示类似如下信息,
需要你指定-s参数的SQL Server服务名称。

 

Date 2016/11/17 0:53:21

</err>

 

 

Log SQL Server (Archive #8 – 2016/11/18
0:00:00)

</Exec>

 

      关于Operating
system error 32,这个错误代码对应的错误信息为:

 

 

C:\Program
Files\Microsoft SQL
Server\MSSQL12.MSSQLSERVER\MSSQL\Binn>sqlservr.ex

 

Source spid67

这个“failed
:112”信息一出现,意味着肯定是磁盘空间不够,昨天总结的那篇博客DBCC
CHECKDB 遭遇Operating system error 112(failed to retrieve text for this
error. Reason: 15105)
encountered其实遇到的问题也是类似的,Operating
System error 112 meaning There is not enough space on the disk.

e
-c -m

     The
process cannot access the file because it is being used by another
process.

 

 

2018-04-06
11:40:54.15 Server      Multiple
instances of SQL server are installe

 

Message

图片 1

d
on this computer. Renter the command, specifying the -s parameter with
the nam

 

DBCC CHECKDB (xxxx) executed by xxxxx found 0
errors and repaired 0 errors. Elapsed time: 0 hours 53 minutes 18
seconds. Internal database snapshot has split point LSN =
00623e60:00004a5b:0001 and first LSN = 00623e60:000048f3:0011. This is
an informational message only. No user action is required.

 

e
of the instance that you want to start.

   其实以前刚好遇到过这样的案例,使用AplexSQL
Log去分析事务日志的备份文件,YourSQLDba的事务日志备份的时候,就会遇到上面错误(YourSQLDba_LogBackups事务日志备份会追加到同一个备份文件),但是这个怎么定位这个错误呢?其实出现这个错误,一定有相关进程在访问事务日志备份文件,那么只要排查这些应用或程序即可。刚好最近配置了AWS的DMS的(DMS简单介绍如下,具体参考官方文档

 

当时检查时,发现磁盘空间还剩下十多G,然后自己手工又将代码取出,手工执行测试,依然报这个错误:

2018-04-06
11:40:54.16 Server      SQL Server
shutdown has been initiated

 

Date 2016/11/17 0:53:21

backup log [xxxx] 

to disk = 'M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN' 

with noInit, checksum, 

NAME = 'YourSQLDba:00h10: M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.TRN'

 

 

Log SQL Server (Archive #8 – 2016/11/18
0:00:00)

图片 2

sqlservr.exe
-c -m 
-s{instancename}

在最基本级别上,AWS DMS 是 AWS
云中运行复制软件的服务器。您创建源和目标连接以告知 AWS DMS
要进行提取和加载的位置。然后,计划在此服务器上运行以迁移数据的任务。AWS DMS
会创建表和关联的主键 (如果它们在目标上不存在)。如果您愿意,则可以预先手动创建目标表。或者,也可以使用 AWS SCT
创建部分或全部目标表、索引、视图、触发器等。

 

 

 

 

Source spid13s

后面检查发现这个数据库的日志文件暴增,已经超过数据文件的大小。如下截图所示,所以即使磁盘空间还有不少(19G),部署的磁盘空间告警作业亦正常,没有出现告警,但是已经不能足够支撑事务日志备份完成。所以出现了这个问题,问题有点隐蔽,不过只要细心,问题真相就能水落石出。剔除几个老旧备份以及已经上带的备份,腾出了一些磁盘空间,重新运行作业,作业执行成功!

 

 

 

 

 

图片 3

Message

图片 4

sqlservr.ex启动时,如果SQL
Server服务本身还在运行,就会报“Operating
system error = 32(The process cannot access the file because it is being
used by another process.).

 

Write to sparse file
‘xxxxxxx.ndf:MSSQL_DBCC10’ failed due to lack of disk space.

 

 

 

 

因为DMS有时候会读取事务日志备份文件中的内容,通过DPA监控,刚好找的了这个DMS的账号,在事务日志备份的时间点在执行下面SQL语句(如下所示)。那么就是因为这个进程在读取事务日志备份中内容(跟普通的Replication有点不同),导致事务日志备份出现Operating
system error 32错误(The
process cannot access the file because it is being used by another
process)

 

C:\Program
Files\Microsoft SQL
Server\MSSQL12.MSSQLSERVER\MSSQL\Binn>sqlservr.ex

 

SQL Server

e
-c -m -sMSSQLSERVER

 

 SELECT /* top 50000 */

        [Current LSN] ,

        [Operation] ,

        [Context] ,

        [Transaction ID] ,

        [Transaction Name] ,

        [Begin Time] ,

        [End Time] ,

        [Flag Bits] ,

        [PartitionId] ,

        [Page ID] ,

        [Slot ID] ,

        [RowLog Contents 0] ,

        [Log Record] ,

        [RowLog Contents 1]

 FROM   sys.fn_dump_dblog(@P1, NULL, NULL, 11,

                          'M:\DB_BACKUP\LOG_BACKUP\xxxx_[2018-08-01_06h06m19_Wed]_logs.TRN',

                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

                          NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)

 WHERE  [Current LSN] COLLATE SQL_Latin1_General_CP1_CI_AS >= @P2 COLLATE SQL_Latin1_General_CP1_CI_AS

        AND ( ( [Operation] IN ( 'LOP_COMMIT_XACT', 'LOP_ABORT_XACT' )

                OR ( [Operation] = 'LOP_BEGIN_XACT' /* and [Transaction SID]=SUSER_SID('') */ )

              )

              OR ( ( ( [Operation] IN ( 'LOP_INSERT_ROWS', 'LOP_DELETE_ROWS' )

                       AND [Context] IN ( 'LCX_HEAP', 'LCX_CLUSTERED',

                                          'LCX_MARK_AS_GHOST' )

                     )

                     OR ( [Operation] IN ( 'LOP_INSERT_ROWS', 'LOP_MODIFY_ROW' )

                          AND [Context] = 'LCX_TEXT_MIX'

                          AND DATALENGTH([RowLog Contents 0]) IN ( 0, 14, 28 )

                        )

                   )

                   AND [PartitionId] IN ( 72057596166537216, 72057596166471680,

                                          72057596166406144, 72057596327559168,

                                          72057596160180224, 72057596361506816,

                                          72057596119613440, 72057596119744512,

                                          72057596119678976, 72057596120006656,

                                          72057596119941120, 72057596120137728,

                                          72057596545859584, 72057596119810048,

                                          72057596231417856, 72057596418523136,

                                          72057596441067520, 72057596381364224,

                                          72057594562543616, 72057596104671232,

                                          72057594585808896, 72057594585874432,

                                          72057596242952192, 72057596168962048,

                                          72057596054994944, 72057596055453696,

                                          72057596035072000, 72057596055126016,

                                          72057596091039744, 72057596381495296,

                                          72057596381560832, 72057596524298240,

                                          72057595958067200, 72057596469116928,

                                          72057596462628864, 72057596454699008,

                                          72057596241641472, 72057595958853632,

                                          72057594563526656, 72057594563657728,

                                          72057594563723264, 72057596502802432,

                                          72057596484845568, 72057596484911104,

                                          72057596575285248, 72057596554575872,

                                          72057596485107712, 72057596485238784,

                                          72057596485304320, 72057596485369856,

                                          72057596551430144, 72057596485500928,

                                          72057594601275392, 72057594621394944,

                                          72057596548677632, 72057596561719296,

                                          72057596218638336, 72057596376842240,

                                          72057596357443584, 72057596357509120,

                                          72057596358164480, 72057596112207872,

                                          72057596023865344, 72057595959902208,

                                          72057595961081856, 72057594588889088,

                                          72057596112142336, 72057596410003456,

                                          72057595938275328, 72057596192096256,

                                          72057596192161792, 72057596367208448,

                                          72057595961868288, 72057596245508096,

                                          72057596250554368, 72057594565689344,

                                          72057596192227328, 72057596192292864,

                                          72057596248326144, 72057596248391680,

                                          72057594565754880, 2465937948672,

                                          72057596374810624, 72057594565885952,

                                          72057596133113856, 72057596563357696,

                                          48281791823872, 116258596192256,

                                          72057596132851712, 72057595963179008,

                                          72057596541861888, 72057594599047168,

                                          53296886710272, 72057595944894464,

                                          72057594566934528, 72057594567000064,

                                          72057596526395392, 72057596526592000,

                                          72057595964030976, 72057595965079552,

                                          72057594582859776, 72057594567917568,

                                          72057596525936640, 72057595908128768,

                                          72057594568048640, 119223456956416,

                                          72057594896711680, 72057594588758016,

                                          72057596133179392, 72057596132786176,

                                          72057595965931520, 72057595966455808,

                                          72057596450177024, 72057595966849024,

                                          112563398705152, 72057596184363008,

                                          72057596184428544, 72057594681425920,

                                          72057596309733376, 72057596205334528,

                                          72057596184231936, 72057595458355200,

                                          107370836852736, 72057595852423168,

                                          72057595708702720, 72057596357312512,

                                          72057596357378048, 72057596550119424,

                                          72057596301279232, 72057596357050368,

                                          72057596356984832, 72057596362293248,

                                          72057596357574656, 72057596357246976,

                                          72057596357181440, 72057596301344768,

                                          72057595809890304, 72057595873591296,

                                          72057595969011712, 72057595969536000,

                                          72057596348858368, 72057595970191360,

                                          72057596217917440, 72057596217982976,

                                          72057596526329856, 72057596332212224,

                                          114660558176256, 72057596526460928,

                                          72057596331687936, 72057596331622400,

                                          72057595970781184, 72057596574826496,

                                          72057596317859840, 72057594572242944,

                                          72057594592952320, 72057595971502080,

                                          72057595991228416, 72057596324282368,

                                          72057596220538880, 72057595972943872,

                                          72057596512370688, 72057594640334848,

                                          72057595973730304, 72057596132655104,

                                          72057594573684736, 72057594574012416,

                                          72057594776649728, 72057595974320128,

                                          72057594574798848, 45591660199936,

                                          72057594590920704, 72057595974778880,

                                          72057594593738752, 72057595975106560,

                                          72057595975696384, 72057595937882112,

                                          140014173224960, 72057594576240640,

                                          72057594576502784, 72057596501819392,

                                          72057596188360704, 72057596526264320,

                                          61775963815936, 56442625916928,

                                          72057596350365696, 14271632703488,

                                          72057596268838912, 72057596575744000,

                                          72057596442836992, 72057596459089920,

                                          72057596440281088, 72057596469444608,

                                          72057596413935616, 72057596414001152,

                                          72057596532293632, 72057596413739008,

                                          72057596414066688, 72057596548743168,

                                          72057596548612096, 72057596195110912,

                                          72057596448014336, 72057594576961536,

                                          72057594581614592, 72057594577354752,

                                          72057596310061056, 72057596488384512,

                                          72057594577813504, 72057596309995520,

                                          72057596181151744, 72057594577551360 )

                 )

              OR ( [Operation] = 'LOP_HOBT_DDL' )

            ); 

Date 2016/11/17 0:53:21

2018-04-06
11:41:59.01 Server      Error: 17058,
Severity: 16, State: 1.

Log SQL Server (Archive #8 – 2016/11/18
0:00:00)

2018-04-06
11:41:59.01 Server      initerrlog:
Could not open error log file ‘C:

 

\Program
Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log\ERRORLOG’.
Ope

Source spid129

rating
system error = 32(The process cannot access the file because it is
being

 

used
by another process.).

Message

2018-04-06
11:41:59.32 Server      Error: 17058,
Severity: 16, State: 1.

D:\xxx\xxxx\xxxxx.ndf:MSSQL_DBCC10:
Operating system error 112(failed to retrieve text for this error.
Reason: 15105) encountered.

2018-04-06
11:41:59.32 Server      initerrlog:
Could not open error log file ‘C:

图片 5

\Program
Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Log\ERRORLOG’.
Ope

 

rating
system error = 32(The process cannot access the file because it is
being

另外,我们的磁盘空间告警作业也收到了大量的磁盘空间告警邮件:

used
by another process.).

 

2018-04-06
11:42:02.04 Server      SQL Server
shutdown has been initiated

图片 6

 

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注