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

标签 sql-server case-sensitive

在 MS SQL Sever 中,可以有区分大小写的数据库名称。所以换句话说,有没有办法在同一个实例“create database db1”和“create database DB1”上创建 2 个数据库?

如果是,如何启用它? (我自己试了一下,第二次创建还是不行,不知道是不是漏了什么设置)

注意:我在 SO 上看到了关于此的现有问题,但它们似乎指的是数据库中的对象,而我指的是数据库名称本身。

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

最佳答案

可以通过在安装时将服务器排序规则设置为区分大小写,或通过 recreating the master database 更改它来完成此操作使用区分大小写的排序规则。由于 master 数据库是用户级元数据的数据库,因此如果有任何东西会强制执行区分大小写的服务器对象名称,那么 master 数据库就会这样做。

不过,我不知道它的刚性如何。我有一个服务器排序规则设置为 Latin1_General_CS_AS 的 2k8R2 服务器,我必须在 use 语句中或从链接服务器调用时正确拼写数据库名称。但是,连接到该服务器的数据库都没有不区分大小写的排序规则。如果您当前的数据库不区分大小写,则可能是您可以使用不区分大小写的名称。我不知道。

我也从未尝试在该服务器上创建与现有数据库同名的数据库,但大小写不同。我不知道它是否允许。

关于sql-server - SQL Server 区分大小写的数据库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27287262/

相关文章:

c# - SET IDENTITY_INSERT [表] ON 不起作用

sql-server - sql server 排序规则是否意味着列名必须大小写正确?以及如何处理这个问题

variables - .emacs 中区分大小写的 setq 没有效果

mysql - 存储在表中的数据是否区分大小写?

GitHub:如何对存储库中的代码进行区分大小写的搜索?

php - PHP 和 MySQL 的大小写敏感问题

c# - 任务并行库和外部 SQL Server

sql-server - Tableau - 公用表表达式 (CTE) SQL Server

sql - 如何强制执行 "ALL-TO-ALL"关系?

c# - 模拟成功但数据库连接失败