User Tools

Site Tools


Sidebar

Me
Здравствуйте!

Меня зовут Михаил Усик!
Я системный администратор
и наполняю эту wiki,
решая разнообразные IT-задачки.

Я всегда готов помочь Вам
наладить IT-инфраструктуру
за скромное вознаграждение!

mike@autosys.tk
+7 (977) 887-96-23

ms_windows_ms_sql:azure_sql_database_export

Проблема

У клиента есть приложение node.js на Ubuntu Linux, развернутое в Azure. Приложение использует SQL-базу, также размещенную в Azure.
Задача - выгрузить базу данных и приложение для того, чтобы организовать отладочную среду.
Задача несколько осложняется тем, что на сервере базы данных настроен firewall, ограничивающий доступ к базе с единственного хоста. Настроить firewall возможности нет.
Доступ к хосту на котором крутится приложение есть.

Экспорт-Импорт базы данных SQL из Azure

Для того, чтобы я смог подключиться к SQL-серверу с хоста не разрешенного в firewall, пришлось на хосте с приложением установить haproxy и настроить tcp-proxy до SQL-сервера в Azure:

frontend tcp-in-mssql
  bind :1433
  mode tcp
  use_backend mssql

backend mssql
  mode tcp
  server mssqlserver clientname.database.windows.net:1433 check

Теперь я смог подключиться к SQL-серверру в Azure, указав в качестве адреса SQL-сервера адрес хоста с приложением.
Для того, чтобы экспортировать базу нужно:

  1. Создать на локальном SQL-сервере пустую базу данных.
  2. Кликнуть правой кнопкой по пустой базе и выбрать Tasks → Import Data…
  3. В качестве Data Source выбрать .Net Framework Data Provider for SqlServer, а в поле Data → Connection String написать такое:
    Data Source=app.hostname.com;Initial Catalog=Web_db;User ID=user;Password=*********;

    и нажать Next>

  4. В качестве Destination выбрать .Net Framework Data Provider for SqlServer, и заполнить поле Data → Connection String аналогично, указав данные локального сервера:
    Data Source=localsqlhost;Initial Catalog=Web_db;

    и, если используется интегрированная аутентификация, укажем ее тип:

    Authentication="Active Directory Integrated";

    или логин/пароль в случае SQL-аутентификации. Также, возможно, понадобится выставить Security→TrustServerCertificate = True. Жмем Next.

  5. Дальше выбираем Copy Data from one or more tables or views
  6. Выбираем все объекты БД, жмем Next, ставим галочку Run immidiatellyNextFinish!.

Discussion

Enter your comment. Wiki syntax is allowed:
I A Q C P
 
ms_windows_ms_sql/azure_sql_database_export.txt · Last modified: 2019/02/11 09:13 (external edit)