Мне нужно программно (T-SQL) восстановить резервную копию базы данных в SQL Server 2008. Эта резервная копия поступает с другого сервера, и исходное имя базы данных может быть и другим. (Фактически, я копирую базу данных с некоторого сервера в новую базу данных на другом сервере.)
По-видимому, я должен использовать RESTORE DATABASE ... WITH MOVE
, который работает, но мне нужно знать, где должны быть восстановлены файлы и как их следует назвать. Несмотря на поиск, я не нашел то, что казалось бы самой основной задачей: просто используйте путь по умолчанию и имена файлов, т.е. Делайте то, что делает SQL Server при выпуске CREATE DATABASE
- вам не нужно указывать путь для этой команды, так почему это необходимо для RESTORE
?
Неужели я забыл какое-то тривиальное решение, или мне действительно нужно будет перечислить файлы, как-нибудь найти каталог базы данных из конфигурации SQL Server и использовать эту информацию для создания команды RESTORE
? Спасибо.
(Сравнивая с PostgreSQL, где при использовании pg_restore вы указываете уже созданную базу данных назначения, а когда вы ее создавали, у вас была опция - не обязательно - указать нестандартное табличное пространство, но если вы не сделали этого, t, вам все равно, где файлы физически сохранены.)