Какие символы допустимы в имени базы данных SQL Server?

Мы собираемся предоставить нашим клиентам инструмент, который (среди прочего) создает новую базу данных SQL Server, и я хочу иметь возможность выполнять базовую проверку имени базы данных, которое они предоставляют. В документации SQL Server объясняется, какие символы допустимы в имени базы данных. Однако документация явно неверна, потому что я могу успешно создавать базы данных, имена которых нарушают задокументированные правила.

Согласно SQL Server ' s документация для CREATE DATABASE , имена баз данных должны соответствовать правилам для идентификаторов; а правила для идентификаторов зависят от уровня совместимости базы данных. Когда уровень совместимости равен 100 (что, согласно SQL Server Management Studio, означает «SQL Server 2008»), имя должно начинаться с буквы Юникода, _ , @ или # ; за которыми следуют одна или несколько букв, цифр, @ , $ , # или _ . В документации четко указано, что встроенные пробелы или специальные символы не допускаются.

Это противоречит имеющимся свидетельствам, поскольку я могу использовать SQL Server Management Studio для создания базы данных с именем This & That | "Другой" фактическое поведение?

49
задан Joe White 16 November 2010 в 14:09
поделиться