问题标签 [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.

0 投票
2 回答
3163 浏览

sql-server - TSQL 插入事务日志填满

需要生成一些测试数据。此插件为 800,000 X 1,000。我知道很多,但这是一个真正的应用程序,其中随机数将是一个计算出来的数字。

我怎样才能打破这个,这样事务日志就不会填满?

它将插入一个docSVsys1.sID而不填满事务日志。

0 投票
3 回答
5050 浏览

sql-server - Sql Server 事务日志阅读器

是否可以使用某种类型的流阅读器对象打开 sql server 事务日志文件?

我在 C# 中尝试了多种方法,但数据库似乎正在使用显式锁定打开 .ldf 文件,即使我只想读取文件,在数据库运行时也无法读取。

在数据库关闭时打开文件不是我想要的,我需要能够读取流中的事务日志。我有一个文件布局的粗略草图,但现在我什至无法附加。

有人知道任何配置选项或其他方法吗?

谢谢!-G

0 投票
2 回答
3063 浏览

sql-server - 如何拆分 SQL Server 事务日志

我的数据库服务器刚刚用完了磁盘空间。事务日志占用了 100GB 以上的空间,而我只有 30GB 的可用空间。因此,一些交易需要无限的时间来处理,从而导致 9002 错误。

我想问有没有一种方法可以拆分此事务日志并删除其中一个以获得一些可用空间。现在我无法通过添加另一个磁盘来进行备份或增加磁盘空间。

如果有人有比拆分事务日志更好的解决方案,那就太好了。

0 投票
2 回答
2071 浏览

java - 事务日志库

我需要具有以下功能的事务日志库:

  • 最大性能。不强制(刷新),让 O/S 自行决定写入缓冲区。文件大小以大块的形式增加,以最大限度地减少元数据修改。我不在乎是否丢失了一些最后的记录。

    • 以倒序读取记录(最近的在前)。

问题是,如何在读取日志文件时找到最后一条有效记录?可以使用哪些技术,或者是否有现成的开源库?

0 投票
3 回答
850 浏览

sql-server-2008 - 恢复所有 Sql server 事务日志但一个查询?

除了一个查询,有没有办法恢复整个事务日志?

例如,您意外执行的删除查询或更新查询?

因为我知道它是可能的,恢复到某个时间,但是如果邪恶的查询只影响一个表,而你不想松动其他表中的更改呢?

0 投票
0 回答
22 浏览

sql-server - 是否有一致的命令来截断以重新填充表格?

可能重复:
最少登录的插入

我有一个要截断的临时表,因为没有记录截断。是否有可以应用于插入语句(或备用语句)的标志,以便重新填充它也不会记录在 MS SQL Server 中?

0 投票
0 回答
882 浏览

sql-server-2008 - 事务复制中的日志读取器代理在重复作业期间扫描大型事务日志导致延迟

我们刚刚在涉及事务复制的中等流量数据库上实施了一项新工作,它将处理来自 Excel 电子表格的输入并调用存储过程以在该数据库的各种表中创建记录。

涉及的字段之一是文本数据类型,范围为 10k-30k 个字符。在作业中,自定义 SQL 服务器函数从大型 HTML 正文中解析出 URL,并将其写入表中。

由于密集的性质,或者似乎是过程的性质,我们每半小时每次执行作业只处理电子表格中的 35 条记录或行。我们看到的是事务日志以惊人的速度增长,因此导致从发布者到订阅者的相当大的延迟,因为日志读取器代理扫描整个事务日志并找到 0 条记录进行复制。

从角度来看,日志大小约为 30GB,并且不能小很多,因为运行该作业 5-6 次将使其超过该大小。我们经常备份分发数据库(每 5 分钟)和每 15 分钟的事务日志。

我们迫切需要一种可以减少延迟或减少日志读取量 (I/O) 的解决方案。我意识到可能需要在应用程序/作业端完成一些工作,但是复制配置中有什么可以帮助解决这种延迟和浪费的日志扫描吗?

任何帮助将非常感激。谢谢你。

0 投票
1 回答
1674 浏览

sql-server - 如何在 fn_dblog() 中找到与特定表相关的行

从我在 MS-SQL 中读到的各种信息fn_dblog()中,我认为其中AllocUnitName包含表名。但是最近,我正在检查是否删除了特定表的行,但在返回的结果中找不到它的名称fn_dblog(null,null)。有些行dbo.MyTable.PK_xxxx只有dbo.MyTable. 这是一张每天有数十笔交易的表,所以我想知道是否AllocUnitName是查找表名的正确位置。我在这里使用 MS-SQL 2008 R2。

因此,如果AllocUnitName不是正确的查看位置,我应该在哪里查看 fn_dblog(null,null) 返回的结果以获取特定表的特定记录。

0 投票
1 回答
168 浏览

sql - 将 SQL Server 2008 R2 事务日志还原到 SQL Server 2005

如果我有 SQL Server 2008R2 兼容性 90 生产数据库和 SQL Server 2005 开发数据库。

我可以将事务日志从生产恢复到开发吗?事务日志从 SQL Server 2008 R2 兼容性 90 恢复到 SQL Server 2005?

0 投票
1 回答
6538 浏览

sql-server - 数据库中事务日志已满的可能原因及解决方案

在我的团队 ASP.NET 应用程序的数据访问层中,我通过使用 .NET SQLClient 对我们的数据库运行存储过程。添加新代码以允许对数据库进行插入操作后,我测试了代码,并收到以下异常:

The transaction log for database 'DBName' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases

我确认在 MS SQL Server Management Studio 中尝试插入操作时收到了相同的消息。我很担心,因为我最近添加了三个两个触发器两个数据库来执行基于插入和更新某些表的一些数据插入,并且我认为可能我已经招致了一个无限循环或类似性质的东西。

但是,根据在线此问题的其他实例,这似乎不是通常由触发器或旋转查询引起的问题。我查询了log_reuse_waitandlog_reuse_wait_desc列并返回了以下内容:

2 | LOG_BACKUP

此外,查询返回:SELECT [name], recovery_model_desc, log_reuse_wait_desc
FROM sys.databases

其中第一列是log_reuse_wait,第二列是log_reuse_wait_desc。根据msdn上代码的定义,我需要执行日志备份,然后可以自动截断日志,以便对数据库进行进一步的操作。这是一个正确的假设吗?这可能是由错误编码的触发器引起的,还是更多的日常维护任务,由数据库上的大量事务引起?

编辑:

查询select type_desc, size, max_size from sys.database_files返回: