我有一台运行 SQL Server 2005 的服务器。我每晚进行一次完整备份,每 15 分钟进行一次事务日志备份。这是一个相对较小的服务器,所以我没有做任何差异备份。
如果每晚完整备份之一失败,是否可以使用前一天晚上的备份和两天的所有事务日志来恢复数据库,或者丢失完整备份是否会出现问题?
我安装了 SQL 2005 并且我的 templog.ldf 文件不断增长以消耗它所在驱动器上的所有可用空间。有时它会在有几 mb 免费时停止,但有时它会更进一步,这是 c 驱动器,我认为这种行为可能与我看到的其他一些问题有关。
我的问题是,我应该怎么做,我可以将日志移动到另一个驱动器,但我有理由假设它不会在那里做同样的事情。我假设这种行为很可能是我可以更改的结果,并且对于 tempdb 日志来说,45gb 是一个不寻常的大小。我们在代码中确实使用了很多临时表和表值函数,因此有足够的空间使用 tempdb,我可以理解 tempdb 数据库的增长,但不了解 templog 增长的原因。
到目前为止,我已经运行 DBCC OPENTRAN('tempdb') 来查看是否有任何旧事务存在,它们没有。我已经阅读了有关如何缩小 tempdb 的内容,并且已经这样做了几次,但我真的很想知道我能做些什么来首先阻止这种情况的发生,或者更多关于为什么它可能会增长如此之多的详细信息第一名。
==编辑==
1) tempdb 使用简单恢复模式
2)临时日志的增长发生在早上几个小时,当时我们有一些预定的查询正在运行,基本上是大量报告,这些报告在前一天的办公时间用完。文件的大小在这段时间内稳步增长。我们控制同时运行的并发报告数量,增加并发报告的数量会增加日志增长的速度。
在 SQL Server 2008 R2 中,我有一个数据库,它每晚进行一次完整备份,每十分钟进行一次事务日志备份。数据库处于完全恢复模式。
问题是事务日志的备份文件有数百兆字节,但绝对不应该如此。数据库中没有该活动。每个备份只有十分钟。它们太大了,几天后它会完全填满硬盘。
知道是什么导致备份如此之大以及如何修复吗?
backup transaction-log sql-server sql-server-2008 database-backup
我有一个问题,我在 SQL Server 2008 中的日志文件增长到 40Gb,我想缩小它。我正在使用的查询是
ALTER DATABASE DatabaseName SET RECOVERY SIMPLE
use DatabaseName
GO
CHECKPOINT
GO
DBCC SHRINKFILE(transactionloglogicalfilename,TRUNCATEONLY)
GO
ALTER DATABASE DatabaseName SET RECOVERY FULL
Run Code Online (Sandbox Code Playgroud)
不会在更多级别上缩小日志文件,而且缩小日志文件只会在短时间内立即扩展。
那么问题出在哪里呢?
我想将日志文件缩小到 1GB,而我的数据库大小是 16GB
我有 SQL Server 2008 R2
请有人帮助我
在我们的 SQL 服务器(2000、2005 和 2008)上,我们每天晚上运行一次完整备份,每 2 小时运行一次事务日志备份。我们并没有真正担心这两个过程会发生冲突,但最近我们遇到了以下一些问题:
在一台服务器上,trans log 备份偶尔会阻塞全量备份,必须手动停止全量备份才能完成
我们有时最终会得到一个超大的 trans log 备份文件(有时比完整备份还大!),它似乎是在完整备份运行的同时发生的。
我找到了一个参考,表明这些“不允许”同时运行,无论这意味着什么:SQL 2000 Books Online和SQL 2005 Books Online。我不确定这是否意味着服务器会简单地阻止它们同时运行,或者我们是否应该在完整备份运行时明确停止日志备份。
那么这些之间是否存在已知的冲突/问题?SQL 版本之间的答案是否不同?我是否应该让 trans log 备份作业在执行之前检查完整备份是否正在运行?(我该怎么做……?)
SQL Server sp_spaceused 存储过程对于找出数据库大小、未分配空间等很有用。 但是(据我所知),它不会报告事务日志的信息(并查看 SQL Server Management 中的数据库属性Studio 也不为事务日志提供该信息)。
虽然我可以通过查看 .ldf 文件轻松找到事务日志使用的物理空间,但我如何才能找出日志文件的使用量和未使用量?
MySQL有不少日志:
我知道 Postgresql 的 WAL,它相当于 InnoDB 的事务日志(对吗?)。
其他 MySQL 日志(例如 bin 日志)呢?它们是否与 Postgresql 等效?
我们使用的是 Navision 2009,并且数据库事务日志文件已增长到 121GB。我们想缩小文件。这能做到吗?
我编写了一个小应用程序来定期查询、清理旧数据库的数据并将其插入 SqlServer。大约有 300 万条记录,如果我让轮询寡妇非常小,我可以想象事务日志会变得非常大。在这些“复制”操作期间,我怎样才能最大限度地减少它的增长?
我主要是一名开发人员,但对于一个小型内部系统,我目前还负责运行 SQL Server 企业版的服务器的一些配置。
数据库本身从两个来源看到活动:
我很高兴使用内置的 SQL 服务器备份实用程序,我制定了一个维护计划,每 6 小时备份一次整个数据库,并且每 6 小时在数据库备份之间备份一次事务日志(例如,早上 6 点,数据库备份、上午 9 点事务日志备份、下午 12 点数据库备份、下午 3 点事务日志备份)。我们每周都会对整个服务器进行磁带快照(数据不是关键任务,更多的是研发项目)。
在此设置之前,数据库开始急剧增长,现在所有完整的数据库备份都以非常易于管理的 15Mb(并且在缓慢增长)和 9 到 12Mb 之间的事务日志出现。
我做得对吗?您对事务日志备份的频率有任何其他见解吗?
如果我错过的另一个问题中的任何内容可能有用,请随时指出。
transaction-log ×10
sql-server ×6
backup ×3
database ×1
logging ×1
mysql ×1
navision ×1
postgresql ×1
replication ×1
tempdb ×1