怎样在存储过程中写这样的语句?

解决方案 »

  1.   

    用bcp或者BULK INSERT, 并且将数据库恢复模型设置为非"完全"的模式, 则可以只产生很小的日志, 但日志还是会有的.
      

  2.   

    有日志记录和最小日志记录的大容量复制操作
    使用完整恢复模式时,所有由 bcp 执行的行插入操作都记录在事务日志中。如果数据量较大,会造成事物日志迅速写满。为了防止事务日志耗尽空间,当符合以下全部条件时,可以执行最小日志记录的大容量复制: 恢复模式是简单模式或大容量日志记录模式。
    没有正在复制目标表。
    目标表没有任何触发器。
    目标表具有 0 行或没有索引。
    指定了 TABLOCK 提示。有关更多信息,请参见控制锁定行为。 
    任何不满足上述条件的到 Microsoft® SQL Server™ 实例的大容量复制都将记入日志。在进行大容量复制操作前,如果在通常情况下使用完整恢复模式,则建议将恢复模式设置为大容量日志记录模式。这样可以防止大容量复制操作过多使用日志空间而可能写满日志。然而,即使使用大容量日志恢复模式,也将使用一些事务日志空间。可能需要在大容量复制操作期间创建事务日志备份以释放事务日志空间。当要将大量的行大容量复制到带有索引的表中时,可以通过删除所有索引,执行大容量复制,然后再重新创建索引来提高速度。有关更多信息,请参见优化大容量复制性能。 说明  尽管在执行最小日志记录的大容量复制操作时,数据插入操作没有记录在事务日志中,但 SQL Server 仍会在每次为表分配新的扩展盘区时记录扩展盘区的分配。