MS SQL Server 2012
1. Отсоединил базу.
2. Перенес файл MDF на новое место. LDF не трогал.
3. ПКМ на дереве "Базы данных", "Присоединить", выбрал новое расположение файла MDF.
После этого база в списке появилась, помеченная серым, в режиме "Только для чтения". В свойствах базы на вкладке "Файлы" расположение группы "PRIMERY" - по старому пути.
тоже нужны опыт и прямые руки, начинающие по неопытности тут же накатывают выгрузку обратно на рабочую базу вместо копии, и хорошо, когда в нерабочее время.
Кстати, да. В интернете полно душераздирающих историй, когда Детач сработал нормально, а Атач не срабатывает из-за повреждений в базе. А их просто не заметили в свое время. Ибо DBCC CHECKDB забыли сделать перед операцией по переносу.
"деатач", копируй куда надо и потом "атачь".
Права конечно нужны соответствующие.
Это вопрос не форума 1С, На такие вопросы надо искать ответы в инете и они есть в темах про скуль.
А то вон бравые ребята на предлагали уже полную выгрузку делать :).
Базу на 50 гигов так переность прикольно.
(12) вы вкурсе что если остановить базу и скопировать файлы mdf и ldf, то фактически это у вас и есть бэкап. Для того чтобы востановить базу эти два файла и нужны.
Так что перед копированием файлов никаких бэкапов не надо. Скопируйте перенастройте если все заработало из предыдущего места удаляйте.
В MSSQL SMS
--1) создаем пустой файл на целевом диске в файловой группе переносимого файла new_file.mdf
--2) освобождаем (чистим) переносимый файл с опцией [EMPTYFILE] она запретит писать данные в очищенный файл
-- (в последующем его можно будет удалить)
-- , при этом занятые страницы файла будут перенесены во вновь созданный файл этой же файловой группы
-- выполнив команду ниже
DBCC SHRINKFILE (<логическое имя переносимого файла> , [EMPTYFILE])
--3) удаляем пустой файл
ALT ER DATABASE <имя базы данных> REMOVE FILE <логическое имя переносимого файла>
Таким же образом переносим файл журнала.
Эти операции можно выполнять не переводя базу в offline
Нужно группе SQL дать полные права в Безопасности на каталог, где присоединяемые базы.
Саму группу посмотреть в ЛКМ -> Безопасность каталога SQL-баз.
Например, в SQL 2008R2 это - NETWORK SERVICE.
У SQL Express это может быть "SQLServerMSSQLUser$HOSTNAME$SQLExpress" (только вместо HOSTNAME будет имя вашего сервера, вместо SQLExpress - или ничего, или имя вашего SQL-instance).