вторник, 8 сентября 2009 г.

1С 7.7 + x64 + Win 2008 + SQL 2005

Поднимаем 1С Предприятие 7.7 на платформе x64, Win 2008 + SQL 2005.

Задача:
Мигрировать 1С Предприятие 7.7 с dbf версии на SQL(да не простой, а 64-ех битный, да к тому же 2005). Попутно лицензировать операционную систему и ПО, закупить новый сервер, настроить виртуальную частную сеть и сервер терминалов. 1С Предприятие должно работать как в терминальном режиме на сервере, так и по локальной сети с рабочих станций Windows XP/Vista.

Подойдет так же для случаев миграции с платформы Win 2000/2003 x86 и SQL 2000 на 2008 х64.

Оборудование: платформа Intel из серии рабочих станций, 2xCore 2 Quad 2.3GHz 4MB, 8GB RAM, 4*SATA 250GB, 1*SATA 500GB.

Версия операционной системы была выбрана Windows 2008 Standard Server x64 RU по ряду причин, в качестве базы данных куплен SQL 2005/2008 Standard x64 EN, но поставлена 2005-ая версия, впрочем, то - же х64.

Итак, установка Windows 2008 Server Standard Edition x64 Russian проблем не вызывает (или ?), после предварительной настройки драйверов и различных переменных производительности обязательно устанавливаем «Пакет обновления для Vista/2008 x64 Русский Сервис Пак 2». После чего запустить процедуру автоматического обновления для выбора патчей в ручном режиме. Я не описываю процедуру установки, есть огромное количество статей на эту тему. Лишь настоятельно порекомендую перед установкой ОС обновить BIOS на материнской плате и всех контроллерах, которые рядом. В случае установки Вами английской версии, убедительная просьба не забывать научить систему русскому языку. Делаем это при помощи консоли управления Региональных и языковых установок. В трех местах нужно выбрать «русский», иначе у вас будут проблемы с дальнейшей установкой. Коротко напомню: текущий формат, текущее местоположение и язык для программ, не поддерживающих юникода должны быть «Russian».

Значит, у нас уже есть сервер с установленным 64-ех разрядным сервером и всеми разумными обновлениями. Сервер для одноранговой сети, без контроллера домена. Если у Вас домен, то особой разницы не будет. Следует приступить к процедуре установки SQL 2005 x64 Standard Edition English.

Обязательные условия при установке:

- запуск от имени встроенной службы, но если предполагается обмен данными с другими серверами в домене, то тут воля ваша;
- выбрать режим смешанной аутентификации и не забыть указать пароль sa;
- при выборе локализации обязательно выберите в списке Cyrillic_General_CI_AS.

Далее все как обычно. Не забудьте установить сервис пак для SQL.

Сверимся, что у нас верные настройки, открыв SQL Management Studio. Server Collation должен быть именно таким, причем не важно русский или английский SQL Server Вы поставили.

Нужно создать пользователя, под которым будет работать наша будущая база. Создадим под именем «LoginMnfc». Вводим логин, пароль, убираем галку «сменить пароль при первом входе» и больше ничего. Далее переходим на вкладку «Server Roles» и ставим галку напротив «ProcessAdmin», ведь нам нужно больше чем один работающий с базой пользователь единовременно.

Важное замечание, база данных и имя пользователя не могут начинаться с цифры, равно как не должны иметь знаков пробелов. Система позволит создать “1CLogin” пользователя или базу “1C ZiK”, они даже будут работать, но сами по себе, загрузить данные через 1С Предприятие Вы не сможете.

Теперь создадим базу данных для 1С. Пишем имя новой базы, выставляем «Initial Size» согласно предполагаемому размеру. Я выбрал такие, как всего лишь пример. На вкладке «Options» обязательно меняем тип базы на «SQL Server 2000». Остальные настройки не меняем пока что.

Далее запускаем новый запрос на созданной базе, меняем владельца командой «sp_changedbowner ‘LoginMnfc’». Позволять работать 1С под логином «sa» крайне нежелательно, так как пароль взламывается буквально в две минуты по имеющейся и легкодоступной информации в каталоге базы 1С даже чайником, удосужившемуся прочитать в Интернет статью в 5 строчек «про это…».

Теперь нам надо переписать в каталог «C:\Windows\SysWOW64» три библиотеки: sqlsrv32.dll, sqlsrv32.rll & odbcbcp.dll. Я взял с Windows 2003 Server Std R2. Для того чтобы переписать их нужно сперва получить доступ. Для этого для каждого файла делаем ряд действий. Заходим в свойства файла, вкладка безопасность, как мы видим, доступа нет. Жмем кнопку «дополнительно», в окне переходим на вкладку «владелец», выделяем группу «Администраторы» и применить. Система предупредит нас, что мы стали владельцами, жаль, что всего лишь какого - то файла, а не шикарной яхты в порту Испании, ну да ладно. Возвращаемся к первоначальному окну безопасности и теперь уже, нажав кнопку «изменить», мы можем поставить галку напротив «Изменение». Этого достаточно. Повторить три раза до полной так сказать готовности, на всех трех файлах библиотеках. Теперь переименуйте их во что то типа «sqlsrv32.dll-old». И скопируйте библиотеки из инсталляции 2003 сервера. Можно и от ХР, если совсем с этим тяжко. Так как у нас в сети есть рабочие станции с ОС Vista, то подобную процедуру необходимо проделать и с ними. Только каталог будет «C:\Windows\System32».

Пример продемонстрирован на другом файле, но порядок действий не изменен. Если Вам часто приходится переставлять сервер с 2008 виндой и 2005 сиквелом, то можно создать командный файл для автоматизации процесса смены владельца и записи новых библиотек или обратиться к нам за советом.

Итак, база данных у нас есть, логин есть, ДЛЛ-льки переписали, приступим к самой 1С.

На клиентском компьютере с ОС WinXP устанавливаем 1С Предприятие 7.7, релиз 027. Обязательно в режиме «на сервер», то есть административная установка. Затем переписываем целиком каталог «1Cv77.adm» на сервер в каталог «C:\Program Files». Прекрасно, теперь открываем общий доступ «Только чтение» к каталогу «С:\Program Files\1Cv77.adm». Про установку HASP ключей я тактично умолчу. Теперь нам понадобится «правильная» библиотека «BkEnd.dll». Так как 1С Предприятие 7.7 не поддерживает SQL 2005, то есть несколько народных способов. Иначе получим сообщение, что нам «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия». Поиск файла в Гугле или на Руборде – «BkEndFORsql2005.rar», размер 811 703 байта. Как вариант, правим сами согласно имеющимся материалам по той же ошибке. Копируем ее в каталог «С:\Program Files\1Cv77.adm\BIN», поверх имеющейся. Можете сделать копию старой библиотеки на память. Проверьте, запускается ли оболочка 1С, если нет, то устраните проблему с хаспом. Так как нам (мне по крайней мере точно) необходимо одновременно работать с 1С из различных версий ОС(XP/Vista/2008), то в каталог BIN помещаем еще пустой файл с именем «OrdNoChk.prm». Это отключает сортировку. Теперь создадим и расшарим группе товарищей каталог будущей 1С, например «C:\1CData\Mnfc\».

Теперь установим на терминальный сервер 1С. Для этого с рабочей станции Windows XP заходим по сети на сервер в каталог «\\srv001\1Cv77.adm». Запускаем «setup.exe» и устанавливаем. Далее, в каталог «C:\ProgramData\Microsoft\Windows\Start Menu\Programs» на сервере, переписываем с рабочей станции каталог с ярлыками к «1С Предприятие 7.7», или создаем там же ручками каталог и ярлыки с локальными путями к файлам 1С.

На этом, собственно говоря, подготовительный этап закончен. Кстати, все то - же самое можно сделать на SQL 2005 Express, с той лишь разницей, что в конфигураторе 1С в имени сервера надо будет писать «\\srv001\sqlexpress».

Внимание!
С рабочей станции Windows XP заходим в конфигураторе в базу, которую надо перенести на SQL, меняем кодировку на «+текущая системная». Применяем изменения. Выходим из 1С и заходим заново, если нет ошибок и система функционирует, делаем «выгрузку» данных вместе с пользователями. Если возникли проблемы, то Вам повезло и надо обновить конфигурацию. Выгрузка успешно завершена.

Опять таки, с рабочей станции (под именем одного из «товарищей»), запускаем конфигуратор, вводим путь к созданному ранее пустому каталогу на сервере с правами на запись и изменение. При запуске выбираем режим SQL. В конфигураторе «Администрирование – Параметры базы данных SQL». Скрупулезно заносим данные о сервере, базе данных, логине и пароле. Если все правильно, 1С молча проглотит все настройки, если появилось какое либо сообщение его надо устранить, для чего начинаем читать инструкцию сначала. Теперь снова «Администрирование – Загрузка данных» и указываем на только что созданный нами файл. Отвечаем на 33 предупреждения утвердительно и наслаждаемся видом, как 1С импортирует данные. После еще одного предупреждения все будет готово. Ради спортивного интереса можете попробовать сделать это с сервера и убедиться, что загрузка данных не работает. Закрываем конфигуратор. Переписываем в каталог 1С домашние каталоги пользователей, отчеты и прочее нужное. В случае появления ошибок при импорте, Вам, возможно, потребуется обновить конфигурацию самой БД 1С, ибо медицина тут бессильна.

Запускаем теперь на сервере уже 1С и входим в базу как простой смертный пользователь. Отныне можно будет работать как с ХР, так и с Висты и с самого сервера 2008 в терминальном режиме. И у нас есть время, чтобы задуматься о переходе на версию 1С Предприятие 8.1.

Взято здесь: http://www.forceit.ru/index.php/manual01/39-manpages/66-1cv77w8ksql5x64

Комментариев нет: