我正在寻找一种使用SQL命令禁用SQL Server范围内所有dbs的所有文件自动增长的方法。
我发现我可以从ALTER DATABASE ... FILEGROWTH = 0中使用MSFT文档,但这意味着我将失去这些文件的自动增长值,并且在重新启用它时无法将其还原为原始值(我需要在重新启用它时指定一个值)。
如果从UI执行此操作,则有一个禁用按钮可以保留数据。是否有任何方法可以使用SQL命令进行同样的操作,即在不丢失数据的情况下禁用autoGrowth?
发布于 2023-01-03 10:03:12
您可以从sys.master_文件 (增长和is_percent_growth列)捕获增长设置,并将其存储在某个表中。这将允许您构造回滚脚本。
但这是一个不寻常的要求。通常,您将禁用自动增长以将DB扩展到新卷--创建新文件并禁用旧文件上的自动增长。我想不出一个很好的理由来禁用自动增长服务器。如果文件需要增长,并且未启用自动增长,则查询将失败。手动增长文件是一种很好的做法--但仍然值得保留自动增长功能。
https://dba.stackexchange.com/questions/321652
复制相似问题