数据库收缩任务失败

Álv*_*lez 0 sql-server ssms sql-server-2016

一周前我制定了一个维护计划,并且每晚都执行得很好。现在数据库收缩任务已停止工作并抛出此错误:

属性大小不可用于数据库“[foo]”。此对象可能不存在此属性,或者可能由于访问权限不足而无法检索。

昨天我安装了几个由 Windows 更新提供的 SQL Server 修补程序(4411 和 4457,如果有的话)。这是我可能做出的唯一改变。

我的任务是这样的:

  • 连接:本地服务器连接(sa)
  • 数据库: 所有数据库 所有用户数据库
  • 当数据库增长超过时收缩数据库:50 MB
  • 收缩后剩余的可用空间量 (10%)
  • 将释放的空间返回给操作系统

我的一些发现:

  • 如果我生成 T-SQL 代码并手动执行它,它将完美运行。
  • 如果我创建一个具有相同数据库收缩任务的新维护计划,它将完美运行。

问题是什么?

Yar*_*lav 5

正如 Shanky 已经评论过的那样,运行预定的收缩是错误的。网上有很多关于它的信息。找到这种增长的根本原因并解决它。我会立即摆脱它。

至于错误,似乎与数据库所有权有关。如果您使用错误文本进行搜索,您会在此处此处以及更多内容中找到几个相关问题。

作为建议,我建议改用Ola Hallengren 维护解决方案来执行 DBCC、索引维护、备份等管理任务。