在SQL服务器(2000或2005)中,才能够将数据库或服务器排序规则,使得标识符名称(表,列等)需要在正确的情况下?如果是这样,所有的区分大小写的排序规则的真实或者是一个单独的设置? (我一直认为的情况下灵敏度适用于数据,而不是物体的名称)。

据推测,如果存储的特效和查询不相一致的情况下写的,这将打破应用程序?有没有办法来处理这个,而不必以确保所有的查询使用正确的情况下,如设置数据库连接的整理?

我但从具有可能该不一致套管SQL代码在它现有的应用程序的点看这一点,我想能够运行它针对与不同的排序规则数据库。我需要什么设置,或者什么组数据库/服务器的排序规则可能我不使用的应用程序?

有帮助吗?

解决方案

在排序规则是什么决定,如果你的查询将不区分大小写。因此,要确保你的模式将开始处理多种环境的唯一途径是让你的查询是区分大小写。如果查询不一致,那么你的排序规则必须情况下不区分大小写,否则它将无法工作。

http://msdn.microsoft.com/ EN-US /库/ aa174903(SQL.80)的.aspx

有一点需要注意的是,一旦你设置你的SQL Server环境具有一定的排序规则,你不能没有创建一个新的SQL Server实例上更改它。因此,不区分大小写的,通常是要走的路。然后努力在你查询的一致性。

在核对设定它适用于数据和元数据,我相信。

其他提示

整理设置在早期版本的SQL Server,但在2005年及以后,你可以通过对象,将其更改为他们创建的。

在数据库默认排序规则确定是否在数据库中的对象中的查询的情况下,敏感的方式处理 - 这适用于所有对象名:表,列,等

如果您的应用程序代码来自一个不区分大小写的排序规则的数据库,也可以不区分大小写的排序规则的数据库上,如果一个对象被misreferenced运行(当你试图运行该语句或创建存储过程,你会得到一个消息,或在存储进程内的建筑,你会赶上这一切很快,除非你有动态SQL的显著量)。

请记住,即使你的代码运行时,各列可以与从数据库中不同的排序规则设置,所以它总是可能有不同的排序规则,你的代码将表现异常(例如,GROUP BY行为有所不同)。

可以为每个对象设置的归类,并设置为数据库和服务器默认为好。

如何处理呢?这里需要强制执行的标准。您可以轻松地让自己纠结了不同的人用不同的情况下写的。

核对也适用于数据,以便“鲍勃”!=“鲍勃”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top