Содержание
Продукты фирмы «1С» имеют два основных решения для хранения данных: файловая база данных и база данных, размещенная на SQL Server (поддерживается как Microsoft SQL Server, так и бесплатный PostgreSQL, Oracle Database, IBM Db2). Файловые базы данных как правило используют небольшие компании с 1-10 пользователями, при этом быстрого роста объема базы данных в среднесрочной перспективе не предвидится. Если у Вас «тормозит база 1С”, вы постоянно отмечаете рост пользователей или на этапе проектирования решения Вы рассчитываете на достаточно быстрый рост объема данных, Вам пора задуматься о переезде файловой базы 1С на SQL Server.
Не получается самостоятельно перенести файловую базу на SQL сервер? Обратитесь за консультацией к специалистам IT-Lite. Узнать подробнее об условиях предоставления услуг можно у специалистов компании по телефону: 8(495)646-23-16 или отправив запрос на почту: sales@it-lite.ru.
Как перенести файловую базу 1С в SQL?
Перенос базы 1С производится в режиме 1С «Конфигуратор”.
Для переноса файловой базы на сервер SQL необходимо выполнить следующие действия:
- Открыть конфигуратор файловой базы.
- В конфигураторе необходимо выбрать пункт меню «Администрирование» и «Выгрузить информационную базу»:
- Перед запуском процесса выгрузки программа предложит путь, куда сохранить файл выгрузки.
- По окончанию выгрузки система выдаст сообщение об успешном завершении операции.
- Файл выгруженной базы имеет формат *.dt и находится по тому пути, что Вы указали при старте выгрузке.
- Создаем кластер:
Особые указания для настройки портов:
- Выбор портов осуществляется из диапазона от 10 000 до 60 000.
- Нужно исключить переключение с другими диапазонами.
- Пример выбора диапазонов: » 23560:23591, 12560:12591”.
- Управляющий порт для работы из оснастки: 23540.
- Порт подключения из 1С: 23541.
- Пример подключения к кластеру 1С:
«:23541; :23541”. Все настройки подключения к базам храниться здесь: *\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i
Создание специальных служб
Создание кластера 1С 8.3
Настройка кластера 1С 8.3:
- Подключаемся к первому серверу по порту: 23540
- Подключаемся ко второму серверу по порту: 23540
- На втором сервере удаляем полностью кластер:
- На первом сервере добавляем второй сервер:
- Заходим в свойства сервера и ставим галочку:
- На втором сервере создан кластер.
- Устанавливаем Интервал перезапуска серверов и дополнительные параметры.
Первый способ создания базы данных
Название базы в кластере 1С и на SQL сервере могут быть разные.
Заходим в директорию кластеры/локальный кластер/New/информационная база.
Указываем параметры информационной базы:
При отдельном сервере приложений 1С, адрес сервера баз данных может быть прописан в hosts.
Второй способ создания базы данных
Нажимаем кнопку «Добавить”.
Выбираем пункт «Создание информационной базы”.
Указываем параметры:
Когда мы рекомендует перенос файловой базы на клиент-серверный вариант
Наша практика показывает, что файловые базы данных являются оптимальным решением, пока объем базы не превысил 3 Гб.
Не удается осуществить перенос файловой базы на Microsoft SQL сервер самостоятельно? Оставьте запрос для специалистов IT-Lite: тел. 8(495)646-23-16, email: sales@it-lite.ru.
Создание базы данных
Последнее обновление: 26.06.2017
Базу данных часто отождествляют с набором таблиц, которые хранят данные. Но это не совсем так. Лучше сказать, что база данных представляет хранилище объектов. Основные из них:
-
Таблицы: хранят собственно данные
-
Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы
-
Хранимые процедуры: выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их)
-
Функции: также код SQL, который выполняет определенную задачу
В SQL Server используется два типа баз данных: системные и пользовательские. Системные базы данных необходимы серверу SQL для корректной работы. А пользовательские базы данных создаются пользователями сервера и могут хранить любую произвольную информацию. Их можно изменять и удалять, создавать заново. Собственно это те базы данных, которые мы будем создавать и с которыми мы будем работать.
Системные базы данных
В MS SQL Server по умолчанию создается четыре системных баз данных:
-
master: эта главная база данных сервера, в случае ее отсутствия или повреждения сервер не сможет работать. Она хранит все используемые логины пользователей сервера, их роли, различные конфигурационные настройки, имена и информацию о базах данных, которые хранятся на сервере, а также ряд другой информации.
-
model: эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы создаем через SSMS свою бд, она создается как копия базы model.
-
msdb: хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бекапах баз данных.
-
tempdb: эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера.
Все эти базы можно увидеть через SQL Server Management Studio в узле Databases -> System Databases:
Эти базы данных не следует изменять, за исключением бд model.
Если на этапе установки сервера был выбран и установлен компонент PolyBase, то также на сервере по умолчанию будут расположены еще три базы данных, которые используется этим компонентом: DWConfiguration, DWDiagnostics, DWQueue.
Создание базы данных в SQL Management Studio
Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в SQL Management Studio. В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на узел Databases. Затем в появившемся контекстном меню выберем пункт New Database:
После этого нам открывается окно для создания базы данных:
В поле Database необходимо ввести название новой бд. Пусть у нас база данных называется university.
Следующее поле Owner задает владельца базы данных. По умолчанию оно имеет значение <defult>, то есть владельцем будет тот, кто создает эту базу данных. Оставим это поле без изменений.
Далее идет таблица для установки общих настроек базы данных. Она содержит две строки — первая для установки настроек для главного файла, где будут храниться данные, и вторая строка для конфигурации файла логгирования. В частности, мы можем установить следующие настройки:
-
Logical Name: логическое имя, которое присваивается файлу базы данных.
-
File Type: есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных (ROWS Data) и файлом лога (LOG)
-
Filegroup: обозначет группу файлов. Группа файлов может хранить множество файлов и может использоваться для разбиения базы данных на части для размещения в разных местах.
-
Initial Size (MB): устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения).
-
Autogrowth/Maxsize: при достижении базой данных начального размера SQL Server использует это значение для увеличения файла.
-
Path: каталог, где будут храниться базы данных.
-
File Name: непосредственное имя физического файла. Если оно не указано, то применяется логическое имя.
После ввода названия базы данных нажмем на кнопку ОК, и бд будет создана.
После этого она появится среди баз данных сервера. Если эта бд впоследствии не потребуется, то ее можно удалить, нажав на нее правой кнопкой мыши и выбрав в контекстном меню пункт Delete:
Буду краток, делаем так:
1. Установить на сервер MSSQL. Краткая инструкция по установке есть в этом FAQ.
2. Установить на рабочую станцию драйвера ODBC из поставки 1C или ODBC-клиента от Microsoft (он зовется MDAC).
3. Установить на рабочую станцию собственно SQL-версию 1С:Предприятия, ее исполняемый файл, в отличие от сетевой версии, назвается 1Cv7s.exe.
4. Открыть SQL Enterprise Manager и создать новую базу данных. Если непонятно, как это делать — почитайте хелп, он там весьма развесистый. Размер БД выбирается из следующих соображений: данные в sql-базе займут места раза в 2-2.5 больше, чем весит dbf-база, и как минимум 20% пространства sql-базы должно остаться свободным. Размер лога также играет роль — если планируется перенос данных из dbf-версии, следует иметь лог ~25% от размера sql-базы. Можно сразу же установить для базы режим T_runcate log on checkpoint, это поможет избежать проблем с переполнением лога и немного повысит производительность, но лишит возможности в случае аварии БД сделать откат на момент «за пять минут до сбоя”.
5. Подготовить данные dbf-версии к переносу — если он планируется. Это делается с помощью операции «Выгрузить данные”, которая не просто запаковывает таблицы, а переводит информацию в хитрый формат и кладет в файл с расширением *.dat.
6. Создать пустую директорию для хранения конфигурации sql-базы. Она не должна совпадать с директорией, где хранятся файлы собственно sql-базы, последние вообще желательно сделать недоступными для пользователей.
7. Открыть Конфигуратор, зарегистрировать новую базу данных (та самая пустая директория) и на вопрос о типе БД ответить «SQL server”.
8. Выставить в конфигураторе «Параметры базы данных sql…” — это сетевое имя сервера, имя базы данных, как оно было задано в Enterprise Manager, имя пользователя и пароль для доступа к данным через ODBC (встроенная в MSSQL учетная записть администратора имеет логин sa и пустой пароль).
9. Загрузить данные в БД. Если Вам нужна пустая конфигурация, это делается с помощью процедуры «Загрузить измененную конфигурацию”, если данные переносятся из dbf-версии — «Загрузить данные”, конфигурация при этом загрузится автоматически.
10. Можно работать с БД. Не забывайте время от времени архивировать и индексировать свою sql-базу — архивация средствами sql, в отличие от файл-серверной версии, не требует монопольного доступа к базе и может осуществлятся прямо во время работы. Индексация и проверка целостности БД производится последовательным запуском двух TSQL-скриптов, очень простых:
dbcc checkdb — проверка БД
exec _1sp_dbreindex — индексация.
Индексация требует монопольного доступа к данным, поэтому не пытайтесь в это время работать. И архивирование, и индексацию можно (и нужно) повесить на автоматическое исполнение.
Информация взята с сайта http://helpf.pro