Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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_Case Sensitive - Fatal编程技术网

Sql server SQL Server区分大小写的数据库名称

Sql server SQL Server区分大小写的数据库名称,sql-server,case-sensitive,Sql Server,Case Sensitive,在MS SQL Server中,可能有区分大小写的数据库名称。换句话说,有没有一种方法可以在同一个实例“createdatabasedb1”和“createdatabasedb1”上创建两个数据库 如果是,如何启用此功能?(我试着自己做,但它不允许我第二次创建,但我不确定我是否错过了任何设置) 注意:我已经看到了关于这方面存在的问题,但它们似乎指的是数据库中的对象,我指的是数据库名称本身 (问题的原因不是要以这种方式设置数据库,而是要知道是否会发生这种情况,以便我可以将其包括在测试中)您可以通过

在MS SQL Server中,可能有区分大小写的数据库名称。换句话说,有没有一种方法可以在同一个实例“createdatabasedb1”和“createdatabasedb1”上创建两个数据库

如果是,如何启用此功能?(我试着自己做,但它不允许我第二次创建,但我不确定我是否错过了任何设置)

注意:我已经看到了关于这方面存在的问题,但它们似乎指的是数据库中的对象,我指的是数据库名称本身

(问题的原因不是要以这种方式设置数据库,而是要知道是否会发生这种情况,以便我可以将其包括在测试中)

您可以通过将安装时的服务器排序规则设置为区分大小写,或者使用区分大小写的排序规则来更改它来实现这一点。由于主数据库是用户级元数据的数据库,因此,如果有任何东西可以强制使用区分大小写的服务器对象名称,那么主数据库将是合理的

然而,我不知道它有多僵硬。我有一台2k8R2服务器,服务器排序规则设置为
Latin1\u General\u CS\u AS
,我必须在
use
语句中或从链接服务器调用时正确拼写数据库名称。但是,连接到该服务器的所有数据库都没有不区分大小写的排序规则。如果当前数据库不区分大小写,则可以使用不区分大小写的名称。我不知道


我也从未尝试过在该服务器上创建与现有数据库同名的数据库,但大小写不同的除外。我不知道它是否允许。是的,您可以通过将排序规则属性调整为所需数据库的“CS”,在同一实例中创建数据库

默认情况下,MSQL服务器不区分大小写;但是,可以创建区分大小写的SQL Server数据库,甚至可以使特定的表列区分大小写。确定数据库或数据库对象的方法是检查其“COLLATION”属性并在结果中查找“CI”或“CS”

CI=不区分大小写
CS=区分大小写

检查此项,因为不知道100%,所以无法给出答案,但我怀疑您是否能做到这一点。我没有看到有人提到它,而且它会导致sql server中的许多问题(物理数据库文件、系统数据库中的排序规则等),需要非常小心地处理这些问题。在测试中我不会担心这种情况situation@AllanS.Hansen-不确定您从物理数据库文件中得到了什么。按照惯例,文件名与数据库名相似,但这只是惯例。@NoDisplayName:谢谢链接。引用该页的话:“当在具有区分大小写排序规则的数据库中时,每个对象都在相同的规则下运行”。。。我想知道的是数据库名称本身。它是否区分大小写或not@Damien_The_Unbeliever这就是为什么我说需要小心处理