Проблема

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

Для того, чтобы я смог подключиться к 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!.

Enter your comment. Wiki syntax is allowed:
 
  • ms_windows_ms_sql/azure_sql_database_export.txt
  • Last modified: 2019/02/11 09:13
  • by 127.0.0.1