Microsoft SQL Server, PostgreSQL, Qt, Базы данных

Резервное копирование базы данных по расписанию: MS SQL Server и PostgreSQL

Резервное копирование базы данных по расписанию: MS SQL Server и PostgreSQLНе во всех СУБД есть возможность настроить Резервное копирование базы данных по расписанию штатными средствами. Например, в Microsoft SQL Server это делается без проблем, а вот в PostgreSQL такой возможности «из коробки» нет.

Но выход есть: создать файл сценария и добавить его исполнение в расписание задач в Windows.

В переменных database, host, port, userName, bin, backupDir будут храниться значения имени базы данных, сервера, порта, имени пользователя БД, путь к bin папке PostgreSQL и директории сохранения резервных копий соответственно.

Пусть значение driver = 0 будет отвечать за PostgreSQL, а 1 — за Microsoft SQL Server.

Определим текст *.bat-файла:

QString batText = "@ECHO OFF \n"
        "SET dmpfile="+database+"-FullBackup-%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% \n"
        "IF \"%TIME:~0,1%\"==\" \" (SET dmpfile=%dmpfile%-0%TIME:~1,1%) ELSE (SET dmpfile=%dmpfile%-%TIME:~0,2%) \n"
        "SET dmpfile=%dmpfile%-%TIME:~3,2%-%TIME:~6,2%.backup \n"
        "set text = Begin to backup... \n"
        "echo %text% \n";
if (driver==0)
       batText += QString(
           "cd %1\ \n"
           "pg_dump.exe --host %2 --port %3 --username %4 --no-password --format" 
		   "custom --blobs --verbose --file \"%5\\%dmpfile%\" %6")
            .arg(bin, host, port, userName, 
				 backupDir.replace("/", "\\"), database);
 else
       batText += QString("SQLCMD -S %1 -E -Q \"BACKUP DATABASE %2 "
           "TO DISK = '%3/%dmpfile%' "
           "WITH INIT, NOFORMAT, SKIP, NOUNLOAD\"")
                .arg(host, database, backupDir);

Имя файла резервной копии будет иметь при этом подобный вид: DatabaseName-FullBackup-2018-08-07 -11-23-38.backup, то есть имя базы данных, FullBackup + таймстемп.

Далее запишем текст в файл: Продолжить чтение «Резервное копирование базы данных по расписанию: MS SQL Server и PostgreSQL»

Microsoft SQL Server, Qt, Базы данных

Подключение к базе данных MS SQL Server в Qt

В записи Подключение к базе данных в Qt на примере СУБД PostgreSQL я показала, как произвести подключение к базе данных. С MS SQL Server немного запутанней получается (не привыкать).

MS SQL Server может использовать 2 вида аутентификации: аутентификация windows и аутентификация  SQL Server. Ниже рассмотрим оба способа подключения. Продолжить чтение «Подключение к базе данных MS SQL Server в Qt»

ИС отдела материально-технического снабжения Delphi + Interbase
Delphi, Базы данных, Портфолио

ИС отдела материально-технического снабжения. Delphi + Interbase

ИС отдела материально-технического снабжения. Выполнена в Delphi + СУБД Interbase. Учебный проект. Изображение в полном размере.

Функции:

  • Просмотр информации
  • Ведение (добавление, редактирование, удаление) данных
  • Создание печатных отчетов
  • Разделение уровней доступа (администратор, сотрудник, сотрудник ОМТС)

Чтобы заказать проект или получить консультацию, перейдите, пожалуйста, на страницу Контакты.

Моё портфолио: https://secretsilent.ru/портфолио/

Познакомимся? 🙂 Инфо обо мне: https://secretsilent.ru/info/

ИС Библиотека. C++ Builder + Access
C++, Базы данных, Портфолио

Информационная система «Библиотека»: C++ Builder + MS Access

Информационная система «Библиотека». Выполнена в C++ Builder + Microsoft Access. Учебный проект. Изображение в полном размере.

Функции:

  • Просмотр, поиск и фильтрация данных
  • Ведение (добавление, редактирование, удаление) данных.

Чтобы заказать проект или получить консультацию, перейдите, пожалуйста, на страницу Контакты.

Моё портфолио: https://secretsilent.ru/портфолио/

Давайте знакомиться! Инфо обо мне: https://secretsilent.ru/info/