Приветствую посетителя! Начните просмотр информации о материалах сайта в теме "ПУТЕВОДИТЕЛЬ И НОВОСТИ ПО САЙТУ". Все темы, кроме одной, полностью доступны для чтения и скачивания без регистрации на сайте! Всего вам доброго!

СЕКРЕТНЫЙ РЕЛИЗ ПЛАТФОРМЫ v77.27.7

Пред. тема След. тема

СЕКРЕТНЫЙ РЕЛИЗ ПЛАТФОРМЫ v77.27.7

Сообщение Aleksander » 16 сен 2017, 07:28

СЕКРЕТНЫЙ РЕЛИЗ ПЛАТФОРМЫ v77.27.7

Исправления платформы, позволяющие запустить 1cv77 в клиент-серверном варианте на СУБД MS SQL 2005/2008/2008r2/2012 без понижения режима совместимости.
Реализация в виде прокси-dll, в которой исправляются известные проблемы платформы:

невозможность работы, при запуске на mssql 2005/2008/2008r2/2012 (без патчинга bkend.dll);
невозможность работы без понижения режима совместимости до mssql 2000, при запуске на mssql 2005/2008/2008r2/2012;
невозможность работы в ОС Win Vista/7/8/8.1 в режиме клиент-сервера (без манипуляций с файлами odbc-драйвера);

Ограничения:

нет совместимости с некоторыми 1c++ запросами (ищу решение);
Поддерживаемые клиентские ОС:

Windows 2000;
Windows XP;
Windows 2003;
Windows Vista;
Windows 7;
Windows 8;
Windows 8.1;

Поддерживаемые SQL-сервера:

MS SQL 2000;
MS SQL 2005;
MS SQL 2008;
MS SQL 2008 r2;
MS SQL 2012;

Состав поставки:

BkEnd.dll - proxy-dll;
BkEndUtls.dll - служебная библиотека;

Порядок установки:

Установить платформу из оригинального установщика;
Установить и настроить HASP-ключ (обязательное условие, а то к вам придут врачи);
Переименовать оригинальный файл BkEnd.dll в BkEnd0.dll (0 - это ноль);
Скопировать файлы BkEnd.dll и BkEndUtls.dll из поставки в каталог, куда установлена 1с (например, C:\Program Files\1Cv77\BIN);
Для счастливых обладателей dbf-версии ничего не меняется.

Для обладателей sql-версии, у которых база данных размещается на MS SQL 2005/2008/2008r2/2012, необходимо соблюсти следующие требования для sql-логина (учетка, под которой 1с подключается к sql):

обладание, как минимум правами db_owner;
права на VIEW SERVER STATE;
С первым требованием все и так ясно, второе - требует пояснений. Для определения количества соединений к текущей базе данных, 1с обращается к системной таблице sysprocesses. Если у логина отсутствуют права на VIEW SERVER STATE, то будут видны только соединения, осуществленные под своей учеткой, что не совсем хорошо - нужно видеть все соединения с текущей базой, чтобы получать адекватые сообщения об ошибках. Большинство "специалистов" запускает 1с под учеткой SA (или другой, но с соответствующими суперправами), следовательно, у них такой проблемы не стоит. Зато имеется другая проблема - так называемый фоновый процесс сброса грязных страниц из кэша буфера данных, при выполнении которого, не удается запустить 1с в монопольном режиме.

В MS SQL 2005/2008 системная таблица (уже представление, оставленное для обратной совместимости) sysprocesses помечена устаревшей и в следующих редакциях MS SQL будет удалена. Компания Microsoft рекомендует использовать текущие аналоги - так и поступаем :) Для определения соединений к текущей базе данных (в этом исправленном релизе платформы 1с) больше не используется системная таблица sysprocesses (если ms sql 2005/2008, для ms sql 2000 используется).

Для того, чтобы дать права на VIEW SERVER STATE нужно выполнить простой скрипт:

USE master
GO

GRANT VIEW SERVER STATE TO <your_login>
GO

Все остальные настройки по-умолчанию.

Общие рекомендации

не использовать это решение без достаточного тестирования в вашем окружении;
не класть OrdNoChk.prm в каталоги Программы и ИБ;
вызывать реструктуризацию, если база данных до этого использовалась с родной BkEnd.dll (в хранимых процедурах есть код, который не проходит по ограничениям MSSQL 2005/2008/2008r2/2012);

Возникли проблемы? Отписываемся в следующем формате:

версия сборки и дата файлов bkend.dll и bkendutls.dll;
сервер СУБД в формате select @@version;
версия ОС;
конфигурация 1с;
действия, которые вызывали проблему;
делали ли, как выразился один из тестеров, "так называемую" реструктуризацию;
Disclaimer

Все права на ПП 1С:Предприятие принадлежат компании 1С (http://www.1c.ru). Ни один бит оригинальных файлов не изменен, все манипуляции выполняются штатными возможностями Microsoft(c) Windows(c).

Для чего это нужно?

Пока честные пользователи пытаются перейти с 1cv77 на 1cv8.x, необходимо иметь крепкий тыл в виде настроенной инфраструктуры, которая развернута на современном оборудовании и современном ПО. Однако, необходимо соблюсти лицензионную чистоту как по отношению к 1с, так и к Microsoft. Данным решением это получается сделать: бинарники 1c остаются нетронутыми, ПО от Microsoft актуально и современно.

У кого нет острой необходимости менять MS SQL 2000 на более свежие версии, тем нет надобности прибегать к этому решению.

Использование Вами данного решения идет по принципу "AS-IS".

Критика и конструктивные предложения принимаются.

History log

Реструктуризация теперь завершается инструкцией CHECKPOINT, вместо DUMP TRANSACTION WITH TRUNCATE_ONLY;
Изменена схема поиска хинтов;
Изменены формальные признаки для поиска хинтов;
Реструктуризация проекта;
Отключена проверка порядка сортировки (если в каталоге программы или ИБ будет лежать OrdNoChk.prm, то используются родные механизмы платформы);
Оптимизирована работа с постоянными объектами проекта;
Для версии sql2000 и ниже используются родные механизмы, без вмешательств;
Внес ошибку, когда устранял проблему SELECT GetDate();
Устранил ошибку (добавил новых :) );
Отключил установку/снятие режима bulk/copy;
Реализовал возможность запуска 1с через win-авторизацию;

Внимание: Публикация из infostart

СКАЧАТЬ BkEnd.dll и BkEndUtls.dll


Тема поднималась пользователем Aleksander 16 сен 2017, 07:28.
Aleksander
Администратор
 
Сообщения: 5622
Зарегистрирован: 05 окт 2013, 14:04

Вернуться в Отчётность, обновления,платформы,конфигурации 1С

Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей