在MS SQL Sever中,可能有区分大小写的数据库名称。换句话说,有一种方法可以在同一个实例上创建2个数据库'创建数据库db1'和'创建数据库DB1'?
如果是,如何启用此功能? (我尝试自己做,并且不允许我创建第二次,但我不确定我是否错过了任何设置)
注意:我在SO上已经看到了关于这个问题的现有问题,但它们似乎是指数据库中的对象,而我指的是数据库名称本身。
(问题的原因不是以这种方式设置数据库,而是要知道这样的情况是否会发生,以便我可以包含在我的测试中)
答案 0 :(得分:0)
您可能能够通过将安装时的服务器排序规则设置为区分大小写,或使用区分大小写的排序规则将其更改为recreating the master
database来完成此操作。由于master数据库是用户级元数据的数据库,因此如果有任何内容会强制区分大小写的服务器对象名,那么master数据库就会这样做。
Latin1_General_CS_AS
,我必须在use
语句中或从链接服务器调用时正确拼写数据库名称。但是,附加到该服务器的数据库都不具有不区分大小写的排序规则。如果您当前的数据库不区分大小写,则可能使用不区分大小写的名称。我不知道。
我也从未尝试在该服务器上创建一个与现有数据库同名的数据库,除非使用不同的情况。我不知道是否允许它。
答案 1 :(得分:0)
是的,可以通过将归类属性调整为所需数据库的“ CS”来在同一实例中创建数据库。 Reference
默认情况下,MSQL Server不区分大小写;但是,可以创建区分大小写的SQL Server数据库,甚至可以使特定的表列区分大小写。确定数据库或数据库对象的方法是检查其“ COLLATION”属性并在结果中查找“ CI”或“ CS”。
CI =不区分大小写 CS =区分大小写