автор статьи: Павел Шемякин.
Выбор платформы
Итак, вы решили встать на "зыбкий" путь (точнее на "зыбкую"
платформу) 1С+SQL. Причиной этому может быть либо ваше природное любопытство,
либо суровая неизбежность.љ Если это первый вариант, то лучше (проще) всего
выбрать конфигурацию Windows 98+SQL Server 7.0 (или 2000) Desktop Edition, ну и
1C естественно. Вместо Windows 98 можно использовать любую ОС семейства Windows
(конечено не 3.11). Если у вас только серверный вариант SQL Server, то придется
ставить либо Windows NT 4.0 Server, либо Windows 2000 Server.
SQL Server 6.5 имеет смысл использовать только если у вас установлена Windows NT 4.0 Server
и ее работа вас устраивает (т.е. вы не собираетесь переходить на Windows 2000
Server).
Ниже приведена таблица совместимости ОС и СУБД (2000).
ОС / Редакция |
Enterprise |
Standart |
Desktop |
Win 2000 Datacenter |
+ |
+ |
+ |
Win 2000 Advanced Server |
+ |
+ |
+ |
Win 2000 Server |
+ (-7.0,6.5) |
+ |
+ |
Win 2000 Professional |
- |
- |
+ |
Win NT 4.0 Ent |
+ |
+ |
+ |
Win NT 4.0 Server |
+ (-7.0,6.5) |
+ |
+ |
Win NT 4.0 Workstation |
- |
- |
+ |
Win 98/98SE/ME |
- |
- |
+ |
Если же перед вами стоит задача перевода базы на движок 1С+SQL,
то имеет смысл использовать сочетание Windows 2000 Server+ SQL Server 7.0 (2000).
Если у вас уже нормально функционирует Windows NT 4.0 Server, то SQL Server
6.5 стоит использовать только если под рукой нет SQL Server 2000 (7.0). Вроде
разобрались с тем, что будем ставить. Теперь рассмотрим сам процесс установки.
Установка SQL Server
- Первое, что нужно сделать это выбрать учетную запись, под
которой стартуют службы сервера. Для тестирования можно указать Local System.
Если вы собираетесь проверять взаимодействие сервера с другими серверами или
резервное копирование на удаленные компьютеры, то учетная запись должна представлять
собой пользователя домена. В любом случае, выбранная учетная запись должна
обладать набором определенных прав для работы с сервером (подробнее смотрите
Books Onlineљв разделе установка).
- Далее необходимо выбрать способ регистрации пользователей:
смешанный или Windows NT. Для тестирования лучше выбрать первое, в этом случае
можно создать пользователя прямо на SQL Server, задав ему пароль. Во втором
случае на сервере должна быть обязательно установлена сетевая библиотека Multiprotocol
для поддержки доверительного соединения. Также нужно будет указать соответствие
между группой / пользователем NT и пользователем SQL Server.
- Установите сетевые библиотеки: обязательно Named Pipes, остальные
дополнительнољ- рекомендуется TCP/IP.
- Самое важное
для 1С в установке это правильно выбрать кодовую страницу для вашего сервера.
Если в вашей ОС в Панели управления в разделе Язык и стандарты (Regional Settings)
выбран Русский язык, то кодовая страница должна быть 1251. Также нужно выбрать
порядок сортировкиљ- рекомендуется устанавливать порядок сортировки независимый
от регистра и в соответствии со словарем.
Замечание. Похоже, что
возможность SQL Server 2000 указывать кодовую страницу не для сервера, а для
базы 1С игнорирует (по крайней мере, в 15 релизе). Также, по-моему, неверно
будет указывать сопоставление Cyrillic_General. При установке такого сопоставления
для сервера и любых других сопоставлений для БД, 1С в моем случае никак не
желала работать, указывая на несоответствие системной кодировки и кодировки
БД. Лечилось это только апгрейдом 2000 с 7.0. В результате обнаружилось, что
нужно выбирать сопоставление SQL_Latin1_General_CP1251. Заново 2000-йљ устанавливать
с таким сопоставлением я не пробовал, у кого получитсяљ- сообщайте.
- Если вы будете проверять работу 1С+SQL по сети, на клиентские
машины необходимо установить драйверы ODBC 3.5. Лучше всего это делать обычной
установкой сервера, но выбирать только клиентскую часть (в этом случае будут
установлены также некоторые другие полезные драйвера и библиотеки). После
установки, выберите протокол, по которому будет происходить работа с сервером.
Рекомендуется TCP/IP.
- После установки сервера нужно создать базу, в которой
1С будет хранить данные. Лучше всего это делать с помощью Enterprise Manager
(EM). Размер базы для реальной работы нужно указывать в 2,5љ- 3 раза больше
размера dbf с индексами (с запасом). Также нужно отвести место под файл транзакцийљ
- размер не менее 25% от размера базы. Для тестирования можно указывать меньшие
размеры.
Замечание Для реальной работы, если у вас имеется несколько
дисков, для повышения производительности файл транзакций и файл(ы) базы данных
лучше размещать на разных дисках.
Замечание Имя базы не должно начинаться
с цифр (не следует называть ее 1С :).
- 1С не позволяет полностью использовать возможности системы
безопасности SQL Server. Дело в том, что все коннекты 1С работают либо под
системным администратором, либо под владельцем базы данных. Для реальной работы
естественно безопасней коннектится под владельцем БД, а не под системным администратором.
После того как вы разобрались с установкой сервера можно приступать
к установке 1С. Прежде можно протестировать соединение с базой. Для этого на
клиентской машине зайдите в Панель управления, на закладке Системные DSN выберите
(или создайте новый) источник данных SQL Server. Последовательно пройдя через
задание всех параметров (имя серевера, пользователь, база, к которой подключаетесь,
сетевая библиотека (должна быть такой же, что была выбрана выше), нажмите кнопку
"Проверить источник данных...". Если ошибок нет, значит можно смело
устанавливать 1С, если естьљ- нужно "копать".
Установка 1С, подключение базы и перенос dbf версии на сервер
- Первоељ- у вас должна быть версия 1С для работы с базами SQL
Server. Рабочими релизами для этой версии на май 2001 года считаются 012,014,015,017.
Чем старше релиз тем меньше в нем ошибок. Однако не факт, что пример, работающий в младшем релизе,
будет работать в старшем. Многие работают на 012 релизе (некоторые, может быть,
на еще более ранних), но из-за того, что они подстроили свои конфигурации
именно под него (или какой-то другой релиз), не собираются переходить на старшие
релизы. В пользу того, что нужно выбирать последний релиз, склоняет возможность
обращения в службу поддержки 1С, где первой рекомендацией будет использование
последнего релиза программы.
- Создайте
новый каталог. В него скопируйте список пользователей (если он есть), и файл
конфигурации (если вы будете начинать работать с пустой базой). В списке баз
добавьте новую с этим каталогом, запустите конфигуратор. Если у вас версия
для работы с SQL Server, появится запрос формата баз данныхљ- выберите SQL
Server.
Замечание
прежде чем подключатся к сереверу создайте хотя бы одного пользователя в конфигураторе
- Подключитесь
к базе сервера. Для этого в Конфигураторе в пункте меню Администрирование-Параметры
базы данных SQL... задайте имя сервера, базу данных, пользователя (администратор
или владелец базы) и его пароль. Подключаемся.
Замечание если вы
будете производить тестирование с одного компьютера (который не находится
в сети) или на компьютере с ОС Windows 98, то имя серевера будет local в круглых
скобках, т.е. вот так: (local)
- Если вы
решили начать работать с пустой базы, нужно запустить создание таблиц на сервере.
Сделать это можно эмуляцией изменения какого-либо несущественного параметра
(например Язык конфигурации), т.е. нужно изменить этот параметр, а потом вернуть
ему прежнее значение. На этом все. Далее описаны действия необходимые
тем, кто будет переносить свою dbf базу на сервер.
- В своей старой базе в Конфигураторе через пункт меню Администрирование-Выгрузка
данных выгрузите свою базу. При этом создается файл, который содержит таблицы
и файл конфигурации. Смотрите также замечания
к процессу выгрузки-загрузки.
- В новой базе через пункт меню Администрирование-Загрузка данных
загрузите свою базу на сервер. Смотрите замечания.
Ни в коем случае не экспериментируйте на рабочих данных. За потерю или порчу
информации я ответственность не несу.
Замечания к процессу выгрузки-загрузки БД при переносе на SQL Server
- Перед
тем как выгружать данные, удалите документы с "неправильными" датами.
Откройте общий журнал задайте период с 0000 по 9999 год посмотрите на первые
документы и на последние и сами увидите, что это значит. Если такие документы
будут переносится, то пересчет итогов на сервере может занять много времени.
Обычно это выглядит как пересчет ссылок по колонкам (или итогов) с 16хх (17хх)
года.
- После этого
запустите Тестирование и исправление БД.
- Может
случится так, что даже после тестирования в вашей базе останутся строки с
повторяющимися значениями. Симпотомы этогољ- появление сообщение об ошибке
об нарушении уникальности ключей. Для этого вам необходимо определить какая
это таблица и какое поле. Затем, используя, например, Database Desktop (или
Database Explorer) из поставки Delphi или любой другой инструмент, позволяющий
выполнять SQL запросы, выполните запрос:
select * from Table a where 1
Замечание (автор 1Cergey):
Думаю, лучше использовать вот такой запрос:
select record1,record2,record3 , "Count"=count(*) from Table Group by record1,record2,record3
having count(*)=2
(примечание автора љ- или count(*)>1,
чтобы выбрать все повторяющиеся строки)
данный запрос выводит строки с повторяющимися значениями. Проанализировав их, нужно
удалить лишние.
- Еще одно
замечание из моего личного опыта. Ситуация: 15 релиз, SQL Server 7.0, настройка
для сельхоз предприятий от Раруса и Весь Учет. В настройке активно используются
реквизиты с неограниченной длинной или очень длинные. Изначально пытались
установить SQL Server 6.5. Однако это стало невозможным поскольку длина строки
в таблице на серевере ограничена. В 7.0 тоже есть ограничение, но длина больше
чем в 6.5.
Моральљ- будьте осторожны с длинными полями. Еще одна проблема
состоит в том, что после выгрузки из Конфигуратора (база уже на серевере),
происходит обрезание реквизитов, неограниченной длинны. Симптомыљ- при загрузке
перестают работать типовые операции. Моральљ- будьте осторожны с полями неограниченной
длины. Архивация теперь выполняется только средствами SQL Server.
|
Комментарии
3Случайно купили и "оказался под рукой"... Или предполагается, что ворованное?
И не хватает таблички стоимости ОС и SQL-сервера. И для разного количества клиентов...
А хотя... все вокруг 1С - ворованное...
И WTSE, и Enterprise разные...
НИ РАЗУ НЕ ВИДЕЛ СТАТЕЙ, ГДЕ РАССКАЗЫВАЕТСЯ О СТОИМОСТИ СИСТЕМНОГО
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ 1С:SQL... И здесь нет ничего! (Наверное от скромности!)
Хотя автор употребил "зыбкий путь"...
Это уже обЪективность!
Поднимаю оценку до 3.
Нет ничего про то, что дост такой переход в плане скорости и и увеличения количества клиентов...
В общем, хочется, чтобы люди больше писали, особенно люди, обладающие реальным опытом и реальными знаниями и обладающие энтузиазмом и творческим потенциалом.
Удачи!