Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 为SQL Server实例和数据库选择哪种排序规则?_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

Sql server 为SQL Server实例和数据库选择哪种排序规则?

Sql server 为SQL Server实例和数据库选择哪种排序规则?,sql-server,sql-server-2008-r2,Sql Server,Sql Server 2008 R2,我正在开发一个基于数据库SQL Server 2008 R2的Windows应用程序。 该应用程序目前出售给比利时的公司,这些公司使用四种语言:英语、法语、荷兰语和德语。不久,该应用程序将被销售到欧洲的其他国家,随后将在美国销售 以下是我问自己的问题: 对于SQL server实例(按国家/地区列出): 选择哪种语言 我们是否应该在区分大小写和数据库的其他方面做出同样的选择 必须有二进制排序规则吗 对临时处理的影响(tempdb) 对于数据库 选择哪种语言 是否应考虑Windows客户端

我正在开发一个基于数据库SQL Server 2008 R2的Windows应用程序。 该应用程序目前出售给比利时的公司,这些公司使用四种语言:英语、法语、荷兰语和德语。不久,该应用程序将被销售到欧洲的其他国家,随后将在美国销售

以下是我问自己的问题:

  • 对于SQL server实例(按国家/地区列出):

    • 选择哪种语言
    • 我们是否应该在区分大小写和数据库的其他方面做出同样的选择
    • 必须有二进制排序规则吗
    • 对临时处理的影响(tempdb)
  • 对于数据库

    • 选择哪种语言
    • 是否应考虑Windows客户端应用程序使用的区域设置
  • 用于开发环境和配方

    • 如何通过管理所有国家/地区来开发和测试应用程序

感谢您的帮助。

在SQL中使用外语或多种语言时,我建议将排序规则设置为CI_AI_SI,以防止与字符/字符串字段相关的任何特殊字符问题(即连接、强制转换等)。因此,该语言也应该是Unicode。考虑到您可能遇到的各种场景,这是一个包罗万象的场景


我还建议用nvarchar而不是标准的varchar进行编程。是的,数据大小是原来的两倍,但这应该有助于减轻存储过程中可能出现的奇怪转换。

我的小贴士。当您可能在未知的sql server上部署时……我总是使用区分大小写的排序规则进行开发。为什么?我用艰苦的方式学习。早在7.0时代,我的公司就试图在公司的sql server上部署我们的数据库,他们希望区分大小写。到处都是垃圾。我们中的一些人在接下来的4天(Th、F、Sa、Su)中修复了许多区分大小写的存储过程。不知道他们为什么如此热衷于案件敏感性。几年后,当我为db编写create脚本并将排序规则设置为区分大小写时,一些jr开发人员仍在犹豫。+1@granadaCoder:始终在CS上开发。许多商业工具在CS服务器上失败了这个简单的羞耻和错误测试,因为他们的开发人员在CI服务器上工作……这个问题已经被问到了。不幸的是,简短的回答是“视情况而定”,因此您可以做的最好的事情是研究选项并进行一些快速测试,以查看哪些选项适合您的应用程序设计。我的两分钱将仅用于Unicode数据(即
nchar
nvarchar
),并使用CI_AI排序,因为重音和大小写通常很重要。但是,由于您可以在列级别和查询中对此进行控制,因此,对于特定数据,始终可能存在例外情况。此建议的问题是,“特殊字符”(无论其含义如何)和大小写非常重要。如果我搜索西班牙语单词“mas”,我也不想得到“más”的点击率,因为这意味着不同的东西。非常正确。我没有考虑到这一点。我很高兴根据您的上述评论,我们达成了一致。谢谢你的接球!