2014-12-04 2 views
1

В MS SQL Sever возможно иметь регистровые имена базы данных. Таким образом, другими словами, существует ли способ создать 2 базы данных в одном экземпляре «создать базу данных db1» и «создать базу данных DB1»?Идентификатор базы данных с учетом регистра SQL Server

Если да, то как включить это? (Я попытался сделать это сам, и это не позволило мне создать второй раз, но я не уверен, что я пропустил какие-либо настройки)

Примечание: Я видел существующие вопросы по этому вопросу на SO, но они, кажется, ссылаются к объектам в базе данных, и я имею в виду само имя базы данных.

(Причина вопроса не настроить базы данных таким образом, но знать, если такой сценарий может случиться так, что я могу включить в моем тестировании)

+1

Проверьте это http://www.mssqltips.com/sqlservertip/2913/sql-server-case-sensitive-collations-and-dmvs/ –

+0

Не зная 100%, поэтому не можете дать ему ответ, но я сомневаюсь, что вы может это сделать. Я не видел, чтобы это упоминалось, плюс это вызовет проблемы со многими вещами в сервере sql (файлы физической базы данных, сопоставления в системных базах данных и т. Д.), Которые нужно будет обрабатывать очень осторожно. Это не было бы сценарием, о котором я бы беспокоился в тестовой ситуации. –

+0

@ AllanS.Hansen - не уверен, что вы получаете в re: файлы физической базы данных. По * соглашению * имена файлов похожи на имя базы данных, но это просто соглашение. –

ответ

0

Вы может быть в состоянии выполнить это задавая настройку сервера при установке с учетом регистра или изменяя его на recreating the master database с использованием сортировки с учетом регистра. Поскольку основная база данных представляет собой базу данных метаданных на уровне пользователя, разумно предположить, что если что-либо будет требовать имена объектов сервера, чувствительных к регистру, база данных master.

Я не знаю, насколько жестко это небрежно. У меня есть сервер 2k8R2 с настройкой сервера, установленный на Latin1_General_CS_AS, и я должен правильно указывать имена баз данных в операциях use или при вызове со связанных серверов. Однако ни одна из баз данных, подключенных к этому серверу, не учитывает регистр. Возможно, если ваша текущая БД нечувствительна к регистру, вы можете использовать нечувствительные к регистру имена. Я не знаю.

Я также никогда не пробовал создавать БД на этом сервере с тем же именем, что и существующая БД, за исключением другого случая. Я не знаю, допустит ли это.

Смежные вопросы