В одной из статей мы уже сталкивались с программой dictman, сейчас она нам снова пригодится. Так что если вы еще ничего про нее не слышали, для начала скачайте ее и разместите в каталоге «FkClnt1\exe».
Обязательно сделайте полную копию папки FkClnt1, чтобы в случае чего не пришлось переустанавливать СЭД.
- Создать пустую базу в MS SQL Server 2005
- Добавить пользователя dba с полными правами на эту базу и установить для него пароль sql (не знаю почему именно этот пользователь, но без этого почему-то не работает)
- Сделать алиас для БД на SQL сервере в ODBC (Панель управления—>Администрирование—>Источник данных ODBC, вкладка Cистемные DNS.)
- Открыть программу Dictman
- Открыть в диктмане базу алиас которой ссылается на MS SQL Server (Скорее всего попросит пароль: sql)
- Нажать правой кнопкой мыши на алиас этой базы и выбрать «создать системные таблицы»
- Кликнуть мышкой на «Базы данных». В правой части программы должны появится все алиасы. После чего просто зацепить мышкой алиас исходной базы и перетащить на алиас новой БД.
- На этом все, остается только ждать. Процедура не быстрая, так что можно спокойно пока заниматься другими насущными делами…
- Если после переноса БД на SQL, СЭД при запуске подвисает, то необходимо выполнить следующее:
- Через СЭД: Сервис -> Служебное -> Настройка системы прав -> Настройка прав -> Профили -> Выбираем нужный профиль -> Кнопка «Настройка параметров БД» -> значение «Максимальное количество сессий» выставляем в 100
- Через Dictman: структуры -> права пользователей -> профили, выбираем нужный, открываем, в строке MaxDBSessions и ставим значение — 100
Можно ли перенести СЭД на MS SQL 2008 ?
Перенести базу на 2008 сервер конечно можно, но никто не дает гарантий, что СЭД будет работать корректно. Вообще, из своего опыта скажу, что я копировал БД на 2008 SQL, даже запускал СЭД, но это был только эксперимент. Поэтому, как бы дальше все это работало, сказать не могу.
Сделала всё, как здесь написано, начиная с создания пустой базы, добавления пользователя (dba; sql), далее создала алиас (подключилась под пользователем dba) — не с первого раза, но получилось.
Перенесла базу с помощью Диктмана, в процессе не возникло ошибок.
вопрос: как узнать, что Клиент СЭД теперь цепляется к sql-евской базе, а не к старой (default)? нужно ли с ней что-то делать? — останавливать, удалять?
ps: у нас «Максимальное количество сессий» = 300.
Узнать очень просто, можно переименовать папку с локальной базой, и тогда старый алиас станет не рабочим и СЭД уже не сможет найти БД, поэтому подключаться надо через новый алиас, который должен ссылаться на БД на SQL-сервере.
P.S. Локальную базу лучше не удалять, пока не убедитесь, что все работает нормально! Ну и не забывайте делать бэкапы, удачи….
меня больше интересовал вопрос, как вообще СЭД должен узнать о новой БД и начать цепляться к ней? где это настраивается? ибо все инструкции заканчиваются на шаге настройки алиаса, и ничего не говорится о настройке параметров запуска для пользователя.
«Для этого следует зайти в \EXE и выполнить файл setlogin.exe. В открывшемся диалоге настроек входа в программу в параметре Default Database Name следует выбрать из списка алиас новой базы данных, после чего система по умолчанию будет подключаться к этой базе данных при старте.
В полях Database login и Database password следует указать логин и пароль для подключения к базе данных, указанной в параметре Default Database Name.
После введенных изменений следует сохранить файл конфигурации» — и после этого всё заработало.
спасибо)
Всё таки не стал СЭД работать с sql 2005, вроде всё загружается, без единой ошибки, но каждая операция занимала очень много времени, а точнее так и не отправилось ни одного документа у нас.
Решение — sql server 2000 Personal Edition, как и рекомендовалось изначально для СЭДа.
хм, странно, у нас работало все нормально! Сейчас перешли на СУФД. Про СЭД забыли!
Подскажите , при попытке переноса базы с Access на SQL — при копировании структур выходит ошибка :
«Ошибка при создании таблицы Имя_Таблицы
Out of memory»
Такая ситуация при переносе и на SQL2000 и на SQL2008.
Использовал dictman.exe версий 1.0.1.120 и 1.0.1.130 .
SQL2008 официально не поддерживается.
Отключите или настройте антивирус. Эта ошибка частенько встречается при совместном использовании СЭД и KIS. Возможно и с другим антивирусом с контролем программ.