问题标签 [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 回答
970 浏览

tsql - 是否可以从 Azure SQL DB 的缓存中删除单个执行计划?

结论

你不能。微软在这篇名为“了解 SQL Azure 上的过程缓存”的文章中明确指出:“您不能从缓存中手动删除执行计划” 。

原始问题

在 SQL Server 上,可以使用[DBCC FREEPROCCACHE(plan_handle varbinary(64))][1]. 有不同[documentation about DBCC FREEPROCCACHE on SQL Azure][2]。似乎它从所有计算节点和/或控制节点中删除了所有缓存的执行计划(无论这些节点可能是什么,我不知道)。我不明白为什么SQL在 Azure 上的服务器版本会在这方面有所不同。

但是,我正在寻找一种从Azure. 有什么方法可以删除单个执行计划Azure吗?也许使用查询而不是DBCC

0 投票
1 回答
1099 浏览

sql-server - Sql-DBCC 收缩数据库不减少数据库大小

我正在使用具有 10 GB 大小限制的 SQL Server Express 版本,有些表有数百万行以上,我需要在每个月底执行数据清除操作,以释放空间并使其可用于新的数据存储

如果我通过 SSMS 使用收缩(右键单击数据库然后任务然后收缩)它工作顺利并按预期释放空间。但是当我尝试用

它实际上没有任何效果,实际上它增加了日志文件的大小但从不释放空间。有什么解决方案,它将非常适用

提前致谢

0 投票
1 回答
632 浏览

sql-server - DBCC SHRINKFILE with emptyfile generate filegroup is full 错误

我一直在使用带有 EMPTYFILE 的 DBCC SHRINKFILE 将数据从一个辅助数据文件数据移动到另一个。文件组中当前有四个文件,这些文件之间有超过 1TB 的可用空间。

奇怪的是,我已经让系统提醒我这些文件所属的文件组已满,并且无法为表(用户)表分配空间。

我以前用过很多次,从来没有发生过这种情况,而且一些谷歌搜索似乎找不到人们报告的任何其他事件。有人有什么想法吗?

SQL Server 的版本是 2008R2

0 投票
0 回答
286 浏览

sql - 找出是什么使 DBCC CHECKDB 使数据库脱机

长期以来,我们一直在我们的数据库上使用 DBCC CHECKDB。但是从过去的 4-5 天开始,它使我们的数据库离线。

我们的数据库大小为 80GB。tempdb 所在的驱动器,有 50GB 的可用空间。

我们有它在线,它最近在数据库检查发生时停止工作。

任何人都可以指导我如何找出脱机 dbcc 检查的真正原因。

0 投票
1 回答
143 浏览

ssis - DBCC 命令在 SSIS 中执行 SQL 任务中重新设置表的标识

我有一种情况,每天都会加载一个事实表。

有两个 SSIS 包加载此表。

1) Package1_FullLoad.dtsx - 每周日运行,完全刷新

2) Package2_DailyLoad.dtsx - 除周日外,全天运行,仅删除和加载过去 14 天的数据。

现在,完整加载包 (Package1_FullLoad.dtsx) 有一个执行 SQL 任务,截断事实表中的所有行。

然后数据流从头开始加载事实表。

在这种情况下,事实表的标识值从 1 开始并以 1 递增,这很好,没有问题。

但是,对于每日加载包(Package2_DailyLoad.dtsx),在 DELETE 语句(仅删除过去 14 天的数据)之后,在 Execute SQL Task 中,我设置了以下代码:

DBCC CHECKIDENT('dbo.FactTable', RESEED,1) DBCC CHECKIDENT('dbo.FactTable', RESEED)

然后我运行数据流来加载数据,它只插入与过去 14 天对应的数据。

假设满载后事实表有10行(以为例更好地说明情况),今天删除3行,今天要插入5行(插入和删除由今天的每日加载包完成),新的标识值必须从 8 开始,到 12 结束。相反,我看到新的标识值从 11 开始,到 15 结束。

我在 SSIS 执行 SQL 任务中看不到此 DBCC 代码有任何影响。

此 DBCC 代码在数据库端的 SSMS 中运行良好。

关于如何解决这个问题的任何想法?

0 投票
1 回答
350 浏览

sql-server - T-SQL 如何从缓存中获取比 SPID 执行的最后一个查询更多的查询(DBCC INPUTBUFFER,sys.sysprocesses)

我有这种情况:

当我运行 (DBCC INPUTBUFFER, sys.sysprocesses) 时,我只执行了最后一个查询:

我需要从该会话中获取所有查询(在本例中为 spid 100),而不仅仅是最后一个。有没有办法做到这一点?

我正在寻找一种使用 TSQL 执行此操作的方法,获取跟踪 sql-server Profiler 不是一个选项。

谢谢!

0 投票
1 回答
421 浏览

sql-server - DBCC SHRINKFILE 会杀死活动事务吗?

我创建了一个作业,每天将数 GB 的数据从源数据库加载到我的目标数据库。一开始,这项工作运行良好,没有任何问题。

在过去 2 周内,由于事务日志已满,作业失败。

我在我的 SQl 作业中添加了一个步骤,以在加载开始之前清除日志,但仍然发生相同的错误。

我已经监视到在错误之前加载的最后一个表在失败之前等待了几分钟。我怀疑它正在等待清理日志。

如果我DBCC SHRINKFILE在作业当前运行时在此数据库上运行命令,它是否也会清除/杀死活动事务?

0 投票
0 回答
67 浏览

sql-server - 如何从 SQL Server DBCC LOG 事务中获取日期时间戳?

我正在使用 SQL Server 2008 'DBCC LOG(database, 4)' 查看相关事务的视图,但看不到与它们关联的 DateTime 标记。知道如何检索特定事务的时间戳吗?

0 投票
1 回答
706 浏览

sql-server - 无法在主数据库上运行 DBCC CHECKDB - Azure 文件

在新的 Azure 文件共享上存储 SQL Server 数据库文件。无法针对这些数据库运行完整/全面的 CHECKDB - 我认为这与无权创建快照的用户帐户有关。结果,我将这些检查卸载到了另一个服务器,我也可以在该服务器上测试 .baks。一切正常,除了主数据库,当您将其还原为用户数据库并针对它运行 CHECKDB(https://www.itprotoday.com/my-master-database-really-corrupt)时,它会注册损坏,即使它是不腐败。

问题:

1) 是否有人在 Azure 文件共享上存储的 SQL db 文件上运行 CHECKDB 时遇到同样的问题?有解决方法吗?

2) 如果我不能在 PROD 中运行 CHECKDB,那么在 master 上运行 CHECKDB 的替代方法是什么?我可以以某种方式将 master 恢复到另一个 SQL 实例并在那里检查吗?

在 PROD 中执行 DBCC CHECKDB (master) 时出错:

消息 5030,级别 16,状态 12,第 4 行 无法以独占方式锁定数据库以执行操作。消息 7926,级别 16,状态 1,第 4 行检查语句中止。无法检查数据库,因为无法创建数据库快照并且无法锁定数据库或表。请参阅联机丛书以了解有关何时会出现此行为以及存在哪些变通方法的详细信息。另请参阅以前的错误以获取更多详细信息。

当我在 PROD 中的用户 db 上运行 DBCC CHECKDB 时的消息:

DBCC CHECKDB 不会检查 SQL Server 目录或 Service Broker 的一致性,因为无法创建数据库快照或指定了 WITH TABLOCK。

0 投票
1 回答
220 浏览

sql-server - DBCC 命令是存储过程还是函数?

应该DBCC调用什么命令?DBCC 程序还是 DBCC 函数?

这是令人困惑的,因为DBCC PAGE可以在没有EXEC像存储过程一样的语句前缀的情况下执行。但是EXEC DBCC PAGE(1,1,1,3)会抛出错误

语法错误 - 消息 156 关键字“DBCC”附近的语法不正确

它不是一个函数,因为函数调用必须在 in 中进行SELECT,但是

显示相同的错误。