Содержание

Перенос 1С SQL базы в другое место

Ссылка на источник: http://skalnyy.org.ua/nemnogo-ob-1s-i-ms-sql/

Предположим, есть SQL сервер с данными конфигурации 1С:Предприятие 7.7 и требуется физически перенести каталог с базой данных в другое место. Как это сделать?

Вариант 1

  1. создаем новую БД SQL по новому месторасположению файлов данных и журнала транзакций
  2. в конфигураторе выполняем выгрузку данных в файл
  3. опять же, в конфигураторе в свойствах подключения к SQL задаем новые параметры для подключения к БД (см. шаг 1)
  4. открываем конфигурацию, и меняем что-нибудь, например в поле «Комментарий» к конфигурации можно ввести что-нибудь, а затем стереть. Главное, чтобы появился признак модификации конфигурации. Сохраняем конфигурацию.
  5. в конфигураторе выполняем загрузку данных (см. шаг 2)
  6. не забываем в QueryAnalyzer сменить владельца новой БД через хранимую процедуру sp_changedbowner (т.е. задать пользователя БД, которого вы прпоисали в шаге 3).

Недостатки метода состоят в том, что он очень длительный и для медленных (читай, старых) серверов может выполняться очень долго (если просуммировать время выгрузки-загрузки).

Вариант 2

  1. Заходим в Enterprise Manager, выбираем необходимый сервер и базу данных. Вызываем контекстное меню (или меню Action главного меню) — Tools — All Tasks — Detach Database …:
  2. В появившемя окне: 1 — Connections using this database: показывает сколько сейчас подключено пользователей к базе SQL. Если значение 0 — никто не подкючен и можно спокойно отключить базу. Если же подключения есть — то перед тем как нажать кнопку OK, надо будет очистить подключения (отключить пользователей, в 1С в таких случаях 1С закрывается с сообщением о невосстановимой ошибке базы данных). Отключение пользователей производится нажатием на кнопку Clear (этот процес может длиться несколько минут).
  3. скопировать файлы базы SQL (mdf, ldf).
  4. сделать Atach Database для отключенной базы ранее. Заходим в Enterprise Manager, выбираем необходимый сервер и становимся на ветку дерева Databases. Вызываем контекстное меню (или меню Action главного меню) — Tools — All Tasks — Atach Database …: в появившемся окне в поле «MDF file of database to atach:» надо внести полный путь к файлу MDF базы данных (или выбрать этот файл нажав на кнопку выбора файла слева от этого поля).
  5. либо можно создать новую БД и сделать Atach Database для новой базы. Заходим в Enterprise Manager, выбираем необходимый сервер и становимся на ветку дерева Databases. Вызываем контекстное меню (или меню Action главного меню) — Tools — All Tasks — Atach Database …: в появившемся окне: 1 — выбираем место расположения скопированного файла MDF; 2 — задаем новое имя для базы данных (обязательно); 3 — при желании указываем кто будет владельцем (db_owner) базы данных (под каким логином будет 1С соединятся с базой данных SQL). В режиме Конфигуратора подключаемся к скопрированному каталогу БД. Входим в меню Администрирование — Параметры базы данных SQL и в появившемся окне в поле «База данных» необходимо внести новое имя базы данных, а при условии изменения владельца базы данных указать и имя нового владельца в поле «Пользователь»

Достоинства: требуется на порядок меньше времени по сравнению с первым вариантом.