问题标签 [transaction-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - TSQL:如何获取事务日志的大小?
如何获取事务日志的当前大小?如何获得尺寸限制?
我想对此进行监控,以便确定需要多久备份一次事务日志。
当我执行大型操作时,我通常会遇到事务日志的问题。
sql-server-2005 - SQL Server 2005 事务日志太大
我正在运行 SQL Server 2005。
我的数据库备份方案是:
恢复模式:FULL
备份类型:完整
备份组件:数据库
备份集将过期:0天后
覆盖媒体:备份到现有的媒体集,追加到现有的备份集
数据库正在写入 250GB 驱动器(实际为 232GB)。
我的 _Data.mdf 文件超过 55GB,我的 _Log.ldf 超过 148GB。
我们遇到了今天我们的驱动器被填满的情况。我将我们的ab_Full.bak 和ab_Log.bak 文件移动到另一个驱动器以腾出空间 - 大约 45GB。五小时后,可用空间为 37GB。
我是管理 SQL 服务器的新手;所以,我有一些关于我的备份的基本问题。
我知道我需要更新数据库以开始管理事务日志大小,以帮助防止将来出现此问题。因此,假设我有足够的可用空间,我:
1. 右键单击数据库并选择备份
2. 将“备份类型”设置为“事务日志”
3. 将“备份集将过期”更改为 30 天
4. 单击“确定” '
我的理解是,这会将“关闭”事务从事务日志移动到备份并截断事务日志。
这个计划合理吗?之后我需要手动调整日志文件的大小吗?
谢谢你的时间。
sql-server - SSMS 如何获取事务日志使用情况?
当您右键单击数据库、报告...磁盘使用情况时,我会收到一份报告。因为我的权限有限,所以我只获得了显示“事务日志空间使用情况”的顶部部分——仅这个数字就对我有用。
但是,后来我收到有关无权运行 DBCC showfilestats 的错误消息,而且我也绝对无权访问 sys.dm_os_performance_counters 或 DBCC SQLPERF('logspace')。
如果我能得到那个最高的数字,那将很有用。不幸的是,我当然不能运行分析器,所以我不知道它发出了什么命令或查询来获取数据......
sql-server-2005 - SQL Server 2005 事务日志总是太大
我已经阅读了其他帖子并进行了数小时的研究,但仍然没有更聪明。我有一个数据库,数据文件中有 65 gig,当前日志文件中有 230 gig。我正在尝试重新设计数据库以提高效率,但是在进行架构更改时,日志文件会尝试变得太大,并且 Windows 会抱怨磁盘空间不足。
我试图缩小文件,最低的文件是~220 gig。使用 DBCC OPENTRAN 我可以看到没有活动的事务。使用 select * FROM sys.dm_tran_database_transactions 我可以看到没有什么有趣的事情发生。
我对我所读内容的解释是,只有在存在活动事务并且提交所有事务后,日志文件才应该很大,理论上该文件应该能够缩小到非常小的东西。正确的?
我已经尝试使用 truncate_only 备份日志,然后是 dbcc shrinkfile (dbname, 2)
我该怎么做才能将此文件缩小到更易于管理的内容?
sql-server-2008 - SQL - 收缩数据库日志文件
我正在尝试缩小我的数据库日志文件。我试图运行:
我收到错误消息:
消息 155,级别 15,状态 1,第 3 行“truncate_only”不是可识别的备份选项。
我错过了什么吗?
sql-server - DBCC 收缩文件给出错误
我正在尝试使用 缩小我的日志文件DBCC SHRINKFILE(db_2.ldf)
,这是日志文件的名称
每次都给我错误:
8985,级别 16,状态 1,第 1 行在 sys.database_files 中找不到数据库 db 的文件 'FIelD'。该文件不存在或已被删除。
您能否建议我可以做些什么来解决它。
sql-server - 从损坏的 SQL Server 数据库中恢复事务日志
我们有一个每周以简单模式备份的数据库。昨天,我们有一个 crc 错误损坏了 mdf 文件,我们无法保存它。我从上周恢复了备份,但现在我们从备份时间到恢复时间有一个差距。由于我有来自该数据库的 ldf 文件,有没有办法“重播”该事务日志以填补空白?
我尝试将 ldf 文件重新附加到恢复的 mdf 文件,但 SQL Server 不允许我这样做。(当我重新附加数据库时,它只是创建一个具有不同名称的新 ldf 文件。)
任何想法都会有所帮助。这是要丢失的大量数据,虽然它不是关键数据,但我想找回它(以及学习和学习如何去做。)
sql - SQL Server 2005 - 如何找出已恢复的事务日志文件
如何在 SQL Server 2005 中找出使用 SQL 恢复了哪些事务日志备份文件?
db2 - DB2 事务日志已满。如何冲洗/清除它?
我正在做一个关于我正在学习的关于调整 DB2 的课程的实验。我正在使用 Amazon (aws) 的 EC2 进行实验。
然而,我的问题是,我必须在 DB2 中针对行压缩测试非压缩,为此我创建了一个运行这些实验的 bsh 文件。但是当我到达我的压缩部分时,我收到错误“<strong>事务日志已满”;并且无论我将插入设置得有多低,它都会抱怨我的事务日志。
我已经在 Google 上搜索了一天,试图找到某种方法来刷新/清除日志,或者只是摆脱它,我不需要它。我试图增加尺寸,但没有任何帮助。
拜托,我希望有人能解决这个令人沮丧的问题
谢谢 - 梅斯蒂卡
sql-server - Sql Server:分块删除仍会填满事务日志;失败时,所有删除都回滚 - 为什么?
这是我的场景:我们有一个数据库,我们称它为 Logging,其中包含一个保存来自 Log4Net 的记录(通过 MSMQ)的表。数据库的恢复模式设置为简单:我们不关心事务日志——它们可以翻转。
我们有一个作业,它使用 sp_spaceused 中的数据来确定我们是否达到了某个大小阈值。如果超过阈值,我们将确定需要删除多少行才能将大小降低到该阈值的 x%。(顺便说一句,我正在使用 exec sp_spaceusedMyLogTable
来TRUE
获取行数和它们平均大小的粗略近似值,尽管我不相信这是最好的方法。但这是一个不同的问题。)
然后我尝试通过循环调用基本上执行此操作的 sproc 来分块删除(例如,一次 5000 个):
直到我删除了需要删除的内容。
问题是:如果我有很多行要删除,事务日志文件就会填满。我可以通过跑步看着它成长
令我困惑的是,当作业失败时,所有已删除的行都会回滚。换句话说,似乎所有块都被(以某种方式)包装在隐式事务中。
我已经尝试明确设置隐式事务关闭,将每个 DELETE 语句包装在 BEGIN 和 COMMIT TRAN 中,但无济于事:要么所有删除的块都成功,要么根本没有。
我知道简单的答案是,使您的日志文件足够大,以处理您曾经删除的尽可能多的记录,但是,为什么这被视为单个事务?
抱歉,如果我错过了一些简单的事情,但是我查看了很多有关日志文件增长、恢复模式等的帖子,但我无法弄清楚这一点。
另一件事:一旦作业失败,日志文件会在一段时间内保持在 95% - 100% 左右,然后再回落。但是,如果我运行
它立即回落到大约 5% 的利用率。
TIA。