Как развернуть бд на сервере
Перейти к содержимому

Как развернуть бд на сервере

  • автор:

Развертывание базы данных с помощью приложения уровня данных

Используйте мастер развертывания базы данных в базе данных SQL Microsoft Azure для развертывания базы данных между экземпляром ядра СУБД и сервером базы данных SQL Azure или между двумя серверами базы данных SQL Azure.

Перед началом

Мастер использует архивный файл приложения уровня данных (DAC) BACPAC для развертывания как данных, так и определений объектов базы данных. Он выполняет операцию экспорта приложения уровня данных из базы данных-источника и импорт приложения уровня данных в место назначения.

настройка параметров баз данных

По умолчанию база данных, созданная при развертывании, получит все параметры по умолчанию из инструкции CREATE DATABASE. Исключением являются параметры сортировки и уровень совместимости базы данных, которые устанавливаются в значения из базы данных-источника.

Некоторые параметры баз данных, например TRUSTWORTHY, DB_CHAINING и HONOR_BROKER_PRIORITY, нельзя изменить в рамках процедуры развертывания. Физические свойства, например количество файловых групп или количество и размер файлов, нельзя изменять в рамках процедуры развертывания. После завершения развертывания можно использовать инструкцию ALTER DATABASE, SQL Server Management Studio или SQL Server PowerShell для настройки базы данных.

Ограничения

Мастер Развертывание базы данных поддерживает развертывание базы данных:

  • Из экземпляра ядра СУБД в базу данных SQL Azure.
  • Из базы данных SQL Azure в экземпляр ядра СУБД.
  • Между двумя серверами базы данных SQL Azure.

Мастер не поддерживает развертывание баз данных между двумя экземплярами ядра СУБД.

Экземпляр ядра СУБД должен работать под управлением SQL Server 2005 (9.x) с пакетом обновления 4 (SP4) или более поздней версии, чтобы работать с мастером. Если база данных на экземпляре ядра СУБД содержит объекты, которые не поддерживаются в Базе данных SQL Azure, вы не можете использовать мастер для развертывания базы данных в Базе данных SQL Azure. Если база данных в базе данных SQL Azure содержит объекты, которые не поддерживаются SQL Server, вы не можете использовать мастер для развертывания базы данных в экземплярах SQL Server.

Безопасность

В целях повышения безопасности имена входа в SQL Server хранятся в файле экспорта приложения уровня данных BACPAC без пароля. При импорте файла BACPAC имя входа создается как отключенное имя входа с созданным паролем. Чтобы включить имена входа, войдите в систему под учетной записью, имеющей разрешение ALTER ANY LOGIN и с помощью команды ALTER LOGIN включите имя входа и присвойте ему новый пароль, который можно передать пользователю. Это не требуется для имен входа, использующих проверку подлинности Windows, поскольку SQL Server не управляет их паролями.

Разрешения

Мастеру необходимы разрешения на экспорт приложения уровня данных в базе данных-источнике. Для имени входа необходимы как минимум разрешения ALTER ANY LOGIN и VIEW DEFINITION на уровне базы данных, а также разрешение SELECT для представления каталога sys.sql_expression_dependencies. Экспорт приложения уровня данных может выполняться членами предопределенной роли сервера securityadmin, которые также входят в предопределенную роль базы данных database_owner для базы данных, из которой экспортируется приложение уровня данных. Экспортировать приложение уровня данных могут также члены предопределенной роли сервера sysadmin или встроенной роли системного администратора SQL Server с названием sa .

Мастеру необходимы разрешения на импорт приложения уровня данных на экземпляре или сервере назначения. Имя входа должно быть членом предопределенных ролей сервера sysadmin или serveradmin либо членом предопределенной роли сервера dbcreator с разрешениями ALTER ANY LOGIN. Встроенная учетная запись системного администратора SQL Server с именем sa также может импортировать DAC. Для импорта DAC с именами входа в базу данных SQL требуется членство в ролях loginmanager или serveradmin. Для импорта DAC без входа в базу данных SQL требуется членство в ролях dbmanager или serveradmin.

Использование мастера развертывания баз данных

Перенос базы данных с помощью мастера развертывания баз данных

  1. Подключитесь к расположению базы данных, которую необходимо развернуть. Можно указать экземпляр ядра СУБД или сервер базы данных SQL Azure.
  2. В обозревателе объектовразверните узел экземпляра, содержащего базу данных.
  3. Разверните узел Базы данных .
  4. Щелкните правой кнопкой мыши базу данных, которую вы хотите развернуть, выберите «Задачи» и выберите » Развернуть базу данных в Базе данных SQL Microsoft Azure»
  5. Выполните шаги в диалоговых окнах мастера.
    • Вводная страница
    • Параметры развертывания
    • Страница «Сводка»
    • Ход выполнения
    • Результаты

Вводная страница

На этой странице описываются шаги мастера развертывания баз данных .

Options (Параметры)

  • Больше не показывать эту страницу. — установите этот флажок, чтобы предотвратить отображение страницы «Введение» в будущем.
  • Далее — осуществляет переход на страницу Параметры развертывания .
  • Отмена — отмена операции и закрытие мастера.

Страница «Параметры развертывания»

На этой странице указываются целевой сервер и подробные сведения о новой базе данных.

Локальный узел:

  • Соединение с сервером — укажите сведения о соединении с сервером и нажмите кнопку Подключить для проверки соединения.
  • Задание имени новой базы данных — укажите имя новой базы данных.

Параметры базы данных SQL:

  • Выпуск Базы данных SQL. Выберите выпуск базы данных SQL в раскрывающемся меню.
  • Максимальный размер базы данных — выберите максимальный размер базы данных в раскрывающемся меню.

Другие параметры:

  • Укажите локальный каталог для временного файла (архивного файла BACPAC). Не забывайте, что файл будет создан в указанном месте и останется там после завершения операции.

Страница «Сводка»

Воспользуйтесь этой страницей для просмотра указанного источника и целевых параметров операции. Чтобы выполнить развертывание с заданными параметрами, нажмите кнопку Готово. Чтобы отменить операцию развертывания и выйти из мастера, нажмите кнопку Отмена.

Страница «Ход выполнения»

На этой странице отображается индикатор выполнения, который определяет состояние операции. Чтобы просмотреть подробности состояния, выберите параметр Просмотр сведений .

Страница результатов

На этой странице отображаются сведения об успешности операции развертывания по результатам каждого действия. Для каждого действия, в котором обнаружена ошибка, предусмотрена ссылка в столбце Результат . Щелкните эту ссылку, чтобы просмотреть отчет об ошибках, относящихся к данному действию.

Чтобы завершить работу мастера, нажмите кнопку Готово .

Использование приложения .NET Framework

Развертывание базы данных с помощью методов DacStore Export() и Import() в приложении .NET Framework.

  1. Создайте объект SMO и настройте его на работу с экземпляром или сервером, содержащим базу данных, подлежащую развертыванию.
  2. Откройте объект ServerConnection и подключитесь к тому же экземпляру.
  3. Используйте метод Export типа Microsoft.SqlServer.Management.Dac.DacStore для экспорта базы данных в файл BACPAC. Укажите имя экспортируемой базы данных и путь к папке, в которой будет размещен файл BACPAC.
  4. Создайте объект SMO Server и задайте для него целевой экземпляр или сервер.
  5. Откройте объект ServerConnection и подключитесь к тому же экземпляру.
  6. Вызовите метод Import типа Microsoft.SqlServer.Management.Dac.DacStore для импорта BACPAC. Укажите файл BACPAC, созданный при экспорте.

Развернуть базу данных MS SQL

Для работы с базой данных на сервере БД требуется установить Microsoft SQL Server Management Studio. Ознакомиться с описанием программы и скачать установочные файлы можно в документации Microsoft .

На заметку. Развертывание Creatio с отказоустойчивостью на MS SQL успешно тестировалось. Для развертывания системы с высокой доступностью рекомендуется использовать группы доступности MS SQL Always On. Подробнее о технологии MS SQL Always On читайте в документации Microsoft .

После установки Microsoft SQL Server Management Studio вам необходимо создать пользователей базы данных.

  • Пользователь с ролью ”sysadmin” и неограниченными полномочиями на уровне сервера базы данных — нужен для восстановления базы данных и настройки доступа к ней.
  • Пользователь с ролью ”public” и ограниченными полномочиями — используется для настройки безопасного подключения Creatio к базе данных через аутентификацию средствами MS SQL Server.

Подробно о создании пользователей и настройке прав читайте в документации Microsoft .

Для восстановления базы данных:

  1. Авторизируйтесь в Microsoft SQL Server Management Studio как пользователь с ролью ”sysadmin”.
  2. Нажмите правой клавишей мыши по каталогу Databases и в контекстном меню выберите команду Restore Database ( Рис. 1 ).

Рис. 1 — Выбор команды восстановления базы данных

scr_setup_restore_database.png

  1. В поле Database введите название базы данных;
  2. Выберите переключатель Device и укажите путь к файлу резервной копии базы данных. По умолчанию данный файл находится в директории ~\db с исполняемыми файлами Creatio ( Рис. 2 ).

Рис. 2 — Выбор резервной копии базы данных

scr_setup_restore_database_data.png

Рис. 3 — Указание названий файлов и путей размещения файлов TS_Data.mdf и TS_Log.ldf.

scr_setup_restore_database_options.png

  1. В MS SQL Server Managment Studio найдите восстановленную базу данных Creatio.
  2. Откройте вкладку Security выбранной базы данных.
  3. В списке пользователей Users добавьте созданного ранее пользователя.
  4. На вкладке Membership укажите роль ”db_owner” — таким образом пользователю будет предоставлен неограниченный доступ к восстановленной базе.

Практическое руководство. Создание и развертывание в локальной базе данных

SQL Server предоставляет локальный экземпляр сервера по запросу с именем SQL Server Express Local Database Runtime (LocalDB), который активируется при отладке проекта базы данных SQL Server. Этот экземпляр локального сервера можно использовать в качестве песочницы для создания, тестирования и отладки проекта.

Он не зависит от любого установленного экземпляра SQL Server и недоступен за пределами SQL Server Data Tools (SSDT). Такое соглашение идеально подходит для разработчиков с ограниченным доступом к рабочим базам данных, но хотелось бы протестировать свои проекты локально, прежде чем авторизованный персонал развертывает их в рабочей среде. Кроме того, при разработке решения базы данных для SQL Azure вы можете использовать удобство, предоставленное этим локальным сервером для разработки и тестирования проекта базы данных локально, прежде чем развертывать его в облаке.

Ограничения

База данных под локальным узлом базы данных в SQL Server обозреватель объектов является отражением соответствующего проекта базы данных и не связана с той же базой данных в экземпляре подключенного сервера.

В следующих процедурах используются сущности, созданные с помощью процедур, которые описывались ранее в разделах Connected Database Development (Разработка подключенной базы данных) и Project-Oriented Offline Database Development (Разработка базы данных вне сети с учетом проекта).

Использование локальной базы данных

  1. В обозреватель объектов SQL Server под узлом SQL Server появится новый узел с именем Local. Это локальный экземпляр базы данных.
  2. Разверните узлы Локально и Базы данных. Обратите внимание на внешний вид базы данных с тем же именем, что у проекта TradeDev. Разверните узлы в этой базе данных. В окне Операции инструментальных средств для обработки данных отображается состояние операций расширения или импорта, выполняющихся в любой базе данных узла Локальные. Они не содержат таблиц и сущностей, созданных в предыдущих процедурах.
  3. Нажмите клавишу F5 для отладки проекта базы данных TradeDev. По умолчанию SSDT использует экземпляр локального сервера базы данных для отладки проектов базы данных. В этом случае SSDT сначала пытается создать проект, и если нет ошибок, проект (и его сущности) развертываются в локальной базе данных. При отладке того же проекта ssdT обнаруживает изменения с момента последнего сеанса отладки и развертывает только эти изменения в локальной базе данных.
  4. Снова разверните узлы TradeDev в локальном сервере базы данных. На этот раз обратите внимание, что таблицы, представления и функции были развернуты на локальном сервере базы данных.
  5. Щелкните узел правой TradeDev кнопкой мыши и выберите новый запрос.
  6. В области скриптов вставьте этот код и нажмите кнопку «Выполнить запрос «, чтобы запустить запрос.
SELECT * FROM dbo.GetProductsBySupplier(1); 

Репликация реальных данных в локальную базу данных

  1. В обозреватель объектов SQL Server разверните подключенный TradeDev экземпляр SQL Server и найдите базу данных. Щелкните правой кнопкой мыши таблицу Suppliers и выберите «Просмотреть данные«.
  2. Нажмите кнопку «Скрипт» (вторая кнопка справа) в верхней части редактора данных. Скопируйте инструкции INSERT из скрипта.
  3. Разверните экземпляр локального сервера и щелкните узел правой TradeDev кнопкой мыши и выберите новый запрос.
  4. Вставьте инструкции INSERT в окно запроса и запустите запрос.
  5. Повторите описанные выше действия, чтобы реплика te данные из Products и Fruits таблиц в подключенной TradeDev базе данных к локальной TradeDev базе данных.
  6. Щелкните правой кнопкой мыши экземпляр сервера Local и выберите Обновить. Просмотрите таблицы с помощью данных представления, чтобы убедиться, что локальная база данных заполнена.
  7. Щелкните правой кнопкой мыши TradeDev узел экземпляра локального сервера и выберите новый запрос.
  8. В области скриптов вставьте этот код и нажмите кнопку «Выполнить запрос «, чтобы запустить запрос.
SELECT * FROM dbo.GetProductsBySupplier(1); 

Обратная связь

Были ли сведения на этой странице полезными?

Как установить базу данных на сервер и начать с ней работать

В каждом проекте мы обычно храним все данные либо во внутренней памяти браузера, либо в текстовых файлах на компьютере или на сервере. Это хорошо работает в простых проектах, когда нужно запомнить несколько десятков строк или чисел. Но в полноценных проектах, где обрабатываются сотни и тысячи записей, так почти никто не делает — вместо этого программисты используют базы данных.

Сегодня мы сделаем первый шаг на этом пути — установим на сервер базу данных MySQL и убедимся, что она работает.

Что понадобится

Чтобы всё получилось, нам будут нужны:

  • свой виртуальный сервер;
  • настроенный доступ к серверу через SSH;
  • место на диске для установки базы данных.

Виртуальный сервер можно взять любой, где будет хотя бы 1 гигабайт памяти на диске для хранения данных. У нас не будет настолько большой базы данных, но этого размера точно хватит и для базы, и для установки всех нужных программ.

Необходимый минимум для связи с сервером

Чтобы сервером можно было управлять со своего домашнего компьютера, нам понадобится настроить SSH — программу для безопасной связи между компьютерами по сети. Так как почти все серверы в интернете работают на линуксе без графической оболочки, команды для управления будем вводить в терминале (или командной строке, кому какое название больше нравится).

Перед тем как продолжить, проверяем, что у нас работает доступ к серверу по SSH:

Как установить базу данных на сервер и начать с ней работать

Командой ssh root@82.146.34.72 мы велели нашему компьютеру безопасно подключиться к серверу с адресом 82.146.34.72 и получили в ответ приветствие сервера. Это значит, что всё настроено правильно и можно устанавливать базу данных.

Базу данных необязательно устанавливать на сервер — на домашнем компьютере она тоже будет работать. Самый простой способ это сделать — поставить виртуальную машину с Ubuntu и установить базу там. Единственный минус — удалённо поработать с такой базой будет сложно, но для тренировки и изучения SQL-запросов этого хватит.

Проверяем, есть ли база данных на сервере

Некоторые виртуальные серверы уже идут в комплекте с установленной базой данных MySQL, и в этом случае ничего дополнительно устанавливать не придётся. Проверить, если ли MySQL на сервере, можно командой mysql -V :

Как установить базу данных на сервер и начать с ней работать

Сервер ответил, что не знает этой команды, — это значит, что база MySQL не установлена.

Дальше мы будем использовать команды установщика для Ubuntu, потому что именно эта операционная система стоит на нашем сервере. Если у вас другая версия линукса, замените наши команды установки apt install на свои.

Устанавливаем базу данных

Установим сразу и серверную, и клиентскую части базы данных MySQL. Серверная отвечает за обработку и хранение данных, а клиентская — за отправку запросов на сервер. Теоретически можно было бы обойтись одной серверной частью, но мы ставим клиентскую, чтобы сразу получить возможность отправлять запросы в базу и видеть результат.

Для установки обеих частей выполним команду apt install mysql-server mysql-client . Сервер соберёт данные об установке и скажет, что ему понадобится около 250 мегабайт на диске — для установки нужно будет ввести английскую букву «y» и нажать энтер:

Как установить базу данных на сервер и начать с ней работать

Когда установка закончится, снова проверим, знает ли сервер о том, что у него теперь есть MySQL, командой mysql -V :

Как установить базу данных на сервер и начать с ней работать

Сервер ответил, что у нас установлена версия 8.0.29, — это значит, что мы всё сделали правильно.

Создаём новую базу

Последнее, что нам осталось сделать, — создать новую базу данных.

Все команды в MySQL называются запросами и пишутся внутри её собственной командной строки. Для перехода в неё пишем команду mysql -u root:

Как установить базу данных на сервер и начать с ней работать

У нас поменялся внешний вид приветствия в командной строке: вместо имени пользователя и текущей папки мы видим строку mysql> — это значит, что мы сейчас общаемся с базой данных и она готова принимать и выполнять команды.Создадим новую базу с названием thecodeDB командой CREATE DATABASE:

Как установить базу данных на сервер и начать с ней работать

Обратите внимание на точку с запятой в конце команды — без неё база данных не поймёт, что запрос закончился, и будет ждать продолжения:

Как установить базу данных на сервер и начать с ней работать

Убедимся, что база создана, — выполним команду SHOW DATABASES;

Как установить базу данных на сервер и начать с ней работать

Мы используем рабочий сервер для Nextcloud, поэтому на нём уже есть несколько баз данных, но наша база тоже теперь есть в списке — это значит, что MySQL про неё знает и может с ней работать.

Что дальше

Сейчас у нас на сервере есть своя база данных, настроенная и готовая к работе. В следующей статье мы попробуем её в деле — возьмём какой-нибудь наш старый проект и переделаем его под хранение данных в базе.

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *