1c:установка-1с-предприятие-7-7-на-microsoft-sql-server-2008-r2

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
1c:установка-1с-предприятие-7-7-на-microsoft-sql-server-2008-r2 [2021/03/08 18:29]
admin создано
1c:установка-1с-предприятие-7-7-на-microsoft-sql-server-2008-r2 [2021/03/08 21:42] (текущий)
admin
Строка 1: Строка 1:
-Официально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL Server 2008 R2. Ниже представлена пошаговая настройка связки 1С:Предприятие 7.7 + MS SQL Server 2008 R2 + Microsoft Windows Server 2008 R2 (Справедливо и для других операционных систем семейства Windows). Итак:+====== Установка 1С:Предприятие 7.7 на Microsoft SQL Server 2008 R2 ====== 
 + 
 +Официально, платформа 1С:Предприятие 7.7 работает только с [[http://www.1c.ru/rus/products/microsft/sql/|MS SQL Server 2000]]. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL Server 2008 R2. Ниже представлена пошаговая настройка связки 1С:Предприятие 7.7 + MS SQL Server 2008 R2 + Microsoft Windows Server 2008 R2 (Справедливо и для других операционных систем семейства Windows). Итак: 
 + 
 +===== Установка Windows Server 2008 R2 ===== 
 + 
 +В качестве серверной ОС используем Microsoft Windows Server 2008 R2. Об установке этой системы подробно можно прочитать в статье «Установка Windows Server 2008 R2». 
 + 
 +===== Установка SQL Server 2008 R2 ===== 
 + 
 +Далее устанавливаем Microsoft SQL Server 2008 R2. Во время установки выбираем: 
 + 
 +  * Параметры сортировки  — «Cyrilic_General_CI_AS» 
 +  * Режим проверки подлинности — «Смешанный режим» 
 + 
 +Очень подробно об установке SQL Server я писал в статье «Установка Microsoft SQL Server 2008 R2». 
 + 
 +===== Создание новой базы данных в  SQL Server 2008 R2 ===== 
 + 
 +Добавляем нового пользователя в SQL Server 2008 R2. Обязательно даем ему роль ''processadmin'', иначе будем натыкаться на ошибку: 
 + 
 +**«Доступ к базе возможен только из одного каталога информационной базы»**   
 + 
 +Затем создаем новую базу данных, указав: 
 + 
 +  * Имя базы данных не должно начинаться с цифры или иметь пробелы в названии, иначе получим ошибку: ''«неправильный синтаксис около конструкции %имя базы данных%»'' 
 +  * В качестве владельца указываем только что созданного пользователя (В моем случае имя пользователя — «UserSQL» ) 
 +  * Модель восстановления базы данных: «Простая» (1С:Предприятие 7.7 прекрасно работает и при полной модели восстановления. Но в этом случае, вы должны хорошо понимать все плюсы и минусы данного решения). 
 +  * Уровень совместимости: «SQL Server 2000 (80)». 
 + 
 +О том как это сделать читайте в статье «Добавление пользователя и создание новой базы данных в Microsoft SQL Server 2008 R2». 
 + 
 +===== Настройка Windows Server 2008 R2 ===== 
 + 
 +Теперь необходимо заменить оригинальные фалы odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll (скачать все файлы одним архивом) в каталогах **C:\Windows\System32** и в **C:\Windows\SysWOW64** файлами из каталога **C:\Windows\System32** под управлением Windows Server 2003 (в архиве). Чтобы сделать это необходимо стать владельцем этих файлов и получить права на их редактирование . Для этого заходим в **C:\Windows\System32** находим файл **odbcbcp.dll**, кликаем по нему правой кнопкой, выбираем «Свойства». В открывшемся окне переходим на вкладку //«Безопасность»//, нажимаем //«Дополнительно»//
 + 
 +{{ :1c:0001:ustanovka_1c_sql_001.png |}} 
 + 
 +В появившемся окне переходим на вкладку //«Владелец»// , нажимаем //«Изменить»// , выбираем текущего пользователя и жмем 2 раза //«ОК»//
 + 
 +{{ :1c:0001:ustanovka_1c_sql_002.png |}} 
 + 
 +Затем на вкладе //«Безопасность»// нажимаем «Изменить» и для текущего пользователя выставляем уровень безопасности //«Полный доступ»// . Закрываем окна кнопкой //«ОК»//
 + 
 +Только после этого система даст нам заменить файл **odbcbcp.dll**. 
 + 
 +Аналогичные действия необходимо выполнить и для всех остальных файлов в папках **C:\Windows\System32** и **C:\Windows\SysWOW64**. 
 + 
 +Если этого не сделать, при запуске 1С:Предприятие будем натыкаться на ошибку: ''«Ошибка для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше»'' 
 + 
 +===== Установка 1С:Предприятие 7.7 ===== 
 + 
 +Теперь необходимо установить 1С:Предприятие 7.7, ставим версию для SQL. Об особенностях установки читайте в статье [[http://tavalik.ru/index.php/ustanovka_1c_x64/|«Установка системы 1С:Предприятие 7.7 в Windows x64»]]. 
 + 
 + 
 +===== Патч и замена файла BkEnd.dll ===== 
 + 
 +Теперь необходимо заменить файл **BkEnd.dll** из оригинальной поставки 1С:Предприятие 7.7, находящего по пути **C:\Program Files (x86)\1Cv77\BIN**, «пропатченным» файлом [[http://www.tavalik.ru/files/Ustanovka_1C_SQL/BkEnd.dll|BkEnd.dll]]. Вы можете использовать мой файл, или сделать изменения самостоятельно. О том как и что необходимо в нем изменить читайте в моей статье [[http://tavalik.ru/index.php/hex-editor/|«Работа в Hex-редакторе Free Hex Editor Neo, на примере патча файла BkEnd.dll для работы 1С:Предприятие 7.7 с Microsoft SQL Server 2008 R2»]]. 
 + 
 +Замену файла делаем для того, чтобы избавиться от ошибок: 
 + 
 +  * ''«Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!»'' 
 +  * ''«Порядок сортировки, установленный для базы, отличается от системного!»'' 
 +  * ''«Неправильный синтаксис около ключевого слова «TRANSACTION»'' 
 +  * ''«База данных не может быть открыта в однопользовательском режиме»'' 
 + 
 +===== Создание представления sksprocesses в MS SQL Server ===== 
 + 
 +Продолжаем исправлять ошибку **//«База данных не может быть открыта в однопользовательском режиме»//**. Для этого создадим представление в базе данных ([[http://forum.ru-board.com/topic.cgi?forum=8&topic=34526&start=20#18|источник]]). 
 + 
 +Заходим в программу «Среда Microsoft SQL Server Management Studio» («Пуск» — //«Все программы»// — «//Microsoft SQL Server 2008 R2//» — «//Среда Microsoft SQL Server Management Studio//» ), выбираем наш SQL Server (в моем примере это «S4\ULTRA»), раскрываем вкладку «//Базы данных//» , затем «Системные базы данных» и вкладку «//master//» . На вкладке «//Представления//» кликаем правой кнопкой мыши и в меню выбираем «//Создать представление//» . 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_004.png?nolink |}} 
 + 
 +Откроется окно «//Добавление таблицы//» , закроем его нажав «//Закрыть//»  
 + 
 +{{ :1c:0001:ustanovka_1c_sql_005.png?nolink |}} 
 + 
 +Теперь в окне слева напишем текст представления: 
 + 
 +<code>select * from sysprocesses where cmd <> 'checkpoint'</code> 
 + 
 +Затем, нажимаем «//Выполнить код SQL//» (Иконка с красным восклицательным знаком на панели) 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_006.png?nolink |}} 
 + 
 +После того, как код изменится, сохраним представление, назвав  его **sksprocesses**. 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_007.png?nolink |}} 
 + 
 +В результате чего в обозревателе объектов увидим только что созданное представление **dbo.sksprocesses**. Кликаем по нему правой кнопкой мыши и выбираем «//Свойства//» . 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_008.png?nolink |}} 
 + 
 +Откроется окно «//Свойства представления//» , в нем переходим на вкладку «//Разрешения//» и добавим пользователя **guest**. Для этого нажимаем «//Найти//» в окне добавления пользователей «//Обзор//» , отмечаем в списке пользователя **guest** и жмем «//ОК//» . 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_009.png?nolink |}} 
 + 
 +Теперь отмечаем разрешения для **guest**: 
 + 
 +  * Вставка 
 +  * Выборка 
 +  * Изменение 
 +  * Назначение владельцем 
 +  * Обновление 
 +  * Просмотр определения 
 + 
 +После чего нажимаем «//ОК//» . 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_010.png?nolink |}} 
 + 
 +На этом создание представления завершено. 
 + 
 +===== Добавление информационной базы в 1С:Предприятие 7.7 ===== 
 + 
 +Теперь, запустим 1С:Предприятие в режиме конфигуратора и добавим новую базу, для этого нажимаем «//Добавить//» задаем имя базы данных и указываем путь к каталогу в котором будет храниться наша база (изначально должен быть пустым) и нажимаем «//ОК//» . 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_011.png?nolink |}} 
 + 
 +Заходим в добавленную только что базу данных в режиме конфигуратора. При первом запуске система попросит выбрать формат хранения данных. Выбираем «//MS SQL Server//» и нажимаем «//ОК//». 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_012.png?nolink |}} 
 + 
 +В запустившемся конфигураторе заходим в «//Администрирование//» — «//Параметры базы данных SQL…//» . 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_013.png?nolink |}} 
 + 
 +Откроется окно «//Параметры базы данных SQL//», в нем заполняем: 
 + 
 +  * Имя сервера в формате: //<Сетевое имя компьютера>\<Имя экземпляра SQL Server>//. (в моем случае это «//S4\ULTRA//» ) 
 +  * База данных: Имя базы данных, которое было введено при создании новой базы данных в п. 2. (в моем случае это «//BASE_1C//» ) 
 +  * Пользователь: Имя пользователя, которое было введено при создании нового пользователя в п. 2. (у меня это «//UserSQL//» ) 
 +  * Пароль: Пароль, который указывали для пользователя при создании в п. 2. 
 + 
 +И нажимаем «//ОК//». 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_014.png?nolink |}} 
 + 
 +Если нам нужна новая, т. е. «чистая» база, то уже можно начинать работать. Если же необходимо перенести уже существующую базу данных, то необходимо предварительно выгрузить из нее данные (войти в 1С:Предприятие в режиме конфигуратора, «//Администрирование//» — «//Выгрузить данные//») а затем загрузить в нашу, только что созданную базу на SQL («//Администрирование//» — «//Загрузить данные//» — выбрать файл выгрузки — «//ОК//» и согласиться с предупреждением о конфликте данных) . 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_015.png?nolink |}} 
 + 
 +После этого этапа уже можно работать в 1С под текущим пользователем Windows. 
 + 
 +===== Настройка безопасности для всех пользователей ===== 
 + 
 +Если подразумевается, что данный сервер является также [[http://tavalik.ru/index.php/ustanovka-servera-terminalov-na-windows-server-2008-r2/|Сервером терминалов]], на котором будут работать несколько пользователей, то необходимо для директорий, где хранятся базы данных 1С (в моем случае это «//C:\1C_BASE//») дать всем пользователям права на чтение/запись. Для этого в проводнике выделяем нужную папку, кликаем по ней правой кнопкой мыши и в меню выбираем «//Свойства//». В открывшемся окне переходим на вкладку «//Безопасность//» и нажимаем кнопку «Изменить». В окне «//Разрешения для группы…//» для группы «//Все//» установим «//Полный доступ//» . Закроем все окна кнопкой «//ОК//» . 
 + 
 +{{ :1c:0001:ustanovka_1c_sql_16-640x480.png?nolink |}} 
 + 
 +Теперь можно [[http://tavalik.ru/index.php/sozdanie-novogo-polzovatelya-v-windows-server-2008/|создавать пользователей]] для работы с 1С:Предприятие в режиме [[http://tavalik.ru/index.php/ustanovka-servera-terminalov-na-windows-server-2008-r2/|терминального сервера]] или в режиме [[http://tavalik.ru/index.php/nastrojka-udalennyx-prilozhenij-remoteapp-v-windows-server-2008-r2/|удаленных приложений RemoteApp]]. 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
  • 1c/установка-1с-предприятие-7-7-на-microsoft-sql-server-2008-r2.1615202953.txt.gz
  • Последнее изменение: 2021/03/08 18:29
  • admin