SQL Server 版本:2008 R2 Enterprise SP2
我正在尝试处理我们的 SQL Server 维护,但我遇到了一些我认为不正确的事情。我们有一个带有 3 个数据库的单个生产实例,每个数据库都异地镜像到一个 DR 实例。
在查看 DR 实例时,我注意到 LDF 文件很大,对于频繁使用的数据库超过 35GB。
我知道这可能是由于镜像数据库处于完全恢复模式并且日志从未备份过,它们只会继续增长,直到驱动器空间耗尽。
我们在主体数据库上做日志备份,我的问题是在镜像上做日志备份有什么问题?
在进行日志备份之前,必须至少完成一次来自镜像的完整数据库备份,在这种情况下,是否需要使用特殊选项,因为它是镜像?
这也是MIRROR数据库上的事务日志维护建议。
感谢您提供任何意见
我们在周末设置了数据库镜像,但忘记重新启用备份事务日志的作业。当我今天早上进来时,事务日志已经膨胀到 58GB,并且占用了大部分驱动器空间。
我将事务日志手动备份到磁盘以使数据库再次运行,但是运行 DBCC SHRINKFILE 似乎并没有减少事务日志文件的物理大小。
DBCC SHRINKFILE (N'MyDatabaseName_Log', 1000)
Run Code Online (Sandbox Code Playgroud)
如果我使用
DBCC SQLPERF(LOGSPACE)
Run Code Online (Sandbox Code Playgroud)
我可以看到只有 22% 的当前日志正在被使用
数据库名称 日志大小(MB) 已用日志空间 (%) 状态 我的数据库名称 55440.87 22.38189 0
如果我log_reuse_wait_desc在 sys.databses 中签出,我看到的唯一记录是DATABASE_MIRRORING,所以我猜测镜像在为什么日志文件的物理大小不会缩小方面发挥作用?
SELECT log_reuse_wait_desc
FROM sys.databases
WHERE name = N'MyDatabaseName';
Run Code Online (Sandbox Code Playgroud)
我还注意到我的主要数据库镜像状态是暂停,并且尝试恢复它立即失败并出现以下错误:
数据库“MyDatabaseName”的远程镜像伙伴遇到错误 5149,状态 1,严重性 25。数据库镜像已暂停。解决远程服务器上的错误并恢复镜像,或删除镜像并重新建立镜像服务器实例。
镜像服务器上的错误日志也包含此错误,但也包含有关日志文件驱动器已满的错误
MODIFY FILE 在尝试扩展物理文件时遇到操作系统错误 112(磁盘空间不足。)。
和
F:\Databaselogs\MyDatabaseName_1.ldf: 遇到操作系统错误 112(磁盘空间不足。)。
主体服务器在日志文件驱动器上有 60GB(这里还有其他数据库托管),而镜像服务器只有 45GB。
备份日志文件使数据库再次可用,但是我还想减小磁盘上物理日志文件的大小,并恢复镜像。
如何在不影响镜像或备份链的情况下缩小物理事务日志文件的大小?
我正在运行 SQL Server 2005