Как переименовать базу данных MSSQL с именем «База данных»?
У меня есть база данных MSSQL с именем «База данных». Теперь, когда я пытаюсь переименовать его, используя запрос, показанный ниже,
USE master; GO ALTER DATABASE Database Modify Name = Database01 GO
Это дает мне сообщение об ошибке:
Msg 102, Level 15, State 1, Line 1 Неверный синтаксис рядом с «Database».
Но этот запрос отлично подходит для другой базы данных. Что я делаю неправильно?
Если вы «укажете» имя таблицы, она должна работать. Символами кавычки по умолчанию являются квадратные скобки [], поэтому:
USE master; GO ALTER DATABASE [Database] Modify Name = Database01 GO
Вместо использования длинного кода вы можете просто использовать встроенную sp_renamedb'oldDBName','NewDBName'
процедуру sp_renamedb'oldDBName','NewDBName'
– sp_renamedb'oldDBName','NewDBName'
когда вам нужно использовать зарезервированные ключевые слова для имени таблицы, имени базы данных, имени столбца всегда положить [] (большие скобки)
такие как
select * from [Table]
вместо select * from table
select [column] from [table]
вместо select column from table
но его очень плохая идея поставить зарезервированное ключевое слово как имя для ваших объектов.