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).
Присоединенная база данных доступна только для чтения
Щелкните правой кнопкой мыши файл или папку базы данных (mdf / ldf) и выберите «Свойства».
Выберите вкладку «Безопасность» и нажмите кнопку «Изменить».
Нажмите кнопку «Добавить».
Введите имя объекта, которое нужно выбрать, как «NT SERVICE \ MSSQLSERVER», и нажмите кнопку «Проверить имена».
Выберите MSSQLSERVER (RDN) и дважды нажмите кнопку «ОК».
Предоставьте этой служебной учетной записи «Полный доступ» к файлу или папке.
Вернувшись в SSMS, щелкните базу данных правой кнопкой мыши и выберите «Свойства».
В разделе «Параметры» прокрутите вниз до раздела «Состояние» и измените «База данных только для чтения» с «Истина» на «Ложь».