4

如果您在 SQL Azure 中构建一个新数据库,您会使用哪种排序规则?

SQL_Latin_General_CP1_AS_AI or Latin_General_AS_AI?

我问的原因是 SQL Azure 上的默认排序规则SQL_Latin_General_CP1_AS_AI如下所述:

https://azure.microsoft.com/en-gb/documentation/articles/sql-database-general-limitations/

如果您查看有关排序规则的 MSDN 文章,它指出,

SQL Server 支持 Windows 排序规则。SQL Server 还支持有限数量 (<80) 的归类,称为 SQL Server 归类,这些归类是在 SQL Server 支持 Windows 归类之前开发的。SQL Server 排序规则仍受支持以实现向后兼容性,但不应用于新的开发工作。有关 Windows 排序规则的详细信息,请参阅 Windows 排序规则名称 (Transact-SQL)。

取自:https ://msdn.microsoft.com/en-GB/library/ms180175.aspx

这表明不建议对新数据库开发使用 SQL 排序规则支持,但这与 SQL Azure 排序规则默认为 SQL_Latin 的事实相冲突。

欣赏人们对此的看法。

谢谢。

4

1 回答 1

1

对我来说,答案取决于您计划在数据库上托管的内容。如果有问题的应用程序需要 SQL 排序规则,那么您显然别无选择,如果不需要,那么您就可以走了。

我不相信存在矛盾,文档指出:

SQL Server 还支持有限数量 (<80) 的归类,称为 SQL Server 归类,这些归类是在 SQL Server 支持 Windows 归类之前开发的。SQL Server 排序规则仍受支持以实现向后兼容性,但不应用于新的开发工作。

这里的关键部分是“仍然支持向后兼容”。许多基于服务器的应用程序需要 SQL 排序规则,并且正在更新以消除该要求。

总而言之:这完全取决于您正在部署的应用程序。如果您不需要 SQL 排序规则,则不要使用它,因为文档表明这只是为了向后兼容。

于 2016-04-06T15:37:32.803 回答