Мы собираемся предоставить нашим клиентам инструмент, который (среди прочего) создает новую базу данных SQL Server, и я хочу иметь возможность выполнять базовую проверку имени базы данных, которое они предоставляют. В документации SQL Server объясняется, какие символы допустимы в имени базы данных. Однако документация явно неверна, потому что я могу успешно создавать базы данных, имена которых нарушают задокументированные правила.
Согласно SQL Server ' s документация для CREATE DATABASE , имена баз данных должны соответствовать правилам для идентификаторов; а правила для идентификаторов зависят от уровня совместимости базы данных. Когда уровень совместимости равен 100 (что, согласно SQL Server Management Studio, означает «SQL Server 2008»), имя должно начинаться с буквы Юникода, _
, @
или #
; за которыми следуют одна или несколько букв, цифр, @
, $
, #
или _
. В документации четко указано, что встроенные пробелы или специальные символы не допускаются.
Это противоречит имеющимся свидетельствам, поскольку я могу использовать SQL Server Management Studio для создания базы данных с именем This & That | "Другой" фактическое поведение?