Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
ms_windows_ms_sql:azure_sql_database_export [2018/12/19 14:27] – [Проблема] adminms_windows_ms_sql:azure_sql_database_export [2019/02/11 09:13] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Проблема ======
 +У клиента есть приложение **node.js** на **Ubuntu Linux**, развернутое в **Azure**. Приложение использует SQL-базу, также размещенную в **Azure**. \\
 +Задача - выгрузить базу данных и приложение для того, чтобы организовать отладочную среду. \\
 +Задача несколько осложняется тем, что на сервере базы данных настроен **firewall**, ограничивающий доступ к базе с единственного хоста. Настроить **firewall** возможности нет. \\
 +Доступ к хосту на котором крутится приложение есть.
 +
 +===== Экспорт-Импорт базы данных SQL из Azure =====
 +Для того, чтобы я смог подключиться к **SQL**-серверу с хоста не разрешенного в **firewall**, пришлось на хосте с приложением установить **haproxy** и настроить **tcp-proxy** до **SQL**-сервера в **Azure**:
 +<code>frontend tcp-in-mssql
 +  bind :1433
 +  mode tcp
 +  use_backend mssql
 +
 +backend mssql
 +  mode tcp
 +  server mssqlserver clientname.database.windows.net:1433 check
 +</code>
 +Теперь я смог подключиться к **SQL**-серверру в **Azure**, указав в качестве адреса **SQL**-сервера адрес хоста с приложением. \\
 +Для того, чтобы экспортировать базу нужно:
 +  - Создать на локальном SQL-сервере пустую базу данных.
 +  - Кликнуть правой кнопкой по пустой базе и выбрать **Tasks -> Import Data...**
 +  - В качестве **Data Source** выбрать **.Net Framework Data Provider for SqlServer**, а в поле **Data -> Connection String** написать такое:<code>Data Source=app.hostname.com;Initial Catalog=Web_db;User ID=user;Password=*********;</code> и нажать **Next>**
 +  - В качестве **Destination** выбрать **.Net Framework Data Provider for SqlServer**, и заполнить поле **Data -> Connection String** аналогично, указав данные локального сервера: <code>Data Source=localsqlhost;Initial Catalog=Web_db;</code> и, если используется интегрированная аутентификация, укажем ее тип: <code>Authentication="Active Directory Integrated";</code> или логин/пароль в случае SQL-аутентификации. Также, возможно, понадобится выставить **Security->TrustServerCertificate = True**. Жмем **Next**.
 +  - Дальше выбираем **Copy Data from one or more tables or views**
 +  - Выбираем все объекты БД, жмем **Next**, ставим галочку **Run immidiatelly** -> **Next** -> **Finish**!.
  
  • ms_windows_ms_sql/azure_sql_database_export.txt
  • Last modified: 2019/02/11 09:13
  • by 127.0.0.1