Перепостил статейку на будущее. Оригинал копии тут. Оригинал оригинала тут. :)
1С 7.7.027 на Windows 2008 r2 + SQL 2008
1. Исходные данные:
- Windows Server 2008 x86 r2 Standard Edition
- Microsoft SQL Server 2008 sp1 CU 3 Enterprise Edition
- 1С 7.7 релиз 27
2. Выходные данные:
- Нет ошибки "Неправильный синтаксис около ключевого слова "TRANSACTION"", вместо этого автоматом ставится модель восстановления "простая", т.е. можно не устанавливать модель восстановления вручную в свойствах базы
- Нет ошибки "Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!"
- Нет ошибки "Порядок сортировки, установленный для базы, отличается от системного!"
- Нет ошибки, что базу нельзя перевести в монопольный режим (лечится косяк 1с с так называемым "checkpoint")
- Все выгрузки и загрузки проходят на отлично
- Нет ошибки SQL State: HY010 Function Sequence Error
3. Рецепты и припарки:
- Устаналивем Window: затем из архива из папки SQL ODBC Driver или с сервера под управлением Windows 2003 переписать три библиотеки , которые находятся в%systemroot%\System32
- sqlsrv32.dll, sqlsrv32.rll & odbcbcp.dll и записать их в %systemroot%\System32 и в%systemroot%\SysWOW64
- для w2k8 x64 необходимо скопировать в оба каталога, для w2k8x32 только в%systemroot%\System32соответственно.
- Для того, чтобы переписать эти файлы поверх имеющихся необходимо стать владельцем оригинальных файлов и добавить прав группе Adminisrators на Full Control.
- SQL Server: при установке скуля важно выбрать "Cyrillic_General_CI_AS" в качестве серверной сортировки
- Создаем базу в скуле, выбираем совместимость базы с MS SQL 2000(80), модель восстановления поставить простую(simple)
- Идем в скуль, разворачиваем "базы данных" - "системные базы данных" - "master", тыкаем на "представления", выбираем "создать представление". Если выскочило "добавление таблицы", жмакаем закрыть, в поле кода (там по дефолту стоят select и from) копируем следующий текст: select * from sysprocesses where cmd <> 'checkpoint' и нажимаем кнопку "выполнить код sql" (находится выше слева, красный восклицательный знак), если код поменялся и не выскочило ошибок - это хорошо, жмем сверху кнопку "сохранить" и называем это представление вот так:sksprocesses
- Копируем из архива папку 1Cv77 в program files(86)
- Запускаем 1С
4. Рецепт:
- Устаналиваем Windows и SQL Server, при установке скуля важно выбрать "Cyrillic_General_CI_AS" в качестве серверной сортировки
- Создаем базу в скуле, выбираем совместимость базы с MS SQL 2000(80), модель восстановления можно не менять, либо сразу поставить простую
- А теперь свое "ноу-хау" с "checkpoint'ом" Идем в скуль, разворачиваем "базы данных" - "системные базы данных" - "master", тыкаем на "представления", выбираем "создать представление". Если выскочило "добавление таблицы", жмакаем закрыть, в поле кода (там по дефолту стоят select и from) копируем следующий текст: select * from sysprocesses where cmd <> 'checkpoint' и нажимаем кнопку "выполнить код sql" (находится выше слева, красный восклицательный знак), если код поменялся и не выскочило ошибок - это хорошо, жмем сверху кнопку "сохранить" и называем это представление вот так: sksprocesses
- Устанавливаем 1С 7.7 релиз 27 (1Cv_77_27_Unisetup.exe из архива), при установке выбираем sql версию, можно поставить совместимость с 2005-ым, это не существенно
- Заменям библиотекой BkEnd.dll из архива, соответствующую в папке с установленным 1С 7.7
- Ставим фикс от dumsik'a из папки 1c_Vista_server_2008_fix (находится в архиве) согласно прилагаемой в этой папке инструкции, только с небольшим дополнением: ни в коем случае нельзя удалять папку 1Cv7_SQLDriver с диска с:, а также к этой папке должен быть доступ
- Запускаем 1С и радуемся жизни.
Мне вот что интересно. У меня есть так же базы 1с версии 8,2 ескюелевские, у меня там с ескюелем нечего не случится, все будет работать как и прежде?
ОтветитьУдалитьСоветую проверить поведение скуля в тестовой среде. На практике применять не пришлось. У меня серваки отдельные под 7.7 и 8.2.
Удалитьвыполняю 4 пункт, при загрузке базы ошибка : SQL State: HY010 Function Sequence Error. Попробовал на 3 разных базах.
ОтветитьУдалить