Как подключить базу 1с 7
Установка и настройка MS SQL Server для 1С:Предприятие
Тему установки MS SQL Server обычно обходят стороной. Действительно, трудно не установить эту СУБД, даже делая это в первый раз, столь же трудно не запустить в связке с ней Сервер 1С:Предприятия. Однако есть ряд неочевидных тонкостей, которые способны существенно отравить жизнь администратору, о чем мы сегодня и расскажем.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
MS SQL Server занимает первое место по количеству внедрений в связке с 1С:Предприятием, во многом это объясняется низким порогом вхождения, осилить данную связку вполне способен человек без опыта, сугубо по методу Next - Next - Finish. И, что самое интересное, все это будет работать. Скажем больше, в подавляющем большинстве случаев настройки SQL-сервера по умолчанию более чем достаточно для обеспечения производительной работы сервера 1С:Предприятия и трогать их не только не нужно, но даже вредно.
Однако есть другая категория настроек, которая отвечает за расположение и выделение физических ресурсов и которую обычно тоже никто не трогает до тех пор, пока не начнет испытывать проблемы с производительностью.
Прежде всего следует вспомнить про системную базу tempdb, которая активно используется 1С для хранения временных таблиц и промежуточных результатов. Причем она используется сразу всеми базами 1С, работающими на сервере. А так как по умолчанию она располагается в папке установки SQL-сервера, т.е. на системном диске, то при увеличении нагрузки именно tempdb становится бутылочным горлышком для всего сервера. Очень часто это приводит к ситуациям: купили быстрые HDD / SSD, дисковых ресурсов хватает, а 1С тормозит, что способно вызвать у начинающих администраторов серьезные затруднения.
Второй момент. Кодировка сравнения tempdb должна совпадать с кодировкой сравнения информационных баз, иначе это может в ряде случаев привести к неожиданным результатам, вплоть до серьезных ошибок в расчетах.
В тоже время указанных сложностей совсем не сложно избежать, достаточно лишь потратить пару лишних минут при установке или внимательно просмотреть настройки уже установленного сервера.
Подготовка к установке
Еще на стадии планирования следует уделить некоторое внимание дисковой подсистеме. Для хранения пользовательских баз данных и системной базы tempdb следует выделить отдельный раздел, а еще лучше дисковый массив из быстрых дисков или SSD. В нагруженных системах имеет смысл разнести базы данных и журналы транзакций по разным дисковым массивам. Также рекомендуется отформатировать эти разделы с размером кластера в 64 КБ.
Установка MS SQL Server для работы с 1С:Предприятие
Как мы уже говорили, установка SQL-сервера предельно проста, и мы не будем описывать этот процесс подробно, обратив внимание лишь на необходимые настройки. Начнем с выбора компонентов, так как 1С не использует большинство механизмов SQL-сервера и если вы не собираетесь их использовать для иных целей, то оставляем только Службы ядра СУБД и Соединения с клиентскими средствами. В предыдущих версиях эти компоненты назывались Database Engine, Средства связи клиентских средств, также в них можно опционально установить Средства управления (однако лучше установить свежую версию средств управления отдельно).
На закладке Учетные записи служб обязательно установите флаг Предоставить право на выполнение задач обслуживания тома службе ядра СУБД SQL Server.
Затем следует проверить параметры сортировки, если у вас правильно настроены региональные настройки, то скорее всего там ничего изменять не придется, но проконтролировать данный параметр желательно, там должно быть Cyrillic_General_CI_AS.
В Конфигурации сервера укажите Смешанный режим проверки подлинности и задайте пароль суперпользователю SQL - sa. Также укажите ниже администраторов данного экземпляра SQL-сервера, как минимум следует добавить текущего пользователя, но если администрировать данный экземпляр будут другие ваши коллеги, то имеет смысл сразу их указать.
Следующая закладка - Каталоги данных - требует самого пристального внимания. Обязательно укажите в качестве места хранения пользовательских баз место на производительном массиве или отдельном диске. Несмотря на то, что расположение базы можно указывать при ее создании, задание правильных настроек по умолчанию избавляет вас от лишней работы, а также от ситуации, когда база создается средствами 1С и оказывается в каталоге по умолчанию, т.е. на системном диске. Также сразу можете указать каталог для хранения резервных копий.
Современные версии MS SQL содержат отдельную закладку TempDB, для настройки одноименной базы, в предыдущих версиях данных настроек нет и о том, как настроить данную базу будет рассказано ниже. Здесь же мы выставляем для базы: количество файлов - 4, начальный размер - от 1 ГБ до 10 ГБ, авторасширение - 512 МБ, аналогичный размер и авторасширение устанавливается для файла журнала. Также не забываем проконтролировать размещение TempDB на отдельном разделе/диске.
Остальные настройки можно оставить по умолчанию и завершить установку.
Для управления сервером СУБД следует скачать и установить SQL Server Management Studio (SSMS), ее можно установить как на сервер, так и на компьютер администратора, чтобы управлять с него всеми доступными SQL-серверами. Никаких особенностей в установке SSMS нет.
Настройка операционной системы
Если у вас имеется уже установленный экземпляр MS SQL, либо вы не выполнили всех рекомендаций по установке, то следует проверить ряд настроек операционной системы. Запустим редактор локальной политики безопасности secpol.msc и перейдем в раздел Локальные политики - Назначение прав пользователя. Откроем политику Выполнение задач по обслуживанию томов и убедимся, что в списке пользователей присутствует учетная запись от имени которой работает SQL Server - NT SERVICE\MSSQLSERVER.
Если ваш экземпляр MS SQL Server установлен отдельно от Сервера 1С:Предприятие, то выполните аналогичную настроку для политики Блокировка страниц в памяти.
Настройка MS SQL Server для работы с 1С:Предприятие
Если вы имеете дело с уже установленным экземпляром SQL-сервера, убедитесь, что кодировка сравнения Cyrillic_General_CI_AS, для этого откройте Managment Studio, выберите необходимый экземпляр SQL-сервера и щелкнув на нем правой кнопкой мыши перейдите к Свойствам:
В противном случае данные следует выгрузить средствами 1С, а сервер переустановить (или установить еще один экземпляр, если данный используется другими службами).
Затем перейдите к закладке Память, за основу для расчетов принимается объем выделенного SQL-серверу размера памяти (RAM). Обычно это объем памяти сервера за вычетом ОЗУ для ОС и иных служб, например, Сервера 1С:Предприятие. Для сервера с объемом ОЗУ в 32 ГБ мы будем исходить из доступного объема в 24 ГБ, выделив 8 ГБ для ОС и сервера 1С. Но данные соотношения не являются эталоном и в вашем случае это могут быть иные числа.
Для расчета минимального объема памяти применяется формула:
Для максимального применяется полный размер RAM, за вычетом 1 ГБ на каждые выделенные 16 ГБ ОЗУ (все объемы указываются в МБ):
В разделе Параметры базы данных можно проконтролировать места хранения пользовательских баз и журналов, а также изменить их при необходимости. Все изменения будут применены только к вновь создаваемым базам данных, уже существующие БД потребуется перенести в новое расположение вручную (если в этом есть необходимость).
В разделе Дополнительно - Параллелизм установите параметр:
Следующая настройка будет связана с безопасностью. Для подключения 1С к серверу чаще всего используется учетная запись sa, что, мягко говоря, небезопасно, так как дает вошедшему под ней полный доступ к SQL-серверу. Учитывая, что администрированием баз 1С часто занимаются сторонние специалисты, то имеет смысл создать для них отдельную учетную запись.
Для этого раскройте Безопасность - Имена для входа и создайте новое имя (учетную запись), укажите проверку подлинности SQL-сервер и задайте пароль.
Затем перейдите на закладку Роли сервера и разрешите dbcreator, processadmin и public.
После чего используйте для подключения к SQL-серверу из 1С именно эту учетную запись.
Все создаваемые базы данных создаются на основе служебной базы model и к ним применяются все настройки этой БД, поэтому перейдем в Базы данных - Служебные базы данных и откроем свойства базы model. В разделе Файлы укажите значения начального размера базы от 1 ГБ до 10 ГБ, начальный размер журнала транзакций от 1 ГБ до 2 ГБ и авторасширение в 512 МБ. Выбирая начальный размер базы, нужно исходить из соображений чтобы размер файла превосходил загружаемый размер образа информационной базы 1С.
В разделе Параметры укажите Модель восстановления в соответствии с применяемой политикой резервного копирования и установите параметр:
Для уже существующих баз потребуется выполнить аналогичные настройки, за исключением параметра Начального размера, его следует выставить больше, чем текущий размер файлов базы и лога транзакций. Для базы данных желательно указать планируемый размер БД за длительный период эксплуатации, а для файла журнала размер, исключающий его авторасширение в процессе работы.
После внесения всех изменений в конфигурацию службу SQL сервера потребуется перезапустить.
Настройка сетевых протоколов
Для настройки сетевых протоколов откроем Диспетчер конфигурации SQL Server и перейдем в раздел Сетевая конфигурация SQL Server - Сетевые протоколы для MSSQLSERVER, где MSSQLSERVER - имя вашего экземпляра, и установим следующие настройки:
- Общая память (Shared Memory) - Включено
- Именованные каналы (Named pipes) - Отключен
- TCP/IP - Включено
Настройка базы tempdb
В предыдущих версиях MS SQL Server нет возможности настроить параметры базы tempdb при установке, также вы могли выполнить установку со значениями по умолчанию, либо вам достался уже установленный экземпляр, в этих случаях нужно произвести дополнительную настройку. Откроем Managment Studio и перейдем в Базы данных - Служебные базы данных в свойства базы tempdb. В разделе Файлы разобьем базу на четыре файла данных и установим для них начальный размер от 1ГБ до 10 ГБ, но не менее текущего размера файла, авторасширение - 512 МБ. Аналогичные настройки установим и для файла журнала.
Перенос базы tempdb
Довольно часто встречаются ситуации, когда tempdb требуется перенести в другое место. Например, сервер был установлен с параметрами по умолчанию и tempdb находится на системном разделе, или вы приобрели SSD и хотите перенести туда не только базы, но и tempdb (что является правильным решением). Также при большой нагрузке на tempdb его рекомендуется выносить на отдельный диск.
Для того, чтобы изменить место расположения файла tempdb откройте Managment Studio, выберите Создать запрос и в открывшемся окне введите следующий текст, где E:\NEW_FOLDER - новое расположение для базы:
Данный запрос состоит из двух секций, верхняя переносит файл данных, нижняя - журнал транзакций. Если вы разделили базу на четыре файла данных, то следует изменить запрос, создав для каждого файла данных свою секцию.
Создав запрос нажмите Выполнить, после выполнения запроса перезапустите SQL-сервер, файлы базы и лога tempdb будут созданы в новом месте, файлы по старому расположению следует удалить вручную.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Официально, платформа 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). Итак:
0. Оглавление
1. Установка Windows Server 2008 R2
В качестве серверной ОС используем Microsoft Windows Server 2008 R2. Об установке этой системы подробно можно прочитать в статье «Установка Windows Server 2008 R2».
2. Установка SQL Server 2008 R2
Далее устанавливаем Microsoft SQL Server 2008 R2. Во время установки выбираем:
- Параметры сортировки — «Cyrilic_General_CI_AS»
- Режим проверки подлинности — «Смешанный режим»
Очень подробно об установке SQL Server я писал в статье «Установка Microsoft SQL Server 2008 R2».
3. Создание новой базы данных в SQL Server 2008 R2
Добавляем нового пользователя в SQL Server 2008 R2. Обязательно даем ему роль processadmin, иначе будем натыкаться на ошибку:
«Доступ к базе возможен только из одного каталога информационной базы»
Затем создаем новую базу данных, указав:
- Имя базы данных не должно начинаться с цифры или иметь пробелы в названии, иначе получим ошибку:
«неправильный синтаксис около конструкции %имя базы данных%» - В качестве владельца указываем только что созданного пользователя (В моем случае имя пользователя — «UserSQL» )
- Модель восстановления базы данных: «Простая» (1С:Предприятие 7.7 прекрасно работает и при полной модели восстановления. Но в этом случае, вы должны хорошо понимать все плюсы и минусы данного решения).
- Уровень совместимости: «SQL Server 2000 (80)» .
4. Настройка 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, кликаем по нему правой кнопкой, выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность», нажимаем «Дополнительно».
В появившемся окне переходим на вкладку «Владелец» , нажимаем «Изменить» , выбираем текущего пользователя и жмем 2 раза «ОК» .
Затем на вкладе «Безопасность» нажимаем «Изменить» и для текущего пользователя выставляем уровень безопасности «Полный доступ» . Закрываем окна кнопкой «ОК» .
Только после этого система даст нам заменить файл odbcbcp.dll.
Аналогичные действия необходимо выполнить и для всех остальных файлов в папках C:\Windows\System32 и C:\Windows\SysWOW64.
Если этого не сделать, при запуске 1С:Предприятие будем натыкаться на ошибку:
«Ошибка для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше»
5. Установка 1С:Предприятие 7.7
Теперь необходимо установить 1С:Предприятие 7.7, ставим версию для SQL. Об особенностях установки читайте в статье «Установка системы 1С:Предприятие 7.7 в Windows x64».
6. Патч и замена файла BkEnd.dll
Теперь необходимо заменить файл BkEnd.dll из оригинальной поставки 1С:Предприятие 7.7, находящего по пути C:\Program Files (x86)\1Cv77\BIN, «пропатченным» файлом BkEnd.dll. Вы можете использовать мой файл, или сделать изменения самостоятельно. О том как и что необходимо в нем изменить читайте в моей статье «Работа в Hex-редакторе Free Hex Editor Neo, на примере патча файла BkEnd.dll для работы 1С:Предприятие 7.7 с Microsoft SQL Server 2008 R2».
Замену файла делаем для того, чтобы избавиться от ошибок:
- «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!»
- «Порядок сортировки, установленный для базы, отличается от системного!»
- «Неправильный синтаксис около ключевого слова «TRANSACTION»
- «База данных не может быть открыта в однопользовательском режиме»
7. Создание представления sksprocesses в MS SQL Server
Продолжаем исправлять ошибку «База данных не может быть открыта в однопользовательском режиме». Для этого создадим представление в базе данных (источник).
Заходим в программу «Среда Microsoft SQL Server Management Studio» («Пуск» — «Все программы» — «Microsoft SQL Server 2008 R2» — «Среда Microsoft SQL Server Management Studio» ), выбираем наш SQL Server (в моем примере это «S4\ULTRA»), раскрываем вкладку «Базы данных» , затем «Системные базы данных» и вкладку «master» . На вкладке «Представления» кликаем правой кнопкой мыши и в меню выбираем «Создать представление» .
Откроется окно «Добавление таблицы» , закроем его нажав «Закрыть» .
Теперь в окне слева напишем текст представления:
Затем, нажимаем «Выполнить код SQL» (Иконка с красным восклицательным знаком на панели)
После того, как код изменится, сохраним представление, назвав его sksprocesses.
В результате чего в обозревателе объектов увидим только что созданное представление dbo.sksprocesses. Кликаем по нему правой кнопкой мыши и выбираем «Свойства» .
Откроется окно «Свойства представления» , в нем переходим на вкладку «Разрешения» и добавим пользователя guest. Для этого нажимаем «Найти» в окне добавления пользователей «Обзор» , отмечаем в списке пользователя guest и жмем «ОК» .
Теперь отмечаем разрешения для guest:
- Вставка
- Выборка
- Изменение
- Назначение владельцем
- Обновление
- Просмотр определения
После чего нажимаем «ОК» .
На этом создание представления завершено.
8. Добавление информационной базы в 1С:Предприятие 7.7
Теперь, запустим 1С:Предприятие в режиме конфигуратора и добавим новую базу, для этого нажимаем «Добавить» задаем имя базы данных и указываем путь к каталогу в котором будет храниться наша база (изначально должен быть пустым) и нажимаем «ОК» .
Заходим в добавленную только что базу данных в режиме конфигуратора. При первом запуске система попросит выбрать формат хранения данных. Выбираем «MS SQL Server» и нажимаем «ОК» .
В запустившемся конфигураторе заходим в «Администрирование» — «Параметры базы данных SQL…» .
Откроется окно «Параметры базы данных SQL«, в нем заполняем:
- Имя сервера в формате: Сетевое имя компьютера>\Имя экземпляра SQL Server>. (в моем случае это «S4\ULTRA» )
- База данных: Имя базы данных, которое было введено при создании новой базы данных в п. 2. (в моем случае это «BASE_1C» )
- Пользователь: Имя пользователя, которое было введено при создании нового пользователя в п. 2. (у меня это «UserSQL» )
- Пароль: Пароль, который указывали для пользователя при создании в п. 2.
Если нам нужна новая, т. е. «чистая» база, то уже можно начинать работать. Если же необходимо перенести уже существующую базу данных, то необходимо предварительно выгрузить из нее данные (войти в 1С:Предприятие в режиме конфигуратора, «Администрирование» — «Выгрузить данные» ) а затем загрузить в нашу, только что созданную базу на SQL («Администрирование» — «Загрузить данные» — выбрать файл выгрузки — «ОК» и согласиться с предупреждением о конфликте данных) .
После этого этапа уже можно работать в 1С под текущим пользователем Windows.
9. Настройка безопасности для всех пользователей
Если подразумевается, что данный сервер является также Сервером терминалов, на котором будут работать несколько пользователей, то необходимо для директорий, где хранятся базы данных 1С (в моем случае это «C:\1C_BASE») дать всем пользователям права на чтение/запись. Для этого в проводнике выделяем нужную папку, кликаем по ней правой кнопкой мыши и в меню выбираем «Свойства«. В открывшемся окне переходим на вкладку «Безопасность» и нажимаем кнопку «Изменить» . В окне «Разрешения для группы…» для группы «Все» установим «Полный доступ» . Закроем все окна кнопкой «ОК» .
Смотрите также:
В данной статье я подробно опишу процесс установки Microsoft SQL Server 2008 R2 в Windows Server 2008 R2 (для других ОС семейства Windows процесс аналогичен). Во время установки будут выбраны…
Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…
Если к службе Microsoft SQL Server должны подключаться программы с других компьютеров в сети, то необходимо чтобы правильным образом был настроен Брандмауэр Windows на сервере, где запущена служба. А именно разрешены…
Запись опубликована в рубрике 1С 7 с метками 1Сv7, SQL, Windows Server 2008. Добавьте в закладки постоянную ссылку.
Настраиваем 1С Предприятие 7.7 для работы с SQL Server 2000
Одним из способов повысить быстродействие 1С Предприятия 7.7, особенно при работе с большими базами, является переход от файлового режима 1С к использованию SQL сервера. Несмотря на то, что оба продукта уже заканчивают свой жизненный цикл, данная тема остается довольно актуальной. В данной статье мы рассмотрим практическую настройку сервера для работы 1С Предприятия совместно с SQL Server 2000.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Немного теории, или что нам дает SQL?
Перед тем как браться за реализацию проекта, необходимо усвоить базовый объем знаний и твердо знать ответы на следующие вопросы: в чем основное отличие файлового и SQL вариантов работы 1С Предприятия, от чего зависит быстродействие в обоих случаях и какие требования предъявляются к оборудованию и сети. Непонимание этих, в общем то простых, вещей приводит к тому, что переход на SQL версию 1С не приносит желаемых результатов или вообще, результат противоположный ожидаемому.
Рассмотрим работу 1С в режиме разделения файлов. Вся обработка информации производится на рабочей станции, сервер играет роль общего файлового хранилища. Основные требования к такому серверу: быстрый жесткий диск и отказоустойчивость дисковой системы (обычно реализуется RAID 1, реже RAID 10). Обычно такой "сервер" представляет из себя обычную бюджетную машину с RAID контроллером и гигабитным сетевым адаптером.
При выполнении операции (отчета, обработки и т.п.) часть базы или даже вся база закачивается по сети на рабочую станцию, где уже и выполняется вся необходимая обработка данных. От чего зависит быстродействие в данном случае? В первую очередь от мощности рабочей станции и пропускной способности сети, более мощная машина будет более быстро строить отчеты и выполнять проводки.
Еще одним важным параметром является размер базы данных, с ее ростом выше некоторых пределов быстродействие начинает падать в геометрической прогрессии. Основным узким местом становится пропускная способность сети, а основным фактором влияющим на быстродействие и определяющий критический размер базы является количество активных пользователей.
Наш практический опыт показывает: для небольших рабочих групп (5-10 пользователей) критический размер базы начинается от 200-300 Мб. Бороться с этим можно увеличением быстродействия сети и оптимизацией потоков трафика в организации или ежегодной (ежеквартальной) сверткой БД.
Однако свертка это не выход, для нормальной работы торгового предприятия необходимы данные как минимум за текущий год, да и данные прошлых периодов также бывают частенько нужны. Вложения в расширение пропускной способности сети себя как правило не окупают, размеры БД и объемы трафика в сети растут намного быстрее, особенно если руководство решит "немного" расшириться, на 1-2 рабочих места.
Теперь посмотрим как обстоят дела в SQL варианте. Вместо таблиц все данные хранятся в одной SQL базе данных. Теперь рабочая станция передает на сервер короткие запросы, которые полностью обрабатываются на стороне сервера и рабочей станции возвращается конечный результат запроса. Это позволяет снизить трафик в разы и во столько же раз повышает нагрузку на сервер. К быстродействию рабочих станций особых требований не предъявляется, также будет вполне достаточно обычной 100 Мб сети.
Хотя следует помнить, что 1С Предприятие 7.7 для SQL довольно неоптимально и не использует многие возможности SQL сервера, поэтому часть данных обрабатываются не сервером, а рабочей станцией и в случае работы с емкими отчетами и обработками быстродействие рабочей станции тоже будет играть не последнюю роль. Основная же нагрузка ложится на сервер.
Распространенная ошибка - использование в качестве SQL сервера того же железа, что использовалось в качестве файлового сервера. Можно с уверенностью сказать, что результат будет противоположен ожидаемому. Если сразу пять пользователей запустят формирование отчетов, все эти пять отчетов будут формироваться сервером, следовательно вычислительных ресурсов сервера должно хватать для одновременной обработки запросов сразу от всех пользователей. Объем оперативной памяти должен быть достаточным для того, чтобы в нем полностью помещались SQL базы, также базы желательно вынести на отдельный от системы и других данных жесткий диск (дисковый массив), чтобы избежать конкуренции за доступ к головкам жесткого диска.
В случае совмещения SQL сервера с сервером терминалов на одной физической машине следует удостовериться, что ее ресуров достаточно для одновременной обработки запросов SQL сервера и клиентских приложений 1С, а оперативной памяти достаточно как для SQL сервера, так и для пользовательских приложений. В любом случае желательно ограничится выносом в терминал только 1С, прочие приложения желательно оставить на рабочих станциях, либо разнести сервер терминалов и SQL сервер по отдельным машинам. Также нежелательно совмещать на одном SQL сервере несколько объемных 1С баз. Как показывает практика, бывает дешевле купить под вторую базу отдельный сервер, чем покупать мощный сервер сразу под все базы.
Подведем краткие итоги. Основные преимущества SQL сервера раскрываются при работе с базами большого объема, в тоже время нет никакого смысла переводить на SQL небольшие базы с малым количеством пользователей.
От теории к практике. Установка SQL сервера.
Установка MS SQL Server 2000 проста и незамысловата, однако уже на стадии установки необходимо указать несколько отличных от установки по умолчанию параметров, необходимых для нормальной работы 1С. Платформой для установки сервера будет Windows Server 2003 SP2. Если вы устанавливаете версию SQL сервера с пакетом обновления ниже чем SP3, то система выведет вам грозное предупреждение, что устанавливаемая версия несовместима с системой, которое можно смело проигнорировать, практика показала - все работает прекрасно.
Далее, в процессе установке принимаем все значения по умолчанию пока не дойдем до экрана Services Accounts, здесь устанавливаем переключатель в положение Use the Local System account
На следующем экране выбираем вариант Mixed Mode и вводим пароль для пользователя sa, от имени которого мы будем подключаться к БД.
Остальные параметры оставляем по умолчанию. По завершению установки желательно обновить SQL сервер до последней версии, установив SP4 (скачать). Установка SP4 производится со значениями по умолчанию, кроме параметров соединения с сервером, здесь переводим переключатель в верхнее положение и вводим пароль для sa.
Настройка 1С Предприятие
Теперь, когда SQL сервер установлен и готов к использованию необходимо настроить 1С Предприятие. Напомним, что для работы с SQL сервером необходима отдельная версия 1С для SQL. Для успешной работы с SQL сервером в базе 1С должен быть заведен хотя бы один пользователь. Далее загружаем целевую базу в конфигуратор и производим выгрузку данных через Администрирование - Выгрузить данные.
После чего создаем заготовку будущей БД, для этого в отдельную папку копируем все папки из рабочей базы данных и все файлы кроме файлов конфигурации и таблиц (V7Plus, библиотеки для работы с торговым оборудованием и т.п.)
Следующим шагом необходимо создать новую SQL базу для хранени наших данных. Для этого запускаем Enterprise Manager.
На первой закладке открывшегося окна вводим имя создаваемой базы, вторая и третья закладка определяют пути хранения файла БД и файла лога транзакций. По умолчанию предполагается их хранение в папке установки SQL сервера, однако желательно хранить их в отдельной папке рядом с базой 1С (желательно на отдельном жестком диске или на отдельном разделе).
Создав базу, подключаем папку с заготовкой в качестве базы 1С и загружаем Конфигуратор. На вопрос выбора формата хранения данных указываем MS SQL Server, в Конфигураторе выбираем Администрирование - Параметры базы данных SQL и заполняем поля.
В качестве сервера указываем сетевое имя машины, его можно подсмотреть в SQL Server Service Manager, щелкнув на значке в трее рядом с часами. В поле База Данных вводим название базы, которое мы указали при ее создании в Enterprise Manager. Пользователь sa, ниже вводим его пароль.
Как видим ничего сложного нет, и при наличии должных навыков весь процесс занимает не более часа, при этом большая часть времени уходит на загрузку - выгрузку базы.
Дополнительные материалы:
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
В диспетчере задач видно 1С 7.7 запускается под пользователем под которым запущен сервер 1С предприятия, грузится(т.е. количество используемой памяти процессом 1CV77S.exe увеличивается и заканчивается ничем, т.е.
Методы решения
1. Запуск сервера 1С под учетной записью "Локальная система"
Минус данная учетная запись не имеет доступа к сети. т.е. файловая часть базы 7.7 может располагаться только на компьютере где выполняется сервер 1С предприятия.
2. Изменение настроек в реестре
SharedSection=1024,3072,512 вот здесь редактируем 3 значение я поставил 8192 (было 512 кб). Важно чтобы 2 и 3 значение не привысило 48 мб.
Специальные предложения
Странно, у меня при вызове OLE в функции с директивой НаСервере сразу выдает ошибку
V7 = New COMObject("V77.Application");
по причине:
-2147467262(0x80004002): Интерфейс не поддерживается
Хотя все тоже самое с директивой НаКлиенте отрабатывает отлично
Релиз 8.3.11.3034
Сервер 1С, на другой машине, правильно?
На сервере надо установить 7.7, запустить под административными правами(для регистрации COM объекта 1C 7.7) и должно заработать
Мне вот в таких разработках непонятны изначально заложенные проблемы - как преобразовывать несуществующие типы одной платформы - в другой?
А это все в корне меняет.
Мне вот в таких разработках непонятны изначально заложенные проблемы - как преобразовывать несуществующие типы одной платформы - в другой?
Базовые типы преобразуются (число, строка, дата), а остальное существует на только на "той" стороне. Т.е. ссылка на контрагента в 8 <> ссылка на контрагента в 7.7, но код, наименование, внутренний идентификатор(как строка) все доступно
Просмотры 18801
Загрузки 0
Рейтинг 6
Создание 28.06.16 10:46
Обновление 28.06.16 10:46
№ Публикации 533600
Тип файла Нет файла
Конфигурация Не имеет значения
Операционная система Windows
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Не указано
См. также
Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо
Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.
14.04.2017 68965 user700211_a.straltsou 30
Ферма ОДИНа или как управлять множеством Серверов 1С: Предприятие из одной точки
У Вас много серверов приложений 1С Предприятие разных версий и их надо мониторить и администрировать. Новое приложение для управления фермой ОДИНа как раз для тебя.
26.08.2021 1430 khorevaa 8
Легкий способ регистрации библиотеки COMCNTR.DLL (для COM-соединения)
Устали от командных строк, нюансов с разрядностью 32х/64х или ручного создания V83COMConnector в службе компонентов? Предлагаю простой способ регистрации библиотеки COMCNTR.DLL.
22.12.2020 35556 vakrikun 32
Выгрузка в dt на сервере 1С по расписанию с завершением соединений и подключением к консоли сервера через com
Была задача настроить по расписанию выгрузку серверной базы в dt, готового решения не нашел, делюсь, может, кому пригодится.
16.04.2020 10825 karamazoff 49
Копирование числовых ячеек из 1С в Excel Промо
15.01.2019 38371 itriot11 27
Пошаговая инструкция по установке веб-сервера Apache и завязка с 1С
Данная статья больше предназначена для начинающих администраторов, но «бывалые» тоже могут освежить свои знания и в этой статье в деталях расскажу, как устанавливать Apache и использовать веб-сервер для работы с 1С.
Подключение к 1С 77 через внешний источник данных, работа со справочниками 77 (на примере справочника клиенты). Вывод иерархической структуры справочника. В прикрепленном файле пошаговая инструкция с картинками.
Подключение к 1С 77 через внешний источник данных, работа со справочниками 77 (на примере справочника клиенты)
Шаг 2 (заполняем основные свойства внешнего соединения)
Шаг 3 (добавление данных)
Чтобы добавить источник данных удобнее добавить новую таблицу, 1С предложить либо добавить вручную, либо выбрать из списка таблиц источника данных – выбираем из источника)
Шаг 4 (добавляем строку соединения с источником данных)
Для добавления строки соединения лучше нажать на кнопку «…» справа от поля «Строка соединения:»
Внимание. Сохраните данную строку подключения (например в notepad), она понадобится в дальнейшем.
Если мы сделали все правильно, то 1С выведет нам список таблиц базы данных. Нас интересует справочник 77 «Клиенты». У меня это таблица SC46.
2. Подключение справочника
1С корректно определила, что данная таблица – это объектные данные и выбрала все реквизиты данной таблицы (справочника). Для упрощения работы нам будут нужны следующие:
ROWID – уникальный идентификатор записи в таблице SQL
ID – уникальный идентификатор объекта 1С (это будет поле ключа)
PARENTID – идентификатор родителя
CODE – реквизит «Код» 1С77 элемента справочника
DESCR – реквизит «Наименование» 1С77 элемента справочника (это будет поле представления)
ISFOLDER – признак элемент/группа 1С77 справочника
И нажимаем «Готово»
Попробуем посмотреть, что же у нас получилось… Запускаем 1С в режиме предприятия…
Выбираем нашу таблицу «dbo.SC46»… И 1С просит ввести имя пользователя и пароль для подключения к внешнему источнику…
Ну что ж… Вводим, через нажатие кнопки «Общие параметры». Вот тут то нам и пригодится сохраненная в notepad строка подключения…
Обновляем нашу таблицу, и результат конечно есть, но стремненько…
Попробуем сделать так, что бы вид нашей таблицы не отличался от вида стандартного справочника 1С82
3. Настройка вида справочника из внешнего источника
Шаг 1 (настраиваем имя таблицы)
Шаг 2 (настраиваем поля таблицы)
Особо уделю внимание полю PARENTID. Это же ссылка на родителя. Значит необходимо поменять тип значения со строки (9) на ссылочный тип данных из внешнего источника
Шаг 3 (смотрим результат)
Уже конечно лучше, скажем так на троечку…
4. Вывод справочника иерархически
Шаг 1 (добавляем общий модуль)
Шаг 2 (добавляем в общий модуль код)
Функция ПолучитьИмяИсточникаДанных(пФорма) Экспорт
Функция ПолучитьЭлементыРодителя(пСправочник, пРодитель, пР = 0,пМас=0) Экспорт
Запрос = Новый Запрос;
Если пРодитель.Ссылка.Пустая() Тогда
| Спр.Ссылка КАК Элемент,
| Спр.Наименование КАК Наименование,
| Спр.Родитель КАК Родитель,
| КОГДА Спр.ЭтоГруппа = 1
| КОНЕЦ КАК ЭтоГруппа
| ВнешнийИсточникДанных.Торговля77.Таблица."+пСправочник+" КАК Спр
| Спр.Ссылка КАК Элемент,
| Спр.Наименование КАК Наименование,
| Спр.Родитель КАК Родитель,
| КОГДА Спр.ЭтоГруппа = 1
| КОНЕЦ КАК ЭтоГруппа
| ВнешнийИсточникДанных.Торговля77.Таблица."+пСправочник+" КАК Спр
лМассив = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
лСтруктураЭл = Новый Структура;
Если пР = 0 Тогда
ИначеЕсли пР = 1 Тогда
Если пР = 0 Тогда
Процедура ДобавитьДерево(пФорма, пСтруктураОтображенияДерева, пСтруктураДействий) Экспорт
лМассивЭлементов = ПолучитьЭлементыРодителя(пСправочник, ВнешниеИсточникиДанных.Торговля77.Таблицы[пСправочник].ПустаяСсылка());
ДеревоОбъект = Новый ДеревоЗначений;
ДеревоОбъект.Колонки.Добавить("Элемент", Новый ОписаниеТипов("ВнешнийИсточникДанныхТаблицаСсылка.Торговля77."+пСправочник));
ДеревоОбъект.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
ДеревоОбъект.Колонки.Добавить("ЭтоГруппа", Новый ОписаниеТипов("Число"));
Для лчНом=0 По лМассивЭлементов.Количество()-1 Цикл
Если лМассивЭлементов[лчНом].ЭтоГруппа=2 Тогда
// Создание Реквизита формы типа ДанныеФормыДерево
МассивДобавляемыхРеквизитов = Новый Массив;
Для Каждого Колонка Из ДеревоОбъект.Колонки Цикл
Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "Дерево"));
// Преобразование объекта прикладного типа ДеревоЗначений
// в реквизит управляемой формы (данные формы)
// Создание элемента формы типа ТаблицаФормы для отображения дерева
ЭлементДерево = пФорма.Элементы.Добавить("Дерево", Тип("ТаблицаФормы"));
Для Каждого лЭлементОтображенияДерево Из пСтруктураОтображенияДерева Цикл
Для Каждого лЭлементДействия Из пСтруктураДействий Цикл
Для Каждого Колонка Из ДеревоОбъект.Колонки Цикл
НовыйЭлемент = пФорма.Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"),
НовыйЭлемент.ПутьКДанным = "Дерево." + Колонка.Имя;
Если Колонка.Имя = "Элемент" Тогда
Если Колонка.Имя = "ЭтоГруппа" Тогда
Функция ПроверкаВхожденияЭлемента(пКоллекция, пЭлемент) Экспорт
Для Каждого лЭлемент Из пКоллекция Цикл
Если лЭлемент.Элемент = пЭлемент Тогда
Функция НайтиПоСтруктуреВМассиве(пМассив, пИмяЭлСтруктуры, пЗнач) Экспорт
Для лчНом=0 По пМассив.Количество()-1 Цикл
Если пМассив[лчНом][пИмяЭлСтруктуры] = пЗнач Тогда
Шаг 3 (добавляем форму списка для нашего справочника)
ВНИМАНИЕ. Форма списка должна быть абсолютно пустой. Все отображение будет формировать программно.
Шаг 4 (добавляем в модуль формы код)
Возврат ОбщийМодульСправочники77.ПолучитьЭлементыРодителя(лИсточник, пРодитель);
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СтруктураОтображенияДерева = Новый Структура;
СтруктураДействий = Новый Структура;
ОбщийМодульСправочники77.ДобавитьДерево(ЭтаФорма, СтруктураОтображенияДерева, СтруктураДействий);
Если ИДТекущейСтроки <> Неопределено Тогда
Если Родитель <> Неопределено Тогда
Для лчНом =0 По лМассивЭлементов.Количество()-1 Цикл
Если лМассивЭлементов[лчНом].ЭтоГруппа = 2 Тогда
Привязываем код нашей процедуры ПриСозданииНаСервере к форме
Для вывода иерархии нам нужен идентификатор родителя ParentID, но мы же его перевели в ссылочный тип, поэтому я просто добавил еще одно поле: РодительИД
Добавляем в общие картинки (если нет) картинку стандартной библиотеки 1С82 «ГруппаИЭлемент»
Запускаем режим предприятия и видим в 1С82 справочник из 1С77 красиво, как и положено…
Теперь что бы подключить другой справочник из 1С77 нужно провести минимум действий: добавить таблицу во внешний источник, создать пустую форму, и добавить код для формы… Все! Данную таблицу можно использовать в СКД и формировать отчеты средствами 1С82.
Читайте также: