我决定使用 2008 年的内置维护计划来执行简单的重建索引任务,而不是使用我的旧学校索引重建脚本。
详情如下:
当我手动运行 T-SQL 时,一切正常,但我认为它没有使索引保持在线。每当我运行这项工作时,我都会遇到这个非常奇怪的错误,但并没有让我走到任何地方:
执行查询“ALTER INDEX [Agreement_PK] ON [dbo].[Agreement] RE...”失败,出现以下错误:“字符串或二进制数据将被截断。语句已终止。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接建立不正确。
USE [<dbase>]
GO
ALTER INDEX [Agreement_PK] ON [dbo].[Agreement] REBUILD PARTITION = ALL WITH ( FILLFACTOR = 30, PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, ONLINE = ON, SORT_IN_TEMPDB = OFF )
GO
USE [<dbase>]
GO
ALTER INDEX [IX_Agreement_1] ON [dbo].[Agreement] REBUILD PARTITION = ALL WITH ( …
Run Code Online (Sandbox Code Playgroud) 好的,所以我们在集群环境中的多个节点上有多个实例。其中之一是 JD Edwards 的东西,最近遇到了一个工作失败的问题,因为 tempdb 中没有空间来完成它。这项工作的代码多年来没有改变,但我意识到数据大小可能已经改变。
无论如何,在将 tempdb 设置为一些不会破坏该驱动器的 Autogrowth 后,我开始深入研究此安装。似乎有一些预定的作业正在从简单到完整来回切换恢复模式,并且出于某种原因应该在这些作业周围进行备份。我相信这是导致 T-Logs 备份在某些时候失败的原因,因此没有足够的空间让 tempdb 本身完成这些长期存在的 JDE 作业。
所以问题:
TIA