我有 dbcc checkdb 命令的问题。在错误日志文件中,我在 30-45 分钟的时间间隔内多次找到 dbcc checkdb 命令。我已经安排了一个作业,其中 grep 错误日志文件中的关键字错误,但由于 dbcc checkdb 所有的 dbcc checkdb 命令,我的邮件都装满了它。
任何人都可以帮助我解释为什么我们使用dbcc checkdb命令以及它的用途是什么。这种行为是否正常,或者我们需要对其采取一些措施。
请帮帮我。
谢谢,
尼特什·库马尔
我认为@MartinSmith 在他的评论中指出了这一点。当您AUTO_CLOSE
设置为 时ON
,数据库将在最后一个用户退出时关闭。同样,当有人尝试使用数据库时,它会重新打开。当数据库重新打开时,DBCC CHECKDB
将记录有关上次运行的消息。
以下面的例子(示例代码,不打算在生产环境附近的任何地方运行)来证明这一点:
create database AutoCloseDb;
go
alter database AutoCloseDb
set auto_close on;
go
dbcc checkdb('AutoCloseDb');
go
-- rotate the below "use" statements a few times in order
-- to cause the database to close and reopen
--
use AutoCloseDb;
go
use master;
go
Run Code Online (Sandbox Code Playgroud)
在我们执行了几次use AutoCloseDb;
后跟之后use master;
,我们会在 SQL Server 错误日志中看到类似于下面的内容(我使用下面的 PowerShell 代码来检索它):
Add-Type -Path "C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\Microsoft.SqlServer.Smo.dll"
$SqlServer = New-Object Microsoft.SqlServer.Management.Smo.Server("<your SQL Server name>")
$SqlServer.ReadErrorLog() |
Where-Object {$_.Text -like "*AutoCloseDb*"} |
Select-Object LogDate, Text |
Format-List
Run Code Online (Sandbox Code Playgroud)
在我的测试环境中,输出如下:
LogDate:11/15/2013 5:47:17 AM 文本:启动数据库“AutoCloseDb”。
LogDate:11/15/2013 5:47:18 AM 文本:数据库“AutoCloseDb”的 CHECKDB 在 2013-11-15 05:39:19.137(当地时间)完成且没有错误。这只是一条信息性消息;无需用户操作。
LogDate:11/15/2013 5:47:18 AM 文本:启动数据库“AutoCloseDb”。
LogDate:11/15/2013 5:47:18 AM 文本:数据库“AutoCloseDb”的 CHECKDB 在 2013-11-15 05:39:19.137(当地时间)完成且没有错误。这只是一条信息性消息;无需用户操作。
LogDate:11/15/2013 5:47:19 AM 文本:启动数据库“AutoCloseDb”。
LogDate:11/15/2013 5:47:19 AM 文本:数据库“AutoCloseDb”的 CHECKDB 在 2013-11-15 05:39:19.137(当地时间)完成且没有错误。这只是一条信息性消息;无需用户操作。
LogDate:11/15/2013 5:48:25 AM 文本:启动数据库“AutoCloseDb”。
LogDate:11/15/2013 5:48:26 AM 文本:数据库“AutoCloseDb”的 CHECKDB 在 2013-11-15 05:39:19.137(当地时间)完成且没有错误。这只是一条信息性消息;无需用户操作。
LogDate:11/15/2013 5:49:30 AM 文本:启动数据库“AutoCloseDb”。
LogDate:11/15/2013 5:49:30 AM 文本:数据库“AutoCloseDb”的 CHECKDB 在 2013-11-15 05:39:19.137(当地时间)完成且没有错误。这只是一条信息性消息;无需用户操作。
如果确实AUTO_CLOSE
是这种情况导致了这种日志记录行为,您应该会在错误日志中看到类似的“正在启动数据库...”消息。
如果这不是您所看到的,那么请修改您的问题以包含围绕DBCC CHECKDB
日志记录的其他错误日志事件。
归档时间: |
|
查看次数: |
2244 次 |
最近记录: |