【问题标题】:SQL Server 2008: moving of data between environmentsSQL Server 2008:环境之间的数据移动
【发布时间】:2011-08-23 15:30:31
【问题描述】:

我有一个计算产品价格的应用程序。数据库中有几个表格,其中包含计算价格的公式和其他逻辑。这些计算数据因每种产品而异。我有 3 个环境:生产、发布和开发。我需要一个在它们之间复制数据的功能。

例如:管理员指定复制日期并选择应复制的产品。与该产品相关的所有定价数据都必须在特定日期自动复制到所需的环境中。

您能给我一个建议吗?执行此任务的最佳方法是什么?它应该是基于服务器的逻辑和调度程序吗?或者可能是 Sql Server 作业和链接服务器查询?如何组织交易?等等。

我使用 SQL Server 2008。

【问题讨论】:

    标签: .net sql-server sql-server-2008


    【解决方案1】:

    有多种方法可以做到这一点:

    1. 一个 SSIS 包 - 您将创建一个可以连接到两个服务器并检查运行日期的包,然后手动移动它。

    2. 您可以创建一个 sql server 作业,并使用链接服务器查询从一台服务器中进行选择并插入到另一台服务器中。

    3. 您甚至可以创建一个 asp.net 服务来执行此操作(这是最麻烦的)。

    在这三种情况中的任何一种情况下,您都可以在整个任务中应用事务。恕我直言,选项 #2 是最不痛苦的......

    编辑:

    所以,如果您从未创建过 SSIS 包,这是一个很好的起点:http://www.codeproject.com/KB/database/CreateFirstSSISPackage.aspx

    这是安排作业的方式: http://www.codeproject.com/KB/aspnet/Schedule_Run_SSIS_DTS.aspx

    还有很多关于它的书籍......

    【讨论】:

    • 也许我需要在数据迁移期间在环境之间复制图像。图像是文件系统中的文件。在这种情况下我应该使用 SSIS 包吗?也许它是更灵活的解决方案?
    • 是的,那么 SSIS 是最好的解决方案 - 您可以在一项工作中完成所有任务(文件和数据库)。
    • 谢谢。问题是我没有任何创建 SSIS 包的经验。所以,我还有一些问题要问您:是否可以在指定时间自动运行 SSIS 包?是否可以将设置(例如连接字符串到数据库、凭据、文件系统文件夹等)存储在包之外,并在执行之前将它们从外部应用程序传递给它,或者将它们存储在 SSIS 包从中收集这些设置的用户友好文件中?你能给我一些网址,我可以在其中阅读所需的信息来执行我的任务吗?
    • 是的,你可以做到所有这些。您可以加密密码等。连接也存储在其中......然后您可以发布要安排为 sql server 作业的包。 Ess 我对资源答案的编辑...
    【解决方案2】:

    您也可以使用 SSMS Import and Export Wizard

    How to: Run the SQL Server Import and Export Wizard

    【讨论】:

    • 据我了解,“SSMS 导入导出向导”只是创建 SSIS 包的工具之一,不是吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    相关资源
    最近更新 更多