К статье
Практический материал

Администрирование · 9 мин

Как перенести базу 1С SQL на другой диск

Подробная инструкция по переносу базы 1С на SQL Server на другой диск: отсоединение и присоединение БД, бэкап-восстановление, настройка прав и проверка результата.

Перенос базы 1С, работающей на Microsoft SQL Server, на другой диск — типовая задача администратора. Причины обычно три: заканчивается место на системном разделе, базу переносят на более быстрый SSD-массив или выделяют отдельный том под данные и журнал транзакций. Сама 1С при этом «не знает», где физически лежат файлы: она подключается к SQL Server по имени сервера и имени базы, поэтому вся работа выполняется средствами СУБД.

Существует два рабочих способа переноса: отсоединение и повторное присоединение базы (detach/attach) и резервное копирование с последующим восстановлением в новое расположение (backup/restore). Оба безопасны при соблюдении порядка действий, но различаются по времени простоя и удобству. Ниже разобраны оба варианта, а также настройка прав доступа и проверка результата.

Перед началом убедитесь, что у вас есть права администратора на SQL Server (роль sysadmin или достаточные права на уровне базы), доступ к файловой системе сервера и свежее резервное копирование. Все операции выполняются в нерабочее время — пользователи 1С должны завершить сеансы.

Подготовка: что проверить перед переносом

Сначала определите, где сейчас лежат файлы базы. Откройте SQL Server Management Studio (SSMS), подключитесь к серверу, найдите нужную базу, откройте её свойства и перейдите на вкладку «Файлы». Там указаны полные пути к файлу данных (MDF), дополнительным файлам (NDF, если есть) и файлу журнала транзакций (LDF), а также их текущие размеры.

Убедитесь, что на целевом диске достаточно свободного места с запасом: файлы базы со временем растут, а журнал транзакций в модели восстановления Full может раздуваться быстро. Рекомендуется иметь свободный объём минимум в 1,5–2 раза больше текущего размера базы. Также проверьте, что целевой диск — это надёжное хранилище (RAID-массив или SSD с резервированием), а не съёмный носитель.

Завершите все сеансы пользователей в 1С. Это можно сделать через консоль кластера серверов 1С или попросив пользователей выйти. Активные соединения помешают отсоединить базу или выполнить восстановление. Дополнительно остановите фоновые задания и регламентные операции, которые могут обращаться к базе.

Способ 1: отсоединение и присоединение базы (detach/attach)

Это самый быстрый способ, если база одна и переносится в пределах одного сервера. В SSMS щёлкните по базе правой кнопкой, выберите «Задачи» → «Отсоединить». В окне отсоединения установите флажки «Удалить соединения» и «Обновить статистику», затем подтвердите операцию. База исчезнет из списка, но её файлы останутся на диске.

Далее скопируйте (именно скопируйте, а не переместите — так безопаснее) файлы MDF, NDF и LDF в новую папку на целевом диске, например D:\SQLData\. После завершения копирования в SSMS щёлкните правой кнопкой по узлу «Базы данных», выберите «Присоединить», добавьте файл MDF из нового расположения — остальные файлы подтянутся автоматически, при необходимости поправьте пути в таблице вручную. Проверьте, что имя базы в поле «Присоединить как» совпадает с исходным.

Порядок действий при detach/attach
  1. 1
    Сделайте полную резервную копию базы средствами SQL Server
  2. 2
    Завершите сеансы пользователей 1С и остановите обращения к базе
  3. 3
    Отсоедините базу в SSMS с удалением активных соединений
  4. 4
    Скопируйте файлы MDF/NDF/LDF в новую папку на целевом диске
  5. 5
    Присоедините базу из нового расположения с сохранением имени
  6. 6
    Настройте права учётной записи службы SQL Server на новую папку
  7. 7
    Проверьте подключение из 1С и состояние базы

Способ 2: резервное копирование и восстановление (backup/restore)

Этот способ предпочтителен, если нужно минимизировать риски: исходная база остаётся нетронутой до самого конца. Сначала выполните полное резервное копирование: правой кнопкой по базе → «Задачи» → «Создать резервную копию», укажите файл назначения на диске с достаточным местом. Дождитесь завершения и проверьте, что файл копии создан и имеет осмысленный размер.

Затем восстановите базу из копии под тем же именем, но с новыми путями к файлам. Если база с таким именем ещё существует, сначала отсоедините или переименуйте её. В мастере восстановления на вкладке «Файлы» укажите новые пути для каждого логического файла — именно здесь задаётся новое расположение. Удобнее делать это через T-SQL с параметром MOVE, где явно видны все пути.

sql
RESTORE DATABASE [MyBase1C] FROM DISK = N'D:\Backup\MyBase1C.bak' WITH MOVE 'MyBase1C_Data' TO 'E:\SQLData\MyBase1C.mdf', MOVE 'MyBase1C_Log' TO 'E:\SQLLog\MyBase1C.ldf', REPLACE;

Имена логических файлов в команде MOVE должны совпадать с реальными — их можно посмотреть командой RESTORE FILELISTONLY FROM DISK = '...' или в свойствах исходной базы. Ошибка в логическом имени — самая частая причина сбоя восстановления.

Настройка прав доступа на новую папку

После переноса файлов частая проблема — ошибка доступа (Access denied, ошибка 5) при присоединении или восстановлении. SQL Server работает под своей учётной записью службы, и именно ей нужны права на папку с файлами базы, а не администратору и не пользователю, запустившему SSMS.

Узнайте, под какой учётной записью работает служба SQL Server: откройте «Службы» (services.msc), найдите службу SQL Server (MSSQLSERVER или именованный экземпляр) и посмотрите столбец «Вход от имени». Обычно это виртуальная учётная запись вида NT SERVICE\MSSQLSERVER или выделенная доменная учётка. Предоставьте этой учётной записи полный доступ к новой папке через свойства папки → «Безопасность».

Проверка результата и настройка 1С

Если имя сервера и имя базы не изменились, в 1С ничего настраивать не нужно: информационная база в консоли кластера или в списке баз файлового запуска ссылается на сервер и имя БД, а не на пути к файлам. Просто запустите 1С и войдите в базу под учётной записью администратора.

Проверьте состояние базы на стороне SQL Server: в SSMS база должна быть в статусе Online, без пометок «Recovery Pending» или «Suspect». Выполните проверку целостности командой DBCC CHECKDB — для больших баз это займёт время, поэтому запускайте в нерабочие часы. Также убедитесь, что регламентные задания SQL Server (резервное копирование, обслуживание индексов) указывают на актуальные пути.

Контрольные точки

Как проверить результат

Статус базы в SSMS
Норма

Online, без дополнительных пометок

Тревожный признак

Suspect, Recovery Pending или Offline

Пути к файлам в свойствах базы
Норма

Файлы расположены на новом диске

Тревожный признак

Часть файлов осталась на старом томе

Вход в 1С
Норма

База открывается, документы и отчёты доступны

Тревожный признак

Ошибка соединения с СУБД или пустые данные

DBCC CHECKDB
Норма

Ошибок не обнаружено

Тревожный признак

Сообщения о нарушениях целостности

Типичные ошибки и ограничения

Наиболее частые ошибки при переносе связаны не с самой операцией, а с окружением: нехваткой прав, занятыми соединениями и забытыми задачами обслуживания. Ниже — то, что чаще всего идёт не так.

Типичные ошибки
01
Перенос файлов работающей базы простым копированием в проводнике — файлы заблокированы, копия получается повреждённой
02
Забытые права для учётной записи службы SQL Server — база не присоединяется или уходит в read-only
03
Изменение имени базы при восстановлении — 1С перестаёт находить базу, приходится править настройки подключения
04
Старые планы обслуживания и задания бэкапа, указывающие на прежние пути — резервные копии перестают создаваться незаметно для администратора
05
Удаление исходных файлов до проверки работоспособности — при сбое откатиться не к чему

Учитывайте ограничения: нельзя присоединить базу к серверу более старой версии SQL Server, чем та, на которой она работала. Если перенос совмещён с переездом на другой сервер, дополнительно потребуется перенести логины и настроить сопоставление пользователей базы. Также помните, что сжатие диска NTFS и размещение файлов базы на сетевых папках без специальной настройки SQL Server не поддерживаются штатно.

Файлы данных и журнал транзакций разумно размещать на разных физических дисках, если позволяет оборудование: это снижает конкуренцию за дисковые операции. Но главный приоритет — надёжность хранилища и регулярные резервные копии, а не экзотическая схема размещения.
ПЗ
Практическое замечание

Частые вопросы

Нужно ли что-то менять в настройках 1С после переноса базы на другой диск?

Нет, если сохранились имя сервера SQL и имя базы данных. 1С обращается к СУБД по этим параметрам и не знает о физическом расположении файлов. Менять настройки потребуется только при переезде на другой сервер или переименовании базы.

Можно ли перенести базу простым копированием файлов MDF и LDF без отсоединения?

Нет. Пока база подключена к SQL Server, файлы заблокированы и постоянно изменяются — скопированная версия будет повреждённой и не присоединится. Сначала базу нужно отсоединить или перевести в автономный режим, либо использовать резервное копирование.

Что делать, если при присоединении возникает ошибка доступа (error 5)?

Проверьте, что учётная запись службы SQL Server имеет полные права на новую папку и сами файлы. Также снимите атрибут «Только чтение» с файлов, если он появился при копировании. Права администратора Windows здесь не помогают — важны именно права учётной записи службы.

Какой способ выбрать для большой базы в несколько сотен гигабайт?

Обычно быстрее detach/attach, так как копирование файлов между дисками идёт на полной скорости дисковой подсистемы, тогда как backup/restore добавляет этапы сжатия и восстановления. Однако backup/restore безопаснее: исходная база остаётся рабочей до последнего момента, что снижает риск при сбоях.

Когда можно удалять старые файлы базы с прежнего диска?

Только после того, как база успешно работает с нового расположения несколько дней и создана свежая резервная копия. До этого момента старые файлы — ваша страховка для быстрого отката: достаточно отсоединить новую копию и присоединить старую обратно.

Итог

Что важно запомнить

Перенос базы 1С SQL на другой диск выполняется средствами SQL Server через detach/attach или backup/restore, без изменений в самой 1С. Обязательные условия безопасности: свежая резервная копия, завершённые сеансы пользователей, права учётной записи службы SQL Server на новую папку и проверка целостности базы после переноса. Старые файлы удаляйте только после подтверждения стабильной работы.