小编Ray*_*ond的帖子

批量数据加载和事务日志

我目前正在开发一个项目,该项目从平面文件 (csv) 中批量导入数据,大约 18 个不同的文件通过一些存储过程链接到特定的表。

我按照数据加载性能指南中的建议进行了操作。

数据库处于BulkLogged恢复模式以最小化日志记录,当在包含 600000 行的文件上执行以下存储过程时,我收到错误

消息 9002,级别 17,状态 4,过程 SP_Import__DeclarationClearanceHistory_FromCSV,第 34 行
数据库的事务日志已满。要找出无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列

(出于测试目的,我在开始导入之前进行了完整备份)。

看着log_reuse_wait_desc我看到以下内容:

log_reuse_wait_desc 检查点。所有其他导入成功导入。

欢迎任何解决此问题的意见。

PROCEDURE [dbo].[SP_Import_DeclarationClearanceHistory_FromCSV]
    @FilePath [nvarchar](1000)
AS
BEGIN
    -- Creating a Temproary Table for importing the data from csv file.
    DBCC TRACEON(610)

    CREATE TABLE #DeclarationClearanceHistory
    (
          [ItemID] [int] IDENTITY(1, 1) NOT NULL ,
          [CMSDeclarationID] [bigint] NOT NULL ,
          [StatusCode] [nvarchar](10) NOT NULL ,
          [SubStatus] [nvarchar](10) NULL ,
          [DepartmentCode] [nvarchar](10) …
Run Code Online (Sandbox Code Playgroud)

sql-server optimization bulk sql-server-2008-r2 import

7
推荐指数
1
解决办法
4330
查看次数