Возможно разбиение больших файлов на части (используется 7-zip)
Восстановить резервную копию в новую или существующую базу
Подключить базу к хранилищу конфигурации
database
Группа команд работы с СУБД
create
- Создание базы MS SQL
backup
- Создание резервной копии базы MS SQL
restore
- Восстановление базы MS SQL из резервной копии
compress
- Выполнить компрессию страниц таблиц и индекстов в базе MS SQL
drop
- Удаление базы MS SQL
script
- Выполнить произвольный скрипт на сервере MS SQL
infobase
Группа команд работы с информационными базами 1С
create-srv-ib
- Создать информационную базу на сервере 1С
create-file-ib
- Создать файловую информационную базу 1С
dump
- Выгрузить информационную базу в файл
restore
- Загрузить информационную базу из файла
clearcache
- Очистить локальный кэш информационных баз 1С
uconstorage
- Отключить информационную базу от хранилища конфигураций
constorage
- Подключить информационную базу к хранилищу конфигураций
file
Группа команд работы с файлами
copy
- Копировать/переместить файлы
split
- Архивировать файл с разбиением на части указанного размера (используется 7-Zip)
merge
- Разархивировать файл (используется 7-Zip)
mapdrive
- Подключить сетевой диск
umapdrive
- Отключить сетевой диск
yadisk
Группа команд работы с сервисом Yandex-Диск
put
- Помещение файла на Yandex-Диск
get
- Получение файла из Yandex-Диска
nextcloud
Группа команд работы с сервисом NextCloud
put
- Помещение файла в сервис NextCloud
get
- Получение файла из сервиса NextCloud
sftp
Группа команд работы с SFTP-сервером
put
- Помещение файла на сервер SFTP
get
- Получение файла с сервера SFTP
batch
- Последовательное выполнение команд по сценариям, заданным в файлах (json)
Для подсказки по конкретной команде наберите <команда> --help
database - Группа команд работы с СУБД
Общие параметры для команд группы:
--srvr
- Адрес сервера MS SQL
--user
- Пользователь сервера
--pwd
- Пароль пользователя сервера
create - Создание базы MS SQL
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--db
- Имя базы для восстановления
--db-recovery
- Установить модель восстановления (RECOVERY MODEL), возможные значения "FULL", "SIMPLE", "BULK_LOGGED"
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
restore - Восстановление базы MS SQL из резервной копии
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--db
- Имя базы для восстановления
--bak-path
- Путь к резервной копии
--create-db
- Создать базу в случае отсутствия
--db-owner
- Имя владельца базы после восстановления
--compress-db
- Включить компрессию страниц таблиц и индексов после восстановления
--shrink-db
- Сжать файлы данных после восстановления
--shrink-log
- Сжать файлы журнала транзакций после восстановления
--db-path
- Путь к каталогу файлов данных базы после восстановления
--db-logpath
- Путь к каталогу файлов журнала после восстановления
--db-recovery
- Установить модель восстановления (RECOVERY MODEL), возможные значения "FULL", "SIMPLE", "BULK_LOGGED"
--db-changelfn
- Изменить логические имена файлов (LFN) базы, в соответствии с именем базы
--delsrc
- Удалить файл резервной копии после восстановления
compress - Выполнить компрессию страниц таблиц и индекстов в базе MS SQL
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--db
- Имя базы для восстановления
--shrink-db
- Сжать базу после выполнения компрессии
--shrink-log
- Сжать файлы журнала транзакций после восстановления
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--db
- Имя базы для восстановления
Пример
cpdb database --srvr MySQLName --user sa --pwd 12345 drop --db MyDatabase
script - Выполнить скрипты из файла(ов)
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--files
- Файлы SQL, содержащие текст скрипта, могут быть указаны несколько файлов, разделённые ";"
--vars
- Строка значений переменных (без пробелов) для скриптов SQL в виде "<Имя>=<Значение>", разделенные ";"
use $(varBase)
go
truncate table [dbo].[ConfigSave]
go
UPDATE SchemaStorage SET Status =100
Пример print_message.sql
PRINT N'$(message)'
infobase - Группа команд работы с информационной базой 1С
Общие параметры для команд группы:
--v8version
- маска версии платформы 1С (например: 8.3.8, 8.3.17.1851)
create-srv-ib - Создать информационную базу на сервере 1С
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--ib-srvr
- Адрес кластера серверов 1С ([<протокол>://]<адрес>[:<порт>])
--ib-ref
- Имя базы в кластере 1С
--err-if-exist
- Сообщить об ошибке если ИБ в кластере 1С существует
--dbms
- Тип сервера СУБД (MSSQLServer <по умолчанию>; PostgreSQL; IBMDB2; OracleDatabase)
--db-srvr
- Адрес/имя сервера СУБД
--db-user
- Пользователь сервера СУБД"
--db-pwd
- Пароль пользователя сервера СУБД"
--db-name
- Имя базы на сервере СУБД (если не указано, используется имя базы 1С)"
--sql-offs
- Смещение дат на сервере MS SQL (0; 2000 <по умолчанию>)
--create-db
- Создавать базу данных в случае отсутствия
--allow-sch-job
- Разрешить регламентные задания
--allow-lic-dstr
- Разрешить выдачу лицензий сервером 1С
--cadm-user
- Имя администратора кластера
--cadm-pwd
- Пароль администратора кластера
--name-in-list
- Имя в списке баз пользователя (если не задано, то ИБ в список не добавляется)
--tmplt-path
- Путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ
create-file-ib - Создать файловую информационную базу 1С
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--ib-path
- Путь к каталогу базы 1С
--err-if-exist
- Сообщить об ошибке если ИБ в кластере 1С существует
--name-in-list
- Имя в списке баз пользователя (если не задано, то ИБ в список не добавляется)
--tmplt-path
- Путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ
Пример
cpdb infobase --v8version 8.3.8 create-file-ib --ib-path "D:\1cbases\My1CBase" --name-in-list "My test base" --err-if-exist
dump - Выгрузить информационную базу в файл
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--ib-path
- Строка подключения к ИБ
--ib-user
- Пользователь ИБ
--ib-pwd
- Пароль пользователя ИБ
--dt-path
- Путь к файлу для загрузки в ИБ
--jobs-count
- Количество заданий загрузки файла (для клиент-серверной базы, начиная с версии платформы 8.3.19)
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--ib-path
- Строка подключения к ИБ (если не указан то удаляются локальные кэши всех информационных баз)
uconstorage - Отключить информационную базу от хранилища конфигурации
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
constorage - Подключить информационую базу к хранилищу конфигурации
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--ib-path
- Строка подключения к ИБ
--ib-user
- Пользователь ИБ
--ib-pwd
- Пароль пользователя ИБ
--extension
- Имя подключаемого расширения конфигурации
--storage-path
- Адрес хранилища конфигурации
--storage-user
- Пользователь хранилища конфигурации
--storage-pwd
- Пароль пользователя хранилища конфигурации
--update-ib
- Выполнить обновление ИБ (применить полученную из хранилища конфигурацию к ИБ)
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--src
- Файл источник
--dst
- Файл/каталог приемник (если оканчивается на "", то каталог)
--move
- Выполнить перемещение файлов (удалить источник после копирования)
--lastonly
- Копирование файлов, измененных не ранее текущей даты
Сложный пример. В каталоге-источнике имеется несколько резервных копий с датой в имени файла. Необходимо скопировать только свежий файл (созданный сегодня). Новое имя файла не должно содержать дату
split - Архивировать файл с разбиением на части указанного размера
Используется 7-zip
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--src
- Путь к исходному локальному файлу для разбиения
--arch
- Имя файла архива (не обязательный, по умолчанию <имя исходного файла>.7z)
--list
- Имя файла, списка томов архива (не обязательный, по умолчанию <имя исходного файла>.split)
--vol-size
- Размер части {<g>, <m>, <b>} (по умолчанию 50m)
--compress-level
- Уровень сжатия частей архива {0 - 9} (по умолчанию 0 - не сжимать)
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--arch
- Имя первого файла архива
--list
- Имя файла, списка файлов архива (параметр -arch игнорируется)
--delsrc
- Удалить исходные файлы после выполнения операции
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--drive
- Имя устройства (буква диска)
Пример
cpdb file umapdrive --drive N
yadisk - Группа команд работы с сервисом Yandex-Диск
Общие параметры для команд группы:
--token
- Token авторизации
put - Помещение файла на Yandex-Диск
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--file
- Путь к локальному файлу для помещения на Yandex-Диск
--list
- Путь к локальному файлу со списком файлов, которые будут помещены на Yandex-Диск (параметр --file игнорируется)
--path
- Путь к каталогу на Yandex-Диск, куда помещать загружаемые файлы
--replace
- Перезаписать файл на Yandex-диске при загрузке
--delsrc
- Удалить исходные файлы после отправки
Пример
// Помещает файл "MyDatabase_copy.bak" на Yandex-диск
cpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX put --file "d:\MSSQL\Backup\MyDatabase_copy.bak" --path "/transfer" --delsrc
// Помещает файлы, указанные в списке "MyDatabase_copy.split" на Yandex-диск
cpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX put --list "d:\MSSQL\Backup\MyDatabase_copy.split" --path "/transfer" --delsrc
get - Получение файла из Yandex-Диска
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--path
- Путь к локальному каталогу для сохранения загруженных файлов
--file
- Путь к файлу на Yandex-Диск для загрузки
--list
- Путь к файлу на Yandex-Диск со списком файлов, которые будут загружены (параметр --file игнорируется)
--delsrc
- Удалить файлы из Yandex-Диск после получения
Пример
// Получает файл "MyDatabase_copy.bak" из Yandex-диска
cpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX get --path "d:\MSSQL\Backup\MyDatabase_copy.bak" --file "/transfer/MyDatabase_copy.bak" --delsrc
// Получает файлы, указанные в списке "MyDatabase_copy.split" из Yandex-диска
cpdb yadisk --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX get --path "d:\MSSQL\Backup\" --list "/transfer/MyDatabase_copy.split" -delsrc
На вопрос "Приложение OScript.YaDisk запрашивает доступ к вашим данным на Яндексе" ответить "Разрешить": после этого на экране появится сформированный токен
nextcloud - Группа команд работы с сервисом NextCloud
Общие параметры для команд группы:
--srvr
- Адрес сервиса NextCloud
--user
- Имя пользователя сервиса NextCloud
--pwd
- Пароль пользователя сервиса NextCloud
put - Помещение файла в сервис NextCloud
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--file
- Путь к локальному файлу для помещения в сервис NextCloud
--list
- Путь к локальному файлу со списком файлов, которые будут помещены в сервис NextCloud (параметр --file игнорируется)
--path
- Путь к каталогу в сервисе NextCloud, куда помещать загружаемые файлы
--replace
- Перезаписать файл в сервисе NextCloud при загрузке
// Помещает файлы, указанные в списке "MyDatabase_copy.split" в сервис NextCloud
cpdb nextcloud --service "http://MyNextCloud" --user "admin" --pwd "P@$$w0rd" put --list "d:\MSSQL\Backup\MyDatabase_copy.split" --path "/transfer" --delsrc
get - Получение файла из сервиса NextCloud
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--path
- Путь к локальному каталогу для сохранения загруженных файлов
--file
- Путь к файлу в сервисе NextCloud для загрузки
--list
- Путь к файлу в сервисе NextCloud со списком файлов, которые будут загружены (параметр --file игнорируется)
--delsrc
- Удалить файлы из сервиса NextCloud после получения
Пример
// Получает файл "MyDatabase_copy.bak" из сервиса NextCloud
cpdb nextcloud --service "http://MyNextCloud" --user "admin" --pwd "P@$$w0rd" get --path "d:\MSSQL\Backup\MyDatabase_copy.bak" --file "/transfer/MyDatabase_copy.bak" --delsrc
// Получает файлы, указанные в списке "MyDatabase_copy.split" из сервиса NextCloud
cpdb nextcloud --service "http://MyNextCloud" --user "admin" --pwd "P@$$w0rd" get --path "d:\MSSQL\Backup\" --list "/transfer/MyDatabase_copy.split" -delsrc
sftp - Группа команд работы с SFTP-сервером
Общие параметры для команд группы:
--srvr
- Адрес сервера SFTP в виде <адрес>:<порт>
--port
- Порт сервера SFTP
--user
- Имя пользователя сервера SFTP
--pwd
- Пароль пользователя сервера SFTP, если указан параметр --key-file, то используется как пароль для доступа к закрытому ключу
--key-file
- Путь к файлу закрытого ключа, если указано, то параметр --pwd интерпретируется как пароль к закрытому ключу
put - Помещение файла на сервер SFTP
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--file
- Путь к локальному файлу для помещения на сервер SFTP
--list
- Путь к локальному файлу со списком файлов, которые будут помещены на сервер SFTP (параметр --file игнорируется)
--path
- Путь к каталогу на сервере SFTP, куда помещать загружаемые файлы
// Помещает файлы, указанные в списке "MyDatabase_copy.split" на сервере SFTP
cpdb sftp --server "sftp.myServer.org" --port 22 --user "admin" --pwd "P@$$w0rd" put --list "d:\MSSQL\Backup\MyDatabase_copy.split" --path "/transfer" --delsrc
get - Получение файла с сервера SFTP
Параметры:
--params
- Файлы JSON содержащие значения параметров, могут быть указаны несколько файлов разделенные ";" (параметры командной строки имеют более высокий приоритет)
--path
- Путь к локальному каталогу для сохранения загруженных файлов
--file
- Путь к файлу на сервере SFTP для загрузки
--list
- Путь к файлу на сервере SFTP со списком файлов, которые будут загружены (параметр --file игнорируется)
--delsrc
- Удалить файлы с сервера SFTP после получения
Пример
// Получает файл "MyDatabase_copy.bak" с сервера SFTP
cpdb sftp --server "sftp.myServer.org" --port 22 --user "user" --pwd "P@$$w0rd" get --path "d:\MSSQL\Backup\MyDatabase_copy.bak" --file "/transfer/MyDatabase_copy.bak" --delsrc
// Получает файлы, указанные в списке "MyDatabase_copy.split" с сервера SFTP
cpdb sftp --server "sftp.myServer.org" --port 22 --user "user" --pwd "P@$$w0rd" get --path "d:\MSSQL\Backup\" --list "/transfer/MyDatabase_copy.split" -delsrc
batch - Выполнить сценарий
Последовательно выполняет команды указнные в файле JSON
Параметры:
<Сценарии>
- Файлы JSON содержащие команды и значения параметров, могут быть указаны несколько файлов разделенные "";"" (обработка файлов выполняется в порядке следования)
В jenkinsfile описан конвейер, выполняющий следующий сценарий:
Создание резервной копии указанной базы на системе-источнике
Разбиение резервной копии на части (используется 7-Zip)
Копирование частей файла на Yandex-Диск (в указанный каталог)
Получение файла резервной копии из Yandex-Диск на системе-приемнике
Восстановление указанной базы из резервной копии
Подключает базу к хранилищу конфигурации
Переменные окружения конвейера
src_db_cred
- Идентификатор credentials для доступа к MS SQL в системе, где расположена база-источник
src_agent_label
- Метка агента Jenkins в системе, где расположена база-источник
src_server_name
- Имя сервера MS SQL в системе-источнике
src_db_name
- Имя базы-источника
src_bak_path
- Путь к каталогу резервной копии в системе-источнике
bak_file_name
- Имя файла резервной копии
list_file_name
- Имя файла списка томов архива
storage_token
- Token для доступа к Yandex-Диску
storage_path
- Путь к каталогу на Yandex-Диск для передачи файлов в систему-приемник
dst_db_cred
- Идентификатор credentials для доступа к MS SQL в системе-приемнике
dst_agent_label
- Метка агента Jenkins в системе, где расположена база-приемник
dst_bak_path
- Путь к каталогу резервной копии в системе-приемнике, в который будут загружены файлы из Yandex-Диска
dst_server_name
- Имя сервера MS SQL в системе-приемнике
dst_db_name
- Имя базы-приемника
dst_dbo
- Имя пользователя-владельца базы в системе-приемнике (dbowner)
dst_db_path
- Путь к каталогу размещения файлов данных базы-приемника
dst_log_path
- Путь к каталогу размещения файлов журнала базы-приемника
dst_ib_agent_label
- Метка агента Jenkins в системе, где выполняется подключение к хранилищу конфигурации
dst_ib_con_string
- Строка подключения к информационной базе, подключаемой к хранилищу
dst_ib_cred
- Идентификатор credentials для доступа к информационной базе
dst_ib_storage_adr
- Адрес хранилища конфигурации
dst_ib_storage_cred
- Идентификатор credentials для подключения к хранилищу конфигурации
Прграммный интерфейс библиотеки (API)
Класс РаботаССУБД
Подключение=Новый ПодключениеMSSQL("MyServer","user","P@ssw0rd);РаботаССУБД = Новый РаботаССУБД(Подключение);
Функция БазаСуществует() - проверяет существование базу на сервере СУБД
Параметры:
База
Строка
имя базы данных
Возвращаемое значение: Булево - Истина - база существует
Функция СписокБаз() - получает список баз с сервера СУБД
Параметры:
ФильтрБазПоИмени
Строка
имя базы данных
ФильтрПоТаблице
Строка
имя таблицы базы данных
ВключаяСистемные
Строка
имя таблицы базы данных
Возвращаемое значение: Соответствие Из Структура - список баз на сервере СУБД
* Имя - Строка - имя базы данных
* Ид - Число - идентификатор базы данных
* ИдСоздателя - Число - идентификатор пользователя, создавшего базу
* Статус1 - Число - флаги состояния базы данных
* Статус2 - Число - флаги состояния базы данных
* ДатаСоздания - Дата - дата создания базы данных
* РежимСовместимости - Число - версия режима совместимости базы
* ФайлДанных - Строка - путь к файлу данных
Функция ТаблицаСуществует() - проверяет существование таблицы в базе на сервере СУБД
Параметры:
База
Строка
имя базы данных
Таблица
Строка
имя таблицы базы данных
Возвращаемое значение: Булево - Истина - таблица существует в базе данных
Процедура СоздатьБазуДанных() - создает базу данных
Параметры:
База
Строка
имя базы данных
МодельВосстановления
Строка
модель восстановления (FULL, SIMPLE, BULK_LOGGED)
ПутьККаталогу
Строка
путь к каталогу для размещения файлов базы данных если не указан, то файлы размещаются в каталоге по умолчанию SQL Server
Процедура УдалитьБазуДанных() - удаляет базу данных
Параметры:
База
Строка
имя базы данных
Процедура ВыполнитьрезервноеКопирование() - выполняет резервное копирование базы
Параметры:
База
Строка
имя базы данных
ПутьКРезервнойКопии
Строка
путь к файлу резервной копии
Процедура ВыполнитьВосстановление() - выполняет восстановление базы из резервной копии
Параметры:
База
Строка
имя базы данных
ПутьКРезервнойКопии
Строка
путь к файлу резервной копии
ПутьКФайлуДанных
Строка
путь к файлу данных базы
ПутьКФайлуЖурнала
Строка
путь к файлу журнала транзакций базы
СоздаватьБазу
Булево
Истина - создать базу в случае отсутствия
Функция ПолучитьОписание() - получает описание базы данных
Параметры:
База
Структура
описание базы данных
Возвращаемое значение: Структура - описание базы данных
* Имя - Строка - имя базы данных (name)
* Ид - Число - числовой идентификатор базы (database_id)
* ФизическоеИмя - Строка - физическое имя базы (physical_database_name)
* Владелец - Строка - пользователь - владелец базы (db owner)
* ДатаСоздания - Дата - дата создания базы (create_date)
* РежимСовместимости - Число - режим совместимости базы (версия MS SQL)
(compatibility_level)
* ЯзыковыеУстановки - Строка - используемые языковые установки (collation_name)
* РежимДоступа - Булево - режим пользовательского доступа к базе
(SINGLE_USER, MULTI_USER) (user_access_desc)
* ТолькоДляЧтения - Булево - флаг режима только для чтения (is_read_only)
* Состояние - Строка - состояние базы (ONLINE, OFFLINE) (state_desc)
* РежимОжидания - Булево - флаг нахождения базы в режиме ожидания (is_in_standby)
* РежимИзоляцииСнимков - Булево - флаг использования режима изоляции снимков
(snapshot_isolation_state)
* РежимФиксированногоЧтенияСнимков - Булево - флаг использования фиксированного чтения снимков
(is_read_committed_snapshot_on)
* МодельВосстановления - Строка - модель восстановления базы (FULL, SIMPLE, BULK_LOGGED)
(recovery_model_desc)
* АвтоСозданиеСтатистики - Булево - флаг автоматического создания статистики
(is_auto_create_stats_on)
* АвтоСозданиеСтатистикиИнкрементально - Булево - флаг автоматического инкрементального создания статистики
(is_auto_create_stats_incremental_on)
* АвтоОбновлениеСтатистики - Булево - флаг автоматического обновления статистики
(is_auto_update_stats_on)
* АвтоОбновлениеСтатистикиАсинх - Булево - флаг автоматического асинхронного обновления статистики
(is_auto_update_stats_async_on)
* ПолнотекстовыйПоиск - Булево - флаг использования полнотекстового поиска
(is_fulltext_enabled)
* Шифрование - Булево - флаг использования шифрования базы (is_encrypted)
Процедура УстановитьОднопользовательскийРежимБазы() - переводит базу данных в однопользовательский режим
Параметры:
База
Строка
имя базы данных
Процедура УстановитьМногопользовательскийРежимБазы() - переводит базу данных в многопользовательский режим
Параметры:
База
Строка
имя базы данных
Функция ПолучитьВладельца() - получает текущего владельца базы
Параметры:
База
Строка
имя базы данных
Возвращаемое значение: Строка - имя текущего владельца базы
Процедура ИзменитьВладельца() - устанавливает нового владельца базы
Параметры:
База
Строка
имя базы данных
ВладелецБазы
Строка
новый владелец базы
Процедура ПолучитьМодельВосстановления() - получает модель восстановления базы (FULL, SIMPLE, BULK_LOGGED)
Параметры:
База
Строка
имя базы данных
Возвращаемое значение: Строка - текущая модель восстановления базы
Процедура ИзменитьМодельВосстановления() - устанавливает модель восстановления базы (FULL, SIMPLE, BULK_LOGGED)
Параметры:
База
Строка
имя базы данных
МодельВосстановления
Строка
новая модель восстановления (FULL, SIMPLE, BULK_LOGGED)
Функция ПолучитьЛогическоеИмяФайла() - получает логическое имя файла в базе
Параметры:
База
Строка
имя базы данных
ТипФайла
Строка
ROWS - файл базы; LOG - файл журнала транзакций
Возвращаемое значение: Строка - логическое имя файла в базе данных
Процедура ИзменитьЛогическоеИмяФайла() - устанавливает новое логическое имя файла базы
Параметры:
База
Строка
имя базы данных
Имя
Строка
логическое имя файла для изменения
НовоеИмя
Строка
новое логическое имя файла
Процедура УстановитьЛогическиеИменаФайлов() - устанавливает логические имена файлов в формате
<НовоеИмя> - для файла данных
<НовоеИмя>_log - для файла журнала транзакций
Параметры:
База
Строка
имя базы данных
НовоеИмя
Строка
новое имя файлов, если не указано, то используется имя базы
Процедура ВключитьКомпрессию() - включает компрессию данных базы на уровне страниц
Параметры:
База
Строка
имя базы данных
Процедура СжатьБазу() - выполняет сжатие базы (shrink)
Параметры:
База
Строка
имя базы данных
Процедура СжатьФайлЖурналаТранзакций() - выполняет сжатие файла журнала транзакций (shrink)
Параметры:
База
Строка
имя базы данных
Функция ВыполнитьСкрипты() - выполняет указанные скрипты
Параметры:
СкриптыВыполнения
Строка
пути к файлам скриптов, разделенные ";"
СтрокаПеременных
Строка
набор значений переменных в виде "<Имя>=<Значение>", разделенные ";"
Возвращаемое значение: Строка - результат выполнения скриптов
Функция ВыполнитьЗапрос() - выполняет запрос к СУБД
Параметры:
ТекстЗапроса
Строка
текст исполняемого запроса
Разделитель
Строка
символ - разделитель колонок результата
УбратьПробелы
Булево
Истина - будут убраны выравнивающие пробелы из результата
Возвращаемое значение: Строка - результат выполнения запроса
Модуль РаботаСИБ
Процедура ВыгрузитьИнформационнуюБазуВФайл() - выполняет выгрузку информационной базы в DT-файл
Параметры:
ПараметрыИБ
Структура
параметры подключения к базе 1С
*СтрокаПодключения
Строка
строка подключения к базе 1С
*Пользователь
Строка
имя пользователя базы 1С
*Пароль
Строка
пароль пользователя базы 1С
ПутьКФайлу
Строка
путь к DT-файлу для выгрузки базы 1С
ИспользуемаяВерсияПлатформы
Строка
маска версии 1С
КлючРазрешения
Строка
ключ разрешения входа в заблоrированную серверную базу 1С (/UC)
Процедура ЗагрузитьИнформационнуюБазуИзФайла() - выполняет загрузку информационной базы из DT-файла
Параметры:
ПараметрыИБ
Структура
параметры подключения к базе 1С
*СтрокаПодключения
Строка
строка подключения к базе 1С
*Пользователь
Строка
имя пользователя базы 1С
*Пароль
Строка
пароль пользователя базы 1С
ПутьКФайлу
Строка
путь к DT-файлу для загрузки в базу 1С
КоличествоЗаданий
Число
количество заданий загрузки файла (для клиент-серверной базы, начиная с версии платформы 8.3.19))
ИспользуемаяВерсияПлатформы
Строка
маска версии 1С
КлючРазрешения
Строка
ключ разрешения входа в заблоrированную серверную базу 1С (/UC)
Процедура ОчиститьЛокальныйКэшИнформационнойБазы() - выполняет очистку локального кэша информационной базы 1С
Параметры:
СтрокаПодключения
Строка
строка подключения к базе 1С
Процедура ОчиститьВсеЛокальныеКэшиИнформационныхБаз() - выполняет очистку всех локальных кэшей информационных баз 1С
Параметры:
нет
Процедура ОтключитьОтХранилища() - выполняет отключение информационной базы от хранилища конфигурации
Параметры:
ПараметрыИБ
Структура
параметры подключения к базе 1С
*СтрокаПодключения
Строка
строка подключения к базе 1С
*Пользователь
Строка
имя пользователя базы 1С
*Пароль
Строка
пароль пользователя базы 1С
ИспользуемаяВерсияПлатформы
Строка
маска версии 1С
ИмяРасширения
Строка
имя расширения, отключаемого от хранилища (если не указано, отключается основная конфигурация)
КлючРазрешения
Строка
ключ разрешения входа в заблоrированную серверную базу 1С (/UC)
Процедура ПодключитьКХранилищу() - выполняет подключение информационной базы к хранилищу конфигурации
Параметры:
ПараметрыИБ
Структура
параметры подключения к базе 1С
*СтрокаПодключения
Строка
строка подключения к базе 1С
*Пользователь
Строка
имя пользователя базы 1С
*Пароль
Строка
пароль пользователя базы 1С
ПараметрыХранилища
Структура
параметры подключения к хранилищу конфигурации
*Адрес
Строка
адрес хранилища конфигурации
*Пользователь
Строка
имя пользователя хранилища конфигурации
*Пароль
Строка
пароль пользователя хранилища конфигурации
ИспользуемаяВерсияПлатформы
Строка
маска версии 1С
ИмяРасширения
Строка
имя расширения, отключаемого от хранилища (если не указано, отключается основная конфигурация)
ОбновитьИБ
Булево
Истина - после обновления обновить конфигурацию базы данных
КлючРазрешения
Строка
ключ разрешения входа в заблоrированную серверную базу 1С (/UC)
Процедура СоздатьСервернуюБазу() - создание серверной информационной базы 1С
Параметры:
Параметры1С
Структура
параметры создания базы 1С
*Сервер1С
Строка
адрес кластера серверов 1С ([<протокол>://]<адрес>[:<порт>])
*ИмяИБ
Строка
имя информационной базы на сервере 1С
*РазрешитьВыдачуЛицензий
Булево
Истина - разрешить выдачу лицензий сервером 1С (по умолчанию: Истина)
*РазрешитьРегЗадания
Булево
Истина - разрешить запуск рег. заданий (по умолчанию: Ложь)
ПараметрыСУБД
Структура
параметры подключения к СУБД
*ТипСУБД
Строка
тип сервера СУБД ("MSSQLServer" <по умолчанию>, "PostgreSQL", "IBMDB2", "OracleDatabase")
*СерверСУБД
Строка
адрес сервера СУБД
*ПользовательСУБД
Строка
пользователь сервера СУБД
*ПарольСУБД
Строка
пароль пользователя сервера СУБД
*ИмяБД
Строка
имя базы на сервере СУБД (если не указано будет использовано имя ИБ 1С)
*СмещениеДат
Число
смещение дат на сервере MS SQL (0; 2000 <по умолчанию>)
*СоздаватьБД
Булево
Истина - будет создана база на сервере СУБД в случае отсутствия
АвторизацияВКластере
Структура
параметры авторизации в кластере 1С
*Имя
Строка
имя администратора кластера 1С
*Пароль
Строка
пароль администратора кластера 1С
ИспользуемаяВерсияПлатформы
Строка
маска версии 1С
ОшибкаЕслиСуществует
Булево
Истина - вызвать исключение если ИБ в кластере 1С существует (по умолчанию: Ложь)
ПутьКШаблону
Строка
путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ
ИмяВСпискеБаз
Строка
имя в списке баз пользователя (если не задано, то ИБ в список не добавляется)
Процедура СоздатьФайловуюБазу() - создание файловой информационной базы 1С
Параметры:
ПутьКБазе
Строка
путь к каталогу базы 1С
ИспользуемаяВерсияПлатформы
Строка
маска версии 1С
ПутьКШаблону
Строка
путь к шаблону для создания информационной базы (*.cf; *.dt). Если шаблон не указан, то будет создана пустая ИБ
ИмяВСпискеБаз
Строка
имя в списке баз пользователя (если не задано, то ИБ в список не добавляется)
Модуль РаботаСФайлами
Процедура КомандаСистемыКопироватьФайл() - выполняет копирование/перемещение указанных файлов с использованием команд системы (xcopy)
Параметры:
Источник
Строка
копируемые файлы
Приемник
Строка
назначение копирования, каталог или файл
Перемещение
Булево
выполнить перемещение файлов (удалить источник после копирования)
ТолькоСегодня
Булево
копирование файлов, измененных не ранее текущей даты (параметр /D для xcopy)
Процедура КомандаСистемыУдалитьФайл() - выполняет удаление указанных файлов с использованием команды системы (del)
Параметры:
ПутьКФайлу
Строка
путь к удаляемому файлу
ИсключениеПриОшибке
Булево
Истина - вызывать исключение при ошибке удаления
Функция ПрочитатьСписокФайлов() - читает список файлов из файла
Параметры:
ПутьКСписку
Строка
путь к удаляемому файлу
ДобавитьПутьКИсходномуФайлу
Булево
Истина - при чтении добавлять к результату путь к исходному файлу списка
ДобавитьИсходныйФайл
Булево
Истина - добавить исходный файл в список
Возвращаемое значение: Массив из Строка - прочитанный список файлов
Процедура ЗапаковатьВАрхив() - выполняет архиваци указанного файла с разбитием на части указанного размера
Параметры:
ПутьКФайлу
Строка
путь к файлу, который будет архивироваться
ИмяАрхива
Строка
имя файла-архива
ИмяСпискаФайлов
Строка
имя файла-списка (содержащего все чати архива)
РазмерТома
Строка
размер части {, , } (по умолчанию 50m)
СтепеньСжатия
Число
уровень сжатия частей архива {0 - 9} (по умолчанию 0 - не сжимать)
УдалитьИсточник
Булево
Истина - после архивации исходный файл будет удален
Процедура РаспаковатьАрхив() - выполняет выполняет распаковку архива
Параметры:
ПутьКАрхиву
Строка
путь к файлу архива, который будет распаковываться
ЭтоСписокФайлов
Булево
Истина - передан список файлов; Ложь - передан первый том архива
УдалитьИсточник
Булево
Истина - после распаковки исходный файл будет удален
Процедура ПодключитьДиск() - подключает указанный сетевой диск
Параметры:
ИмяУстройства
Строка
имя (буква) подключаемого диска
ИмяРесурса
Строка
сетевой путь к подключаемому ресурсу
Пользователь
Строка
пользователь от имени которого выполняется подключение
ПарольПользователя
Строка
пароль пользователя от имени которого выполняется подключение
Процедура ОтключитьДиск() - отключает указанный сетевой диск
Функция Пользователь() - возвращает имя пользователя сервера SSH
Возвращаемое значение: Строка - имя пользователя сервера SSH
Функция Соединение() - возвращает соединение с сервером SSH
Возвращаемое значение: КлиентSSH - соединение с сервером SSH
Процедура УстановитьПараметрыСоединения() - создает соединение с сервером SSH с указанными параметрами
Параметры:
_Адрес
Строка
адрес сервера SSH
_Пользователь
Строка
имя пользователя сервера SSH
ПутьККлючу
Строка
путь к файлу закрытого ключа сервера SSH
Процедура СоздатьКаталог() - каталог на сервере SFTP
Параметры:
ЦелевойПуть
Строка
путь к создаваемому каталогу
Процедура ОтправитьФайл() - отправляет файл в сервис NextCloud
Параметры:
ПутьКФайлу
Строка
путь к отправляемому файлу
ЦелевойПуть
Строка
путь к каталогу на сервере SFTP, куда будет загружен файл
Перезаписывать
Булево
перезаписать файл на сервере SFTP при загрузке
Функция ПолучитьФайл() - получает файл с сервера SFTP
Параметры:
ПутьКФайлу
Строка
расположение файла на сервере SFTP
ЦелевойКаталог
Строка
путь к каталогу, куда будет загружен файл
УдалитьИсточник
Булево
Истина - удалить файл после загрузки
Возвращаемое значение: Строка - путь к полученному файлу
Функция Существует() - проверяет существование файла / каталога на сервере SFTP
Параметры:
ПутьНаДиске
Строка
расположение файла на сервере SFTP
Возвращаемое значение: Булево - Истина - файл / каталог существует
Процедура УдалитьФайл() - удаляет файл с сервера SFTP
Параметры:
ПутьНаДиске
Строка
расположение файла на сервере SFTP
Процедура УдалитьКаталог() - удаляет каталог с сервера SFTP
Параметры:
ПутьНаДиске
Строка
расположение каталога на сервере SFTP
Класс СтруктураХраненияИБ
СтруктураИБ=Новый СтруктураХраненияИБ();
Функция ВерсияФорматаКонфигурации() - возвращает версию формата конфигурации
Параметры:
нет
Возвращаемое значение: Структура - информация о версии формата конфигурации
* Версия - Число - номер версии формата конфигурации
* ТребуемаяВерсияПлатформы - Строка - минимальная версия платформы 1С
Функция ОписаниеКонфигурации() - возвращает описание конфигурации
Параметры:
нет
Возвращаемое значение: Структура - описание конфигурации
* Имя - Строка - имя конфигурации
* Синоним - Строка - синоним конфигурации
* Версия - Строка - версия конфигурации
* РежимСовместимости - Строка - версия режима совместимости конфигурации
* КраткаяИнформация - Строка - краткая информация о конфигурации
* ПодробнаяИнформация - Строка - подробная информация о конфигурации
* Поставщик - Строка - поставщик конфигурации
* АвторскиеПрава - Строка - данные об авторских правах
* АдресИнформацииОПоставщике - Строка - адрес сайта с информацией о поставщике
* АдресИнформацииОКонфигурации - Строка - адрес сайта с информацией о конфигурации
* АдресКаталогаОбновлений - Строка - адрес сайта с каталогом обновлений
Функция ОписаниеМетаданныхОбъектаБД1С() - возвращает описание метаданных 1С для объекта СУБД по его имени
Параметры:
ИмяОбъекта
Строка
имя таблицы или поля таблицы СУБД
Возвращаемое значение: Структура - описание метаданных 1С по имени объекта СУБД
* Владелец - Структура - структура описания объекта владельца
* Тип - Строка - тип объекта или коллекция
(например: Справочник, Документ, ТабличнаяЧасть, Поле)
* ТипАнгл - Строка - тип объекта или коллекция на английском
(например: Reference, Document, TabularSection, Field)
* Назначение - Строка - назначение таблицы БД (например: Основная, Итоги, Обороты)
* Имя - Строка - имя объекта в БД (Префикс + Индекс)
* Префикс - Строка - префикс объекта (например: Reference, Document, VT, Fld))
* Индекс - Число - числовой индекс объекта
* Суффикс - Строка - дополнительный суффикс имени объекта (например: "_RRef")
* Ид - Строка - UUID объекта 1С
* ИмяМетаданных - Строка - имя метаданных 1С
* ПолноеИмяМетаданных - Строка - имя метаданных 1С
Функция ОписаниеМетаданныхОбъектовБД1С() - возвращает описание метаданных 1С для таблиц и полей таблиц СУБД
Параметры:
ДобавлятьКолонки
Булево
Истина - будет добавлена информация для колонок таблиц
Возвращаемое значение: Соответствие - соответствия имен таблиц СУБД и полных имен метаданных 1С описаниям объектов метаданных (см. ОписаниеМетаданныхОбъектаБД1С)
Функция ЗанимаемоеМесто() - возвращает описание занимаеиого места в базе MS SQL Server
Параметры:
нет
Возвращаемое значение: Структура - описание занимаего места
* РазмерБазы - Число - размер текущей базы данных в байтах, включает файлы данных и журналов
* Свободно - Число - место в базе данных, не зарезервированное для объектов базы данных
* Зарезервировано - Число - общий объем, выделенный объектам в базе данных
* Данные - Число - зарезервированный объем, используемый данными
* Индексы - Число - зарезервированный объем, используемый индексами
* НеИспользуется - Число - объем, зарезервированный для объектов в базе данных,
но пока не используемый
* ЖурналВсего - Число - полный объем журнала транзакций
* ЖурналИспользуется - Число - используемый объем журнала транзакций
Функция ПоказателиИспользованияТаблицБазы() - возвращает список таблиц в базе MS SQL Server и их показатели использования
Параметры:
ФильтрТаблицПоИмени
Строка
фильтр имен таблиц в формате для оператора "LIKE"
СтатистикаОпераций
Булево
Истина - в результат будет включена статистика по операциям с таблицами (для больших баз - может занять много времени)
Возвращаемое значение: Массив из Структура - таблицы и показатели использования
* Таблица - Строка - имя таблицы
* КоличествоСтрок - Число - количество строк в таблице
* ВсегоЗанято - Число - общий объем заниаемого места (байт)
* Используется - Число - объем, используемый данными (байт)
* НеИспользуется - Число - не используемый объем (байт)
* ОперацийЧтения - Число - количество операций чтения (read)
* ОперацийВыборки - Число - количество операций выборки (select)
* ОперацийСканирования - Число - количество операций сканирования (scan)
* ОперацийПоиска - Число - количество операций поиска (seek)
* ОперацийЗаписи - Число - количество операций записи (write)
Запуск тестов
Необходимые настройки
Для тестирования подключения / отключения сетевого диска требуются дополнительные настройки.
В реестре в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters указать:
BasicAuthLevel : 0x00000002 (2)
В реестре в ключе HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager указать:
ProtectionMode : 0x00000000 (0)
Для тестирования работы с базами MS SQL пользователю, под которым выполняется вход на сервер необходимо назначить роль sysadmin
Выполнение тестов
Запуск и остановка окружения выполняются автоматически.
./tools/runtests.bat
Запуск окружения
Для выполнения отладки
./tools/startenv.bat
Остановка окружения
После выполнения отладки
./tools/stopenv.bat
About
Приложение oscript для копирования баз данных 1C / MS SQL и развертывания на целевой системе.