代码之家  ›  专栏  ›  技术社区  ›  Kirtan

创建重复的数据库-不同的排序规则

  •  0
  • Kirtan  · 技术社区  · 17 年前

    我的主要问题是如何将一个完整的数据库复制到一个希腊数据库?源数据库包含所有表和相关数据。我有一个干净的希腊语排序数据库。我想复印 一切 从源到目标。

    solution 我在一篇知识库文章中发现,它包括以下步骤:

    • 为源数据库中的所有对象(不包括索引、触发器、主键、外键、默认设置和约束)生成脚本。这里, Script collation 设置被设置为 False ,因此创建了脚本 没有 这个 collate 关键字。
    • 在目标数据库上运行步骤1中的脚本,以使用目标数据库排序规则创建对象。
    • 使用dts从源数据库传输数据。这就是我现在被困的地方。

    我用过 Export Data... 用于将数据从源数据库导出到目标数据库的SQL Server 2005向导。我的数据库中有大约1500个表,所以我勾选了 Optimize of many tables 向导步骤中的复选框。除此之外,所有设置都是默认设置。

    我得到了一个 error (text-file containing the report) 执行导出时。

    SSIS Error http://kirtangor.googlepages.com/ssis-error.jpg

    为了继续前进,我需要一个解决这个错误的方法,或者一种使用不同排序规则从源数据库复制到目标数据库的新方法。

    编辑1

    我忘记提到我已经尝试使用SQL比较。我用那个工具已经很久了。但在这种情况下,这不会有什么帮助。我有桌子和 Latin1_General_CS_AS 源数据库中的排序规则,但我不想用该排序规则创建表。我知道有一个选择 Ignore Collation .但是,列名还有另一个问题——有些列名很奇怪,SQL比较引入了额外的 [ ] 设置列名格式时使用的字符,这会破坏整个同步脚本!

    1 回复  |  直到 17 年前
        1
  •  1
  •   Webmonger    17 年前

    过去我用过的数据库的排序规则 Red Gate SQL比较。他们让你下载一个试用版的软件,我认为这是完全正常的。

    按照下面的步骤操作,您应该立即启动并运行新数据库。

    1. 载入 SQL Compare
    2. 输入 古老的 上的数据库服务器、用户名、密码和数据库名称 左边
    3. 输入 新的 上的数据库服务器、用户名、密码和数据库名称 正确的
    4. 单击“立即比较”
    5. 在比较窗口中,检查要移到新数据库的所有内容。
    6. 单击“同步向导…”,这将引导您完成3或4个步骤,确保移到新数据库时使用了正确的方法以及可能遗漏的任何依赖项。
    7. 在第四个屏幕上,您将看到一个同步按钮。如果您对所有选择都满意,请单击它,这将把数据库模式移到新数据库中。

    现在,您已经在新数据库中创建了数据模式,需要在中重复该过程。 SQL Data Compare 您应该会发现这一点非常直接,因为流程和屏幕与上面的步骤几乎相同。

    希望这有帮助。

    推荐文章