问题标签 [dbcc]

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 投票
1 回答
420 浏览

sql-server - 在 SQL Server 的事务日志中完成回滚后,如何查找更新事务的更改 delta 值

我正在尝试了解 mssql 交易日志的内部结构。我进行以下交易

'a' 列的初始值为 5 。所以发现事务的结果如下图使用

正如我们从上面的值看到的那样,数据从 1 更改为 6,并且由于发生回滚,它再次更改为 1。

然后要获取内存信息,我使用以下命令,其中 558(22e) 是页面 id,可以在上表中找到

转到 slot 0 和 rowoffset 4 以查看更改的数据

我们从内存转储中观察到,我们只找到回滚事务的值,即 a =1。

但我的问题是我们如何在发生的交易中找到原始值,即 6。这是微软不故意将信息写入日志的行为还是有什么办法?请建议。

提前致谢

0 投票
1 回答
1546 浏览

sql-server - 如何使用 ODBC 从“DBCC SHOWFILESTATS”中检索结果?

我需要使用 ODBC 连接查找我的 SQL Server 数据库中可用的相对空间量。

我想尝试使用dbcc showfilestats,但它不返回任何结果。

阅读INF:在 ODBC 应用程序中处理 DBCC 命令后,我理解这是因为这不是选择语句。令我困惑的是,该声明也没有返回任何信息(与论文相反)。

我也尝试使用临时表:

并从同一个 SQLExecDirect 中的该表中进行选择。

这只会导致错误 24000(并且我确保没有其他打开的语句)。

是否有替代方法来检索此信息?

0 投票
2 回答
43349 浏览

sql - DBCC CHECKDB 检查 SQL Server 数据库中的错误

是否可以运行:DBCC CHECKDB在 SQL Server 2005 数据库中的特定表上?

我有以下语法:

但不断得到不正确的语法。我只是想运行它来看看它抛出了什么错误?你能帮我写语法吗?我想删除所有修复选项。

0 投票
1 回答
124 浏览

sql - 什么类型的 sql 执行会导致这种格式的 InputBuffer EventInfo?

我正在尝试跟踪触发器记录回其源的事件。编写触发是为了捕获 spid 的 dbcc 输入缓冲区,但是,我不太熟悉该函数如何用于不同的源(存储过程、内联 sql 等)。EventInfo 采用以下格式:

这被记录为“语言事件”,所以我知道它不是来自存储过程。对我来说,它几乎看起来像一个 LINQ 语句,但我知道事实上没有 LINQ 语句会触及该表。什么类型的 sql 执行会导致这样的格式?

0 投票
2 回答
8731 浏览

sql-server - 在没有 DBCC INPUTBUFFER 的情况下获取 SQL Server 中的最后一个命令

有没有办法在不使用的情况下获取最后执行的 SQL Server 命令DBCC INPUTBUFFER

例如,是否有包含此信息的系统视图或目录?

谢谢。

0 投票
1 回答
4100 浏览

sql-server - 使用 REPAIR_ALLOW_DATA_LOSS 时会丢失哪些(类型)数据?

在我的 sql server 2012 遇到问题后,我只能使用 DBCC CHECKDB (xxx, REPAIR_ALLOW_DATA_LOSS) 修复数据不一致。该选项的名称暗示,在修复数据库时(可能)会丢失数据。

丢失的数据是什么?丢失的危害有多大?

例如,看看这个日志消息:

未引用页面 (1:705)、槽 0、文本 ID 328867287793664 处的行外数据节点。

如果没有引用该节点并且正是该节点导致不一致,则将其删除。这不应该伤害任何人。这是MS所说的那种数据丢失吗?

最好的问候,萨沙

0 投票
1 回答
27016 浏览

sql - SQL 标识 (1,1) 从 0 开始

我有一个带有标识集的 SQL 表:

这张表发生了一些事情,导致了奇怪的行为。我需要找出什么。

当插入发生时:

这是一个问题,因为此插入上方的代码期望第一个 ID 是1- 我无法弄清楚它如何IDENTITY(1,1)0.

如果(在执行之前INSERT)我检查它返回 null 的身份:

检查身份信息:当前身份值“NULL”,当前列值“NULL”。

我知道解决这个问题的几种方法;我首先需要知道桌子是如何进入这种状态的?

我知道CHECKIDENT返回 null 的唯一方法是如果表刚刚创建,但随后IDENTITY(1,1)被尊重并且INSERT原因SCOPE_IDENTITY()1.

0或者,如果我强制-1作为当前种子(DBCC CHECKIDENT (MyTable, RESEED, -1)或 with ),我可以获得下一个 ID,SET IDENTITY_INSERT MyTable ON但随后检查报告当前-1种子(而不是 null),所以这不可能是发生的事情。

数据库是如何进入该列的状态IDENTITY(1,1)DBCC CHECKIDENT (MyTable, NORESEED)返回 null,但下一个INSERT原因SCOPE_IDENTITY()0

0 投票
1 回答
1645 浏览

sql-server-2008 - DBCC SHOWCONTIG:行计数大小

使用 DBCC SHOWCONTIG 命令,我们可以得到行的最小、最大和平均大小。只是为了确保,测量单位是字节对吗?

0 投票
1 回答
1920 浏览

sql-server - 启用跟踪标志 1222 的含义是什么 - 将死锁信息写入日志?

是否有人监视启用此跟踪标志是否会特别增加任何 WAIT_TYPE 或在任何情况下产生任何性能问题?

对于这个问题,让我们考虑一下死锁并不多,只是偶尔。

0 投票
1 回答
4772 浏览

sql - DBCC CHECKIDENT 找不到表

我有一个表,它的 id 既是表的标识又是表的主键。当运行这个

有效,我看到了数据。当我运行以下命令时,我看到列表中的表格

但是当我运行这个时:

我明白了

有谁知道为什么?