Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
1c:установка-1с-предприятие-7-7-на-microsoft-sql-server-2008-r2 [2021/03/08 18:40] admin |
1c:установка-1с-предприятие-7-7-на-microsoft-sql-server-2008-r2 [2021/03/08 21:42] (текущий) admin |
Официально, платформа 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). Итак: | Официально, платформа 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). Итак: |
| |
===== 1. Установка Windows Server 2008 R2 ===== | ===== Установка Windows Server 2008 R2 ===== |
| |
В качестве серверной ОС используем Microsoft Windows Server 2008 R2. Об установке этой системы подробно можно прочитать в статье «Установка Windows Server 2008 R2». | В качестве серверной ОС используем Microsoft Windows Server 2008 R2. Об установке этой системы подробно можно прочитать в статье «Установка Windows Server 2008 R2». |
| |
===== 2. Установка SQL Server 2008 R2 ===== | ===== Установка SQL Server 2008 R2 ===== |
| |
Далее устанавливаем Microsoft SQL Server 2008 R2. Во время установки выбираем: | Далее устанавливаем Microsoft SQL Server 2008 R2. Во время установки выбираем: |
* Параметры сортировки — «Cyrilic_General_CI_AS» | * Параметры сортировки — «Cyrilic_General_CI_AS» |
* Режим проверки подлинности — «Смешанный режим» | * Режим проверки подлинности — «Смешанный режим» |
* | |
Очень подробно об установке SQL Server я писал в статье «Установка Microsoft SQL Server 2008 R2». | Очень подробно об установке 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]]. |
| |
| |
| |
| |
| |
| |
| |