SQL Server 2012 复制数据库失败

irm*_*eza 10 sql-server sql-server-2012

我想在同一个 SqlServer 中制作数据库的副本。所以,当我使用复制数据库向导时,它会抛出错误:(我用测试数据库做了这个步骤,它工作正常!!!)

配置:

用户

方法:“使用 SQL 管理对象方法”

为目标数据库选择新名称。

错误:

标题:复制数据库向导

作业失败。有关详细信息,请检查目标服务器上的事件日志。

- - - - - - - - - - - - - - - 纽扣:

好的

在事件日志中:

  • 系统

    • 提供者

    [名称] SQLSERVERAGENT

    • 事件 ID 208

    [限定词] 16384 Level 3 Task 3 关键词 0x80000000000000

    • 时间创建

    [ SystemTime] 2014-05-07T06:23:11.000000000Z EventRecordID 123672 Channel Application Computer Server1 Security

  • 事件数据

    CDW_Server1_Server1_3 0x666DE807F406D7438C65B09171211D7B
    失败 2014-05-07 10:52:50 作业失败。作业由用户 sa 调用。运行的最后一步是步骤 1 (CDW_Server1_Server1_3_Step)。

日志文件的最后几行:

OnProgress,Server1,NT Service\SQLSERVERAGENT,Server1_Server1_Transfer Objects 任务,{066BD090-26F3-45D8-AD60-B207D56D44CE},{1CF7B713-F747-45FB-8936-5522651,E0C76A,580C70A /7/2014 10:08:46 AM,0,0x,1 个数据库的数据库传输失败。OnProgress,Server1,NT Service\SQLSERVERAGENT,Server1_Server1_Transfer Objects 任务,{066BD090-26F3-45D8-AD60-B207D56D44CE},{1CF7B713-F747-45FB-8936-5522651,E0C76A,580C70A /7/2014 10:08:46 AM,100,0x,传输对象执行完毕。OnTaskFailed,Server1,NT Service\SQLSERVERAGENT,Server1_Server1_Transfer Objects 任务,{066BD090-26F3-45D8-AD60-B207D56D44CE},{1CF7B713-F747-45FB-8936-55227652/100000000000000000:0000 /7/2014 10:08:46 AM,0,0x,(null) OnPostExecute,Server1,NT Service\SQLSERVERAGENT,Server1_Server1_Transfer Objects 任务,{066BD090-26F3-45D8-AD60-B207D56D44CE}、{1CF7B713-F747-45FB-8936-5522651E0C7A}、5/7/2014 10:08:46 AM、18:7100 0x,(null) OnWarning,Server1,NT Service\SQLSERVERAGENT,CDW_Server1_Server1_1,{45A6144C-8DDD-49A6-A6BA-AE81E24826D5},{1CF7B713-F747-45FB-8936-550400/1CF7B713-F747-45FB-8936-550276:55040A AM,5/7/2014 10:08:46 AM,-2147381246,0x,SSIS 警告代码 DTS_W_MAXIMUMERRORCOUNTREACHED。Execution 方法成功,但引发的错误数 (1) 达到了允许的最大值 (1);导致失败。当错误数量达到 MaximumErrorCount 中指定的数量时,就会发生这种情况。更改 MaximumErrorCount 或修复错误。{45A6144C-8DDD-49A6-A6BA-AE81E24826D5}、{1CF7B713-F747-45FB-8936-5522651E0C7A}、5/7/2014 10:08:46 AM、14:2407 AM、14:2400 ,0x,SSIS 警告代码 DTS_W_MAXIMUMERRORCOUNTREACHED。Execution 方法成功,但引发的错误数 (1) 达到了允许的最大值 (1);导致失败。当错误数量达到 MaximumErrorCount 中指定的数量时,就会发生这种情况。更改 MaximumErrorCount 或修复错误。{45A6144C-8DDD-49A6-A6BA-AE81E24826D5}、{1CF7B713-F747-45FB-8936-5522651E0C7A}、5/7/2014 10:08:46 AM、14:2407 AM、14:2400 ,0x,SSIS 警告代码 DTS_W_MAXIMUMERRORCOUNTREACHED。Execution 方法成功,但引发的错误数 (1) 达到了允许的最大值 (1);导致失败。当错误数量达到 MaximumErrorCount 中指定的数量时,就会发生这种情况。更改 MaximumErrorCount 或修复错误。

OnPostExecute,Server1,NT Service\SQLSERVERAGENT,CDW_Server1_Server1_1,{45A6144C-8DDD-49A6-A6BA-AE81E24826D5},{1CF7B713-F747-45FB-8936-5522651E0C760:580C70 /2014 10:08:46 AM,0,0x,(null) DiagnosticEx,Server1,NT Service\SQLSERVERAGENT,CDW_Server1_Server1_1,{45A6144C-8DDD-49A6-A6BA-AE81E24826D5},{1CF7B713-65C5C5C50 ,5/7/2014 10:08:46 AM,5/7/2014 10:08:46 AM,0,0x,104546304 PackageEnd,Server1,NT Service\SQLSERVERAGENT,CDW_Server1_Server1_1,{45A6144C-8DDD-6BA-49A AE81E24826D5},{1CF7B713-F747-45FB-8936-5522651E0C7A},5/7/2014 10:08:46 AM,5/7/2014 10:08:46 AM,1,0x,包执行结束

Rea*_*ces 7

简单地将数据库备份到 .bak,然后从 .bak 还原创建新数据库可能更容易。

BACKUP DATABASE [aaa] TO DISK = N'E:\aaa.bak'
Run Code Online (Sandbox Code Playgroud)

然后检查 .bak 中当前文件的逻辑名称和位置:

Restore filelistonly from disk ='E:\aaa.bak'
Run Code Online (Sandbox Code Playgroud)

最后恢复数据库,重命名文件以确保您不会覆盖现有数据库

restore database Newdatabasename
FROM disk = 'E:\aaa.bak'
WITH replace,
MOVE 'Logical data name' TO 'E:\Newdatabasename.MDF',
MOVE 'Logical log name' TO 'E:\Newdatabasename.LDF',
recovery --force
Run Code Online (Sandbox Code Playgroud)