客户端排序规则和 SQL Server 2005
Posted
技术标签:
【中文标题】客户端排序规则和 SQL Server 2005【英文标题】:Client collation and SQL Server 2005 【发布时间】:2010-09-05 06:43:43 【问题描述】:我们正在将现有程序从Win2k/SQL Server 2k
升级到Windows 2003 and SQL Server 2005
,并购买一个同样使用2k3/2k5
的新程序。供应商说,为了让我们同时托管这两个数据库,我们需要获取 Enterprise 版本,因为软件客户端对连接使用不同的排序规则,并且只有 Enterprise 支持。
我在 MS 的网站上找不到任何支持这一点的东西,老实说,如果标准版有效,我不想为 Enterprise 支付额外费用。我是否遗漏了一些未提及的 SQL Server 功能,或者我怀疑这是一个试图向我追加销售的供应商?
【问题讨论】:
【参考方案1】:SQL Server 2000/2005/2008
的所有版本都支持拥有多个数据库,每个数据库都使用自己的排序规则。您不需要企业版。
当您的数据库使用不同于数据库服务器的默认排序规则的排序规则序列时,如果您使用临时表和/或表变量,则需要采取一些额外的预防措施。临时表/变量位于 tempdb 数据库中,该数据库使用主数据库使用的排序规则。请记住在临时表/变量中定义字符字段时使用“COLLATE database_default
”。不久前我blogged about that,如果您想了解更多详情。
【讨论】:
这是我的想法,但我只是想确定一下,因为我不怎么处理 SQL Server。对我来说,对多个数据库如此脾气暴躁并没有多大意义。以上是关于客户端排序规则和 SQL Server 2005的主要内容,如果未能解决你的问题,请参考以下文章
varchar() 和 nvarchar() 之间奇怪的 SQL Server 2005 排序规则差异