具有不同排序规则的数据库可以在一台服务器上相处吗?
Can databases with different collations get along on one server?
所以我目前有两台 SQL 服务器,都是 2012 年的,而且都是 运行ning 独立系统。
这些服务器中的一个 运行 排序 latin1_general_bin 和其他 运行 排序 latin1_general_ci_as
,理想情况下我想关闭其中一个关闭服务器并将所有系统移动到一个地方。
我知道这在技术上是可以做到的,但我想知道这是否是个好主意?我以后会给自己带来更多问题吗?
这两个数据库都是基于事务的并且由外部各方定义,因此不能更改它们的排序规则。如果我要这样做,将服务器排序规则设置为 latin1_general_bin
或 latin1_general_ci_as
会更好吗?我认为区分大小写的选项会更好,因为查询仍然 运行 针对不区分大小写的数据库,同时需要仔细管理不区分大小写的查询
在一台服务器上使用具有不同排序规则的数据库应该没有问题。我们的外部供应商之一还提供了一个具有不同排序规则的数据库,并且自 SQL Server 2000 以来一直没有问题。但是,您必须明确指定排序规则(或者在需要时使用 collation database_default
加入来自不同数据库的 tables。根据我自己的经验,这会对性能产生相当大的影响。在创建新的 table 时使用 SELECT INTO
时也需要小心,因为这可以导致数据库中的混合排序规则或 table.
是的,SQL 服务器将排序规则与数据库整齐地分开。但是有一个很大的缺陷,导致我们的一位客户严重问题:
如果您没有明确指定排序规则,temp table (CREATE TABLE #Tbl ...
) 将使用服务器的默认排序规则。
在我们的一个项目中,特别是使用 SQL Server 2000 创建的相当老的存储过程,大量使用临时 tables 来存储中间结果。
客户 运行 犯了疯狂的错误,花了很多时间才找到它。他不想更改他的服务器(由于那里有其他数据库 运行)。所以我们把数据库改成了他的排序规则。在此之后,我们的一些升级脚本不再 运行...它以所有数据库更改为相同的排序规则并安装另一个 SQL 服务器实例而告终。
哪种排序规则最适合您?我不知道...这取决于您的需求。您是否经常处理变音符号(查看“_as”),您是否希望 "test" 等于 "TeSt"(查看“_ci”)
所以我目前有两台 SQL 服务器,都是 2012 年的,而且都是 运行ning 独立系统。
这些服务器中的一个 运行 排序 latin1_general_bin 和其他 运行 排序 latin1_general_ci_as
,理想情况下我想关闭其中一个关闭服务器并将所有系统移动到一个地方。
我知道这在技术上是可以做到的,但我想知道这是否是个好主意?我以后会给自己带来更多问题吗?
这两个数据库都是基于事务的并且由外部各方定义,因此不能更改它们的排序规则。如果我要这样做,将服务器排序规则设置为 latin1_general_bin
或 latin1_general_ci_as
会更好吗?我认为区分大小写的选项会更好,因为查询仍然 运行 针对不区分大小写的数据库,同时需要仔细管理不区分大小写的查询
在一台服务器上使用具有不同排序规则的数据库应该没有问题。我们的外部供应商之一还提供了一个具有不同排序规则的数据库,并且自 SQL Server 2000 以来一直没有问题。但是,您必须明确指定排序规则(或者在需要时使用 collation database_default
加入来自不同数据库的 tables。根据我自己的经验,这会对性能产生相当大的影响。在创建新的 table 时使用 SELECT INTO
时也需要小心,因为这可以导致数据库中的混合排序规则或 table.
是的,SQL 服务器将排序规则与数据库整齐地分开。但是有一个很大的缺陷,导致我们的一位客户严重问题:
如果您没有明确指定排序规则,temp table (CREATE TABLE #Tbl ...
) 将使用服务器的默认排序规则。
在我们的一个项目中,特别是使用 SQL Server 2000 创建的相当老的存储过程,大量使用临时 tables 来存储中间结果。
客户 运行 犯了疯狂的错误,花了很多时间才找到它。他不想更改他的服务器(由于那里有其他数据库 运行)。所以我们把数据库改成了他的排序规则。在此之后,我们的一些升级脚本不再 运行...它以所有数据库更改为相同的排序规则并安装另一个 SQL 服务器实例而告终。
哪种排序规则最适合您?我不知道...这取决于您的需求。您是否经常处理变音符号(查看“_as”),您是否希望 "test" 等于 "TeSt"(查看“_ci”)