sql-server - SQL Server : How do I increase the size of the transaction log?

标签 sql-server tsql transaction-log

如何增加事务日志的大小?是否也可以临时增加事务日志?

假设我有以下场景。我有一个对于当前事务日志来说太大的删除操作。我想要:

  • 增加事务日志(我可以检测当前大小吗?我能告诉我操作需要多大的事务日志吗?)
  • (执行我的操作)
  • 备份事务日志
  • 恢复事务日志的大小。
  • 最佳答案

    简短的回答:

  • SQL 2k5/2k8 How to: Increase the Size of a Database (SQL Server Management Studio) (也适用于日志),How to: Shrink a Database (SQL Server Management Studio)
  • SQL 2K How to increase the size of a database (Enterprise Manager) , How to shrink a database (Enterprise Manager)

  • 长答案:您可以使用 ALTER DATABASE ... MODIFY FILE更改数据库文件的大小,包括 LOG 文件。您可以查询master_files/sysfiles (2k) 或 <dbname>.sys.database_files (2k5/2k8) 获取日志的逻辑名称。您可以使用 DBCC SHRINKFILE 缩小文件(如果可能)。

    can I tell how large I need the transaction log to be for my operation?



    这取决于很多因素(这是新数据吗?它是更新吗?它是删除吗?什么恢复模型?您是否对 SQL 2k8 进行了压缩?等等)但通常比您预期的要大。我估计是您即将执行的更新大小的 2.5 倍。

    更新:

    错过了你说的是DELETE。粗略估计是删除数据大小(包括所有索引)的 1.5 倍。

    关于sql-server - SQL Server : How do I increase the size of the transaction log?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1011311/

    相关文章:

    php - 在生产环境中记录 SQL 查询?

    sql - 在 SQL 中,如何将位掩码总计中的值拆分为逗号分隔的字符串

    ios - 未知转义序列 '\x20'

    python - Django Sql Server 配置不正确 - settings.DATABASES

    SQL 更新错误。 FK 冲突

    c# - 使用LIKE运算符:适用于SQL Server,但不适用于SQLite

    sql - 通过分组累积先前的行

    sql-server - Sql Server 事务日志读取器

    sql-server - 无需事务日志即可恢复 SQL Server 数据库

    sql - MSSQL - 选择在两列中找到的不同产品