Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» 1С 7.7.027 на Windows & SQL 2008

Автор: Lamerok
Дата сообщения: 09.10.2009 16:53
Добрый день!

Решил собрать в одной теме все "подводные камни" , которые могут вас ожидать, если вы задумаете перейти на платформу 2008. Для начала хочу сказать, что 1С 7.7 прекрасно работает на Windows 2008 x32/x64 + MS SQL 2008 x32/x64.

Итак, начнем по порядку:
НАСТРОЙКА SQL 2008
ключевым моментом является правильная установка MS SQL 2008:

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


Далее все как обычно.

После установки необходимо создать sql пользователя и назначить ему роль processadmin
это необходимо для того, чтобы с базой могли работать несколько пользователей


ВАЖНО: имя базы данных и имя пользователя не могут начинаться с цифры, равно как не должны иметь знаков пробелов

При создании базы меняем владельца базы по умолчанию на созданного пользователя
в разделе Options устанавливаем Compatibility Level MS SQL 2000(80) и Recovery Model Simple
На этом настройка SQL 2008 окончена.
Переходим к настройке ОС

Настройка Windows 2008

Необходимо с сервера под управлением Windows 2003 переписать три библиотеки , которые находятся в %systemroot%\System32
sqlsrv32.dll, sqlsrv32.rll & odbcbcp.dll и записать их в %systemroot%\System32 и в %systemroot%\SysWOW64
для w2k8 x64 необходимо скопировать в оба каталога, для w2k8x32 только в %systemroot%\System32 соответственно.
Для того, чтобы переписать эти файлы поверх имеющихся необходимо стать владельцем оригинальных файлов и добавить прав группе Adminisrators на Full Control.
На этом настройка Windows 2008 закончена.
Примечание: если в дальнейшем будут возникать проблемы с 1С, то это проблемы 1С а не ПО от Microsoft. Все проблемы можно будети решить путем правки библиотек 1С

Настройка клиетской части 1С

Для начала работы нам понадобится оригинальная установленная 1С и любой hex редактор (я лично пользовался Hex Comparison)
Вы также можете найти в Интернет уже готовые пропатченные файлы (лично я предпочел сам отредактировать)
Итак, необходимо внести следующие изменения в файл BkEnd.dll

Код:
000D9CCA: 83 EB
000D9CCB: E8 15
000DB130: 83 EB
000DB131: E8 10
0018A79D: 75 EB

Фразу DUMP TRANSACTION %s WITH TRUNCATE_ONLY , которая находится по смещению 002856B0 заменить на фразу ALTER DATABASE %s SET RECOVERY SIMPLE
Автор: gorenski
Дата сообщения: 10.10.2009 22:29
http://superadm.net/index.php?name=News&op=printpage&sid=10
Автор: valdi77
Дата сообщения: 11.10.2009 05:30
Lamerok
1. Скажите пожалуйста, работает ли у вас Загрузка БД 1С, из стандартных выгрузок в ZIP ахивы.
2. Работает ли данная БД, с клиентами на таких ОС MS Win XP Home, MS Win XP Prof, MS 2000 prof.
3. Устанавливали ли Вы другой порядок сортировки для ОС SQL и 1C не Русский а Украинский
4. Работают ли внешние компонеты v7plus.dll

Автор: Lamerok
Дата сообщения: 12.10.2009 10:22
gorenski
спасибо за линк. жаль, что пришлось все тестировать на собственной шкуре.

valdi77
1. работает
2. Пробовал на Висте и Windows XP - проблема не ОС , а sqlsrv32.* файлах, они должны быть от хр (х32) или 2003-го севера 32-х разрядного.
3. Вроде как не зачем... читая попутно форумы видел, что возникают проблемы с украинской кодировкой. Как вариант можно попробовать при установке sql сервера выбрать украинский коллейшн, но вроде бы это не помогает...
4. не используется, поэтому сказать будет работать или нет , не могу..


Автор: Lamerok
Дата сообщения: 12.10.2009 14:46
Добавил логон скрипт для централизованного обновления клиентов 1С.
Обновил всех, не вставая с рабочего места.
Автор: ManBot
Дата сообщения: 13.10.2009 09:40
Lamerok
Выложить для раздербанивания можно?
Автор: Lamerok
Дата сообщения: 14.10.2009 11:40
ManBot
не понял вопрос... скрипт я и так выложил, смотрите первый пост
Автор: opt_step
Дата сообщения: 14.10.2009 11:44

Цитата:
Lamerok

Загрузка из zip точно работает?
Автор: Lamerok
Дата сообщения: 14.10.2009 15:39
opt_step
да , работает без проблем и загрузка и выгрузка.
Автор: ManBot
Дата сообщения: 14.10.2009 16:49
Lamerok
ослеп под старости лет..... виноват...
Автор: KurkSS
Дата сообщения: 14.10.2009 18:02
а у меня вот такой вопрос....

счас стоит 2003 сервер на нём 1С 7.7... никакого sql сервера пока что нету.

Я б не задумываясь перешол на 1С+sql, но где гарантия, что будет быстрее... дело в том что
указанный сервер - это терминальный сервер на котором все висят...

На тормоза 1С жалуються, правда уровень чайников таков, что они не отличают зависшее приложение от думающего, 1С с равнивают со скоростью работы ворда скажем... то есть понятия торможения очень условное....

эксперименты ставить нет возможности, так как програмист 1С приходящий, яж не буду есму из своих платить...

ВОПРОС
а как узнать наперёд, будет ли быстрее, и где может возникнуть узкое место?

или по другому, какова должно быть мощность сервера, чтобы он потянул нормально 1с,
субд, терминальные сесии 30 шт?

ЗЫ у меня Пень 3.2ГГц двухядерник, 3.5ГБ оперативки, два скази винта, на одном сервер 2003, на другом 1С


ЗЫЗЫЗЫ может стоить на сервере зубастого каспера тюкнуть? всмысле убрать оттуда, и чтото менее прожорливое
поставить
Автор: dadu
Дата сообщения: 14.10.2009 18:18
KurkSS
Не будет быстрее. однозначно.

плюс sql - ворочает большие базы. т.е. если на dbf в 1Г будут полные тормоза, то sql будет работать. не быстро и не быстрее чем dbf вменяемого размера.
еще плюс sql - 1c можно убивать в процессах без риска нарваться на индексацию в несколько часов.

На вашей платформе ни чего не сделать.
Добавьте памяти (ессно OS нужна соответствующая), проц 4 ядерный. и будет несколько комфортней работать. но и после этого врядли вам нужен сиквел. не заморачивайтесь.

тем паче программист приходящий ,значит под сиквел писать не умеет, это стопятьсот процентов. конфига у него заточена под dbf, даже на самом навороченом железе не увидите скорости на sql.
лучше заставьте его порезать базу , если она сильно большая. или сами порежьте.
а каспера не трогайте. вылАвите кидо, тогда вообще абзац наступит.

Добавлено:
толково про сервера на тринити вам подскажут. сам у них консультируюсь и комплектующие брал.

Добавлено:
Lamerok
за скриптик спасибо

в самый раз RDP экспишный (6,1) у клиентов обновить на RDP 7.
Автор: opt_step
Дата сообщения: 15.10.2009 09:03
KurkSS
У меня W2003SP2 + все обновы + нет заражения KIDO + 2 Гб оператива + проц 2-х ядерный 2,2 Гб + роль на сервере только ФАЙЛСЕРВЕР + база 1с 7.7 и MS SQL 2000 SP4 весит 19 Гб + Каспер + 20 пользователей (не на терминале)
ИТОГ: ни у кого никаких тормозов.

Автор: dadu
Дата сообщения: 15.10.2009 12:34
пардон за начало оффтопа.
Автор: opt_step
Дата сообщения: 15.10.2009 13:23

Цитата:
в самый раз RDP экспишный (6,1) у клиентов обновить на RDP 7.

да только она pre-beta:
Ссылка
А вообще не в тему СОРРИ
Автор: KurkSS
Дата сообщения: 15.10.2009 22:48
dadu

Цитата:
Не будет быстрее. однозначно.


Это точно быстрее не будет????

Ну тоесть я вообще сам думаю, что смысла нету, потому и затормозил этот процес в конторе.
Но ведь они меня тыкали в статьи в нете, и говорили что быстрее работает 1С с сиквелом...

Можете расказать, почему вы думаете что не быстрее будет.... и при каких размерах базы уже будет быстрее???
Автор: dadu
Дата сообщения: 16.10.2009 13:49
opt_step
я с сервака 2008 дергал четыре заветных файлика. работает.
KurkSS
базу проЩе порезать. ! все на этом.

[more]Добавлено:
вот тебе фак http://faq1c.gorbunov.ru/faq1c/sql.htm
Обрати внимание на пункт №7 по пункт №9 и вкури ВСЕ слово в слово.
не смотри что 2002 года, потому что ни хрена не изменилось. ни в конфигах типовых (их нет под скуль, они все т и п о в ы е), ни в скорости. тем пачи в конфиге у приходящего админа. Он об оптимизации под sql и слыхом не слыхивал. и даже если слышал ,то не будет делать. ЭТО другой ценник в этой работе.
Вот еще повеселись http://sql.ru/forum/actualthread.aspx?tid=687911

Вообщем не ТО ты исчешь, иOи почему тормозит сервак. Мож переставить, мож обновить, мож вируса мож сетка.
Просто исходи из того, ЧТО быстрее dbf - формата базы для 1С нет! И табе не нужен SQL.
НО можно из начальства, жалуясь на тормоза, вымогнуть апгрейд сервака и очень существенный. Правда в том, а ЧТО ты будешь делать дальше ,если апгрейд будет на 100 тык. а скорости не будет?
И не слушай тут некоторых что не тормозит на 17 гигах скуль. Они или не знают встроенных процедур + не знают что SQL база больше dbf раз в 5 (в зависимости от настроек скуля. так что видишь 17Г (потому что не знают кое чего), считай 800 Мб. Т.е. они говорят о базе размером 800 метров в dbf - в скуле ее легко разрастить ыыыыыы
или нет распределенки и регулярных обменов + еще всякие синхронизации с другими DB или действительно Асы. Но поверь, форум асам не нужОн.
[/more]
Автор: KurkSS
Дата сообщения: 16.10.2009 16:18
dadu

Ограмнейшее спасибо, буду курить пока жду хауса от лостфильма
Автор: Slawa
Дата сообщения: 20.10.2009 07:43
Народ а можно вместо
ALTER DATABASE %s SET RECOVERY SIMPLE
написать
ALTER DATABASE %s SET RECOVERY FULL
?

Грозит ли чем нибудь страшным ?
Очень хотелось бы использовать восстановление FULL.
Автор: awg
Дата сообщения: 21.10.2009 17:57

Цитата:

dadu:
базу проЩе порезать. ! все на этом.


А можно подробнее? что значит порезать? или это только для НЕ SQL? У меня в данный момент проблема с тормозами жуткими.... видимо не оптимально написана конфигурация, но я не программист (наша программист в декрет пошла), я админ, и ищу способ ускорить работу. В саму логику базы лезть не хочу, но может можно как-то экстенсивными методами это ускорить? порубить на части? создать кластер из 2-3 серверов SQL?
А вот кстати интересующая меня тема: кто-то пробовал SQL кластеры? ускоряет?
Или же новый 2008R2 Hyper-V сервер бесплатен, и позволяет делать кластеры. Ускорит ли кластер обработку данных? Или это только для отказоустойчивости делается?
Автор: Lamerok
Дата сообщения: 26.10.2009 12:24
Slawa

Ничем страшным не грозит, но 1С всего скорее будет выдавать другие ошибки.
Если есть желание, можешь попробовать, потом напишите , что получилось.
Я же в первом посте описал 100% рабочую последовательность действий.
Рекомендую снимать бекап базы SQL средствами самого скуля или бекапирующее ПО использовать, тогда бояться нечего.

Удачи!
Автор: dadu
Дата сообщения: 26.10.2009 16:11
awg
тема плавно переросла ... dbf vs sql
[more]начните вот с этого, товарищ создал страничку с памяткой
http://vmarkovsky.org.ua/wordpress/index.php/2008/10/13/proizvoditelnost-1s/
сделайте жирным шрифтом и прибейте в качестве транспаранта над входом
не ищите спасения в страйпах и блоках, оптимизируйте индексы и запросы!
не думайте что в ваш адрес. НО 1с семрка на sql - фантазия о скорости, из то же оперы что и страйпы - блоки, кластеры- мастеры (кластеры вообще из восмерки), еще что??? не умеет семерка на типовой конфиги работать с сиквелом!
1C семерка на SQL без специальной заточки имеет только один плюс - убивайте любой процесс 1С без риска нарваться на многочасовую индексацию. Но скорость будет или такая же или гораздо хуже чем на dbf.

Теперь касаемо dbf
Режут базу тут infostart.ru (щас не на связи, нет прямой сцылки, ищите статейки автора Dolly_Ev) или пишите сведу с автором, удаленно порежет.
не мог удержаться процитировать, а тринити не плохие спецы
это требует времени и квалификации (очень высокой квалификации, а не чтения форумов). Результат - непредсказуем.
Поэтому в масспродакшене используется более тупой метод - грубая сила. Это может быть дороже (если у Вас в штате есть высококвалифицированный спец, который может сделать тюнинг забесплатно), зато дает ГАРАНТИРОВАННЫЙ и ПРОГНОЗИРУЕМЫЙ РЕЗУЛЬТАТ.


псы. исход предсказуем, сначало во благо скорости заводим сиквеL, потом действуем грубой силой (закупаем ,апгрейдим мощный сервак)
в результате имеем ту же скорость что и в начале... но форумы уже не посещаем ибо стали "умными".
исчим способ оптимизировать нашу семерку под SQL - и с первых же попыток наступает просветление - вот она - скорость.

а проще (и видимо дешевле, но это не наши деньги.. о чем это я, гыыы) было б остаться на dbf - только порезать базу ,если она стала критических размеров.
пыпысы опять же не универсальный рецепт ,если база растет как на дрожжах и юзверей больше 25 тогда точно нужно думать о SQL.
потому что ни одному буху не понравится база порезанная за отчетный период на мелкие кусочки, режут всегда по календарному году. прикиньте ваш вырост. dbf - по стороннему опыту до 1 гига - нормально, даже не до гига , а 800 метров.
если у вас за год набегает примерно гиг, тогда и не думайте о сиквеле.[/more]
Автор: vovan777
Дата сообщения: 31.10.2009 11:41
Сделал я все как там написано и что не работает при загрузке данных выдается такая петрушка "Источник данных не найден и не указан драйвер, используемый по умолчанию."
Автор: vovan777
Дата сообщения: 06.11.2009 10:27
КТО ТО МОЖЕТ ПОМОЧЬ РАЗОБРАТСЯ В ПРОБЛЕМЕ?
Автор: dadu
Дата сообщения: 11.11.2009 16:13
Сравнение производительности 1с под DBF-ADS-CodeBase-SQL.
данные отсюда ,сделал таблицу для удобства восприятия
Действие/БД DBF ADS CB SQL
Автор: Us2002
Дата сообщения: 02.12.2009 19:18
2 All

Други, есть вопросы:
- использовать файлы sqlsrv32.dll, sqlsrv32.rll & odbcbcp.dll надо именно тех релизов что выложены или я спокойно могу взять их со своего обновлённого старого W2k3R2_std_en?
- что означают ошибки SQL State: 08001(ODBC - не предоставлены DSN и SERVER) и 01S00 (ODBC недопустимый аттрибут строки подключения) при попытке загрузить конфу средствами 1с в созданную базу, предполагаю что не находит ключи в реестре и для этого требуется vkloader.dll, подскажите как побороть



зы: после применения комплекта от gorenski, эти ошибки заменились на SQL State: IM002
Использую W2k8R2x64_std_en + SQLx64_ent_en_eval
Автор: Lamerok
Дата сообщения: 09.12.2009 09:04
Us2002

Цитата:
или я спокойно могу взять их со своего обновлённого старого W2k3R2_std_en?

Можешь взять со старого. Внимательно читай первый пост.

Лично я менял только sqlsrv32.dll, sqlsrv32.rll . odbcbcp.dll, как показала практика можно не менять. Попробуй откатить odbcbcp.dll на оригинальную версию. Возможно, поможет.


Цитата:
при попытке загрузить конфу средствами 1с

конфигурация храниться в базе? или только данные? У меня конфа храниться на рашаренном ресурсе.
Попробуй восстановить базу средствами SQL

Как попробуешь - напиши

vovan777

Цитата:
КТО ТО МОЖЕТ ПОМОЧЬ РАЗОБРАТСЯ В ПРОБЛЕМЕ?

1. не надо так кричать
2. телепаты в отпуске. опиши подробно что ты делаешь и на каком этапе появляется ошибка.
Удачи!

dadu
спасибо, конечно, но имхо это оффтоп.
Автор: Us2002
Дата сообщения: 14.12.2009 10:49
2Lamerok

Всё получилось, надо было только завести пользователя в скуле, назначить его онером базы, обращаться к базе через скуль аутентификацию, корректно завести в конфигураторе сервер-база-лог-пасс, вырубить агента скула, закрыть окно скуль менеджмент студио для первого монопольного входа, ну и использовать подменные драйвера от 32-бит системы.
Автор: Lamerok
Дата сообщения: 24.12.2009 13:01
Привет, отцы.
Заранее, сорри , немного оффтоп
Есть вышеописанный сервер 1С с замененными библиотеками.
Есть бекап сервер CA ARCServe
Есть проблема бекапирования SQL через установленного агента - не проходит аутентификация. Если заменить sqlsrv32.dll sqlsrv32.rll на оригинальные, то все работает, но отъезжает соответственно 1С клиент на сервере.
Пока использую SQLWriter, можно настроить бекап встроенными средствами SQL...
У вас есть проблемы с бекапированием?
Как решали? Поделитесь.
Заранее спс за ответ.
Автор: Vby
Дата сообщения: 24.12.2009 13:14
Lamerok
Использую
Цитата:
бекап встроенными средствами SQL

Еженедельный полный бэкап, ежедневный инкрементальный +бэкап логов раз в час (зависит от того, за какой промежуток времени готовы принебречь данными, можно делать и раз в 15 мин )
Все работает.

Страницы: 1234567

Предыдущая тема: Резервное копирование средствами Windows


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.