【发布时间】:2010-11-16 07:01:31
【问题描述】:
我的主要问题是如何将具有英语排序规则的整个数据库复制到具有希腊排序规则的数据库中?源数据库包含所有表和相关数据。我有一个干净的希腊排序数据库。我想将所有内容从源复制到目标。
我在一篇知识库文章中找到了一个solution,包括以下步骤:
- 为源数据库中的所有对象(不包括索引、触发器、主键、外键、默认设置和约束)生成脚本。此处,
Script collation设置设置为False,因此创建的脚本没有collate关键字。 - 在目标数据库上运行步骤 1 中的脚本以使用目标数据库排序规则创建对象。
- 使用 DTS 从源数据库传输数据。这就是我现在卡住的地方。
我使用 SQL Server 2005 的 Export Data... 向导将数据从源数据库导出到目标数据库。我的数据库中有大约 1500 个表,所以我在向导步骤中勾选了Optimize of many tables 复选框。除此之外,所有的设置都是默认的。
我在执行导出时收到了error (text-file containing the report)。
(来源:googlepages.com)
为了继续前进,要么我需要解决这个错误,要么需要一种新的方法来使用不同的排序规则从源数据库复制到目标数据库。
编辑 1
我忘了提到我已经尝试过使用 SQL 比较。很长时间以来,我一直在使用该工具。但在这种情况下它不会有一点帮助。我在源数据库中有带有Latin1_General_CS_AS 排序规则的表,但我不想使用该排序规则创建表。我知道Ignore Collation 有一个选项。但是,列名还有另一个问题——一些列名很奇怪,SQL Compare 在格式化列名时引入了额外的[ 或] 字符,这会破坏整个同步脚本!
【问题讨论】:
标签: sql-server-2005 ssis collation