【问题标题】:Large SQL Server 2000 database [closed]大型 SQL Server 2000 数据库 [关闭]
【发布时间】:2012-01-08 16:06:18
【问题描述】:

我有一个大型 SQL Server 数据库(1 TB)并且我没有更多空间,我应该首先使用什么来尝试减小数据库的大小?删除表需要时间,收缩也需要时间?是否有可以在后台运行的程序来帮助减小数据库大小?

【问题讨论】:

  • 嗯。所有操作都需要时间。
  • 如果你能描述最好的场景,我应该从什么开始?我应该先收缩数据,重新索引表...?

标签: sql-server database sql-server-2000


【解决方案1】:

不,您可以运行的任何进程都不会花费时间来减小大小 - 如果有的话,我想 SQL 团队会自动将其部署到位。

如果删除记录,通常只能减小数据库大小。之后,您必须缩小数据库。

我发现一种耗时较少的方法是截断或删除表,但显然这并不总是可行的!

【讨论】:

    【解决方案2】:

    在不花任何时间的情况下减小大小的唯一方法是DROP DATABASE ...。除此之外,这是一个非常广泛的问题。

    我认为最好的方法是先备份数据,然后开始删除可能不需要的旧数据。

    我想说你的主要问题不是你需要缩小数据库,而是你需要制定维护和增长计划,如果你只是压缩你现在拥有的数据,你最终会再次陷入同样的​​境地未来。重新索引也不会真正帮助这种情况。

    我会尝试花一些时间并正确执行此操作,您希望(如果可能)备份和导出旧数据,在不再需要时将其从数据库中删除,或者如果这不可能增加您的大小数据库,因为它似乎已经超越了您最初的设计。

    还可以建立一个系统,让您或其他人监控数据库及其大小,它不应该出现您说数据库已满并且您必须快速实施解决方案的情况。

    【讨论】:

    • 谢谢,我有 3 个大表,我可以截断或删除它们?哪个更好?删除记录需要时间
    • 截断会更容易,因为您不必删除并重新创建表/键等。只需确保先备份数据。
    猜你喜欢
    • 2013-08-19
    • 2019-12-27
    • 2010-12-17
    • 1970-01-01
    • 2011-05-14
    • 2010-10-11
    • 2015-08-27
    • 1970-01-01
    • 2012-08-21
    相关资源
    最近更新 更多