如何使用生产数据库中的数据刷新培训数据库?

时间:2008-09-17 05:24:01

标签: sql-server ssis

我在网络上有一个特定的系统,我们需要维护培训安装。系统使用SQL Server 2000作为其数据库引擎,我需要建立一个系统,用于定期使用生产数据库中的数据刷新训练数据库中的数据。

我想使用SSIS,因为我们有SQL 2005服务器,我可以运行该进程。我有相当多的SQL经验,但SSIS并不多。我一直试图用“传输数据库任务”来做这件事,但是运气不好,因为它总是会引发错误。

如果我们忽略配置项等的使用并假装所有数据库名称等都是硬编码的,我有以下内容: 单个SSIS“传输数据库任务”,具有以下属性:

  • 目标覆盖:True
  • 动作:复制
  • 方法:DatabaseOnline

我收到的错误是:

  

错误:任务上的Execute方法返回错误代码0x80131500(错误:errorCode = -1073548784 description =执行查询“EXEC dbo.sp_addrole @rolename = N'XXXXX”失败,出现以下错误:“角色' XXXXX'已存在于当前数据库中。“。可能的失败原因:查询问题,”ResultSet“属性设置不正确,参数设置不正确或连接未正确建立.helveFile = helpContext = 0 idofInterfaceWithError = {8BDFE893-E9D8 -4D23-9739-DA807BCDC2AC})。 Execute方法必须成功,并使用“out”参数指示结果。

我确信这里有一些显而易见的事情,但是如果任务设置为覆盖角色的预先存在应该无关紧要吗?有谁知道我需要做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:2)

显然,这应该在SQLServer 2005 SP2 see here中修复。看起来如果从Visual Studio中运行SSIS包,也需要确保修补客户端计算机。