Перенос БД СЭД с Access (client.mdb) на MS SQL Server 2005

Автор: | 25.02.2012

В одной из статей мы уже сталкивались с программой dictman, сейчас она нам снова пригодится. Так что если вы еще ничего про нее не слышали, для начала скачайте ее и разместите в каталоге «FkClnt1\exe».

Обязательно сделайте полную копию папки FkClnt1, чтобы в случае чего не пришлось переустанавливать СЭД.

  1. Создать пустую базу в MS SQL Server 2005
  2. Добавить пользователя dba с полными правами на эту базу и установить для него пароль sql (не знаю почему именно этот пользователь, но без этого почему-то не работает)
  3. Сделать алиас для БД на SQL сервере в ODBC (Панель управления—>Администрирование—>Источник данных ODBC, вкладка Cистемные DNS.)
  4. Открыть программу Dictman
  5. Открыть в диктмане базу алиас которой ссылается на MS SQL Server (Скорее всего попросит пароль: sql)
  6. Нажать правой кнопкой мыши на алиас этой базы и выбрать «создать системные таблицы»
  7. Кликнуть мышкой на «Базы данных». В правой части программы должны появится все алиасы. После чего просто зацепить мышкой алиас исходной базы и перетащить на алиас новой БД. dictman - программа для работы с БД СЭДа
  8. На этом все, остается только ждать. Процедура не быстрая, так что можно спокойно пока заниматься другими насущными делами…
  9. Если после переноса БД на SQL, СЭД при запуске подвисает, то необходимо выполнить следующее:
    • Через СЭД: Сервис -> Служебное -> Настройка системы прав -> Настройка прав -> Профили -> Выбираем нужный профиль -> Кнопка «Настройка параметров БД» -> значение «Максимальное количество сессий» выставляем в 100
    • Через Dictman: структуры -> права пользователей -> профили, выбираем нужный, открываем, в строке MaxDBSessions и ставим значение — 100

Перенос БД СЭД с Access (client.mdb) на MS SQL Server 2005: 9 комментариев

    1. Сергей Автор записи

      Перенести базу на 2008 сервер конечно можно, но никто не дает гарантий, что СЭД будет работать корректно. Вообще, из своего опыта скажу, что я копировал БД на 2008 SQL, даже запускал СЭД, но это был только эксперимент. Поэтому, как бы дальше все это работало, сказать не могу.

  1. полина

    Сделала всё, как здесь написано, начиная с создания пустой базы, добавления пользователя (dba; sql), далее создала алиас (подключилась под пользователем dba) — не с первого раза, но получилось.
    Перенесла базу с помощью Диктмана, в процессе не возникло ошибок.
    вопрос: как узнать, что Клиент СЭД теперь цепляется к sql-евской базе, а не к старой (default)? нужно ли с ней что-то делать? — останавливать, удалять?

    ps: у нас «Максимальное количество сессий» = 300.

    1. Сергей Автор записи

      Узнать очень просто, можно переименовать папку с локальной базой, и тогда старый алиас станет не рабочим и СЭД уже не сможет найти БД, поэтому подключаться надо через новый алиас, который должен ссылаться на БД на SQL-сервере.
      P.S. Локальную базу лучше не удалять, пока не убедитесь, что все работает нормально! Ну и не забывайте делать бэкапы, удачи….

      1. полина

        меня больше интересовал вопрос, как вообще СЭД должен узнать о новой БД и начать цепляться к ней? где это настраивается? ибо все инструкции заканчиваются на шаге настройки алиаса, и ничего не говорится о настройке параметров запуска для пользователя.
        «Для этого следует зайти в \EXE и выполнить файл setlogin.exe. В открывшемся диалоге настроек входа в программу в параметре Default Database Name следует выбрать из списка алиас новой базы данных, после чего система по умолчанию будет подключаться к этой базе данных при старте.
        В полях Database login и Database password следует указать логин и пароль для подключения к базе данных, указанной в параметре Default Database Name.
        После введенных изменений следует сохранить файл конфигурации»
        — и после этого всё заработало.
        спасибо)

  2. полина

    Всё таки не стал СЭД работать с sql 2005, вроде всё загружается, без единой ошибки, но каждая операция занимала очень много времени, а точнее так и не отправилось ни одного документа у нас.
    Решение — sql server 2000 Personal Edition, как и рекомендовалось изначально для СЭДа.

    1. Сергей Автор записи

      хм, странно, у нас работало все нормально! Сейчас перешли на СУФД. Про СЭД забыли!

  3. Иван

    Подскажите , при попытке переноса базы с Access на SQL — при копировании структур выходит ошибка :

    «Ошибка при создании таблицы Имя_Таблицы
    Out of memory»

    Такая ситуация при переносе и на SQL2000 и на SQL2008.

    Использовал dictman.exe версий 1.0.1.120 и 1.0.1.130 .

    1. Сергей Автор записи

      SQL2008 официально не поддерживается.
      Отключите или настройте антивирус. Эта ошибка частенько встречается при совместном использовании СЭД и KIS. Возможно и с другим антивирусом с контролем программ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *