Как мы на Managed Service for SQL Server в Yandex.Cloud переезжали

19.03.21

База данных - Администрирование СУБД

Рассказ про грабли при переезде на Yandex Managed Service for SQL Server и DataLens.

Сразу скажу - смысл статьи не в критике. Я просто решил предупредить тех, кто решил проделать тот же путь, что и мы. Показать, какие вопросы пока не решены на текущий момент.

Немножко информации по сервису Managed Service for SQL Server:

Managed Service for SQL Server был запущен на Yandex.Cloud 18.12.2020 -> Сервис Yandex Managed Service for SQL Server™ перешел в общий доступ

Подробный рассказ в официальном видео:

 

Нам обещано, что почти всю головную боль на себя берет Yandex Managed Service for SQL Server

 

 

Мы знали про это решение до того, как оно появилось в декабре, решили, что после январских праздников будем перепрыгивать на Yandex Managed Service for SQL Server.

Нам надо было перенести несколько 1С баз и несколько баз других систем и подключить к одной из баз Yandex DataLens.

Задача простейшая, но…

 

Первым делом я решил перенести 1С базы.

1 Снял бекап средствами MSSQL

2 В Managed Service for SQL Server создал пустые базы и пользователя с правами владельца (DB_OWNER) на эти базы.

3 Попытался средствами MSSQL загрузить бекапы… Поковырялся пару часов и решил дедовским методом перенести через конфигуратор dt-ки.

Самое интересное, на видео выше показан именно этот метод, но почему-то я решил, что это просто совпадение.

Переезд состоялся без осложнений.

 

Осталось перенести не 1С базу и дело сделано…

Первым делом я решил-таки попробовать подсунуть бекап.

Я пытался подсунуть бекап через консоль:

Я пытался перенести бекап через Yandex Object Storage.

Не вышло...

 

В Яндекс мне порекомендовали следующее решение:

Здравствуйте. Пока единственный вариант развернуть бэкап — воспользоваться средствами экспорта-импорта в Management Studio или SSIS пакетом для загрузки данных.

Мои действия:

Я воспользовался мастером Импорт и экспорт данных в SQL Server. Данные перенеслись, но в процессе были ошибки, и система чью базу я переносил сообщила мне что база не ее. То есть при переносе что-то не перенеслось. Я повторил попытку, но и она закончилась фиаско.

Я опять обратился за советом.

 

В Яндекс мне порекомендовали следующее решение:

Концептуально сейчас есть такой порядок действий:

1. Экспорт структуры БД через SQLPackage.exe без пользователей https://docs.microsoft.com/ru-ru/sql/tools/sqlpackage/sqlpackage?view=sql-server-ver15 формат DACPAC. BACPAC не подойдёт, т.к. его импорт подразумевает право на создание БД и в существующую БД он импортироваться не умеет.

2. Создание в облаке пустой БД

3. Применение к этой БД структуры из шага 1 через тот же SQLPackage.exe

4. Загрузка данных в таблицы через средства экспорта-импорта или SSIS.

 

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

 

Мои действия:

1 Скачал последнюю версию SqlPackage.exe

2 Создал DACPAC
Команда:
sqlpackage.exe /TargetFile:"C:\Back_up_For_ya\sqlpackageoutput\output_current_version.dacpac" /Action:Extract /SourceServerName:"MSSQL" /SourceDatabaseName:"МояБаза"

3 Создал в Managed Service for SQL Server базу "МояБаза", создал пользователя "МойПользователь" и дал права DB_OWNER

4 Попытался загрузить DACPAC
Команда:
SqlPackage.exe /Action:Publish /SourceFile:"C:\Back_up_For_ya\sqlpackageoutput\output_current_version.dacpac" /TargetDatabaseName:"МояБаза" /TargetServerName:"МойСерверНаЯндексе" /TargetUser:"МойПользователь " /TargetPassword:"ПарольПользователя"

 
 Получил ошибку:

5 Запустил SqlPackage.exe так же как в 4 пункте, но добавил ключ расшифровки /Diagnostics:True

 
 Получил больше представления по ошибкам, вырезка из лога:

 

Дальше я все логи отдал в Яндекс и после нескольких дней ожеданий предложил такой вариант:

1 Я создам бекап и закину его в Object Storage.

2 Создам ссылку и дам специалистам Yandex.

3 Специалисты перенесут данный файл в место доступное для восстановления базы по средствам Microsoft SQL Server Management Studio

4 Я восстановлю базу из этого бекапа.

Возможен такой вариант?

 

В Яндекс мне ответили:

Такой вариант возможен. Только пункт 4 тоже сделают специалисты сервиса. Этот сценарий пока отрабатывается на тестовой базе. Если вы не против, можем попробовать импортировать сразу вашу базу. Для этого создадим чат в телеграме со специалистами сервиса и интерактивно все сделаем. Сообщите, пожалуйста, если такой вариант вас устроит.

 

Я естественно согласился и на следующий день мы со специалистами Яндекс довели дело до конца, но у меня было ощущение что я что-то не так делал, и я спросил:

Вопрос. Если нам еще нужно будет перенести базу через месяц, два. Мы сами сможем это сделать?

 

В Яндекс мне ответили:

пока вряд ли.
я буду готов оперативно помочь до появления надлежащих средств.

 

 

Вопрос с Yandex Managed Service for SQL Server закрыли. Переехать можно но сложно.

Я уверен на 90% что если бекап сохранить в MS Azure, то оттуда можно его и поднять без помощи Яндекс, но это не точно…

 

Немножко информации по сервису DataLens:

Сервис DataLens позволяет визуализировать данные для анализа.

 

Мое обращение в Яндекс:

У нас куплены Managed Service for SQL Server и Managed Service for PostgreSQL. В Yandex DataLens подключение к PostgreSQL создается без проблем, а к MS SQL Server подконектится не получается.

В Managed Service for SQL Server создана база и пользователь с ролями на эту базу (DB_DATAREADER DB_DENYDATAWRITER) Использовал инструкцию https://cloud.yandex.ru/docs/datalens/operations/connection/create-mssql-server#ms-sql-server-connection

Подключение не проходит. Database error.

Есть ли такая возможность в принципе или мы зря пытаемся?

 

Ответы Яндекс:

 

 

UPD 15.02.2021

Ответ Яндекс:

 

Сегодня 18.02.2021 и УРА! Подключение DataLens заработало!

 

UPD 19.03.2021

Все это время мы никак не могли протестировать DataLens, так как из-за ожидании его починки фокус сместился на другие задачи.

Вчера я все таки добрался до тестирования и... 

Мое обращение в Яндекс:

Ответ Яндекс:

Мое обращение в Яндекс:

 

Резюмирую:

В Managed Service for SQL Server переехать можно, но сложно.

DataLens то работает, то нет...

Думайте сами, решайте сами. Иметь или не иметь...

Yandex Managed Service for SQL Server DataLens Yandex.Cloud Cloud

См. также

Внешние источники данных Облачные сервисы, хостинг Программист Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 8.3.14 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бытовые услуги, сервис Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Гостиничный бизнес Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Легкая промышленность, мода и одежда Управленческий учет Платные (руб)

Расширение позволяет автоматизировать управление картами лояльности и взаимодействие с покупателями при помощи интеграции корпоративной системы 1С и специализированного облачного сервиса "CARDPR". Автоматическая онлайн синхронизация сведений о владельце электронной карты лояльности и баланса бонусных баллов на карте между корпоративной системой 1С и мобильным устройством покупателя. Оповещение покупателя об изменении баланса его электронной карты лояльности и проведении каких-либо маркетинговых акций в компании при помощи рассылки push-сообщений на его мобильное устройство.

36000 руб.

20.07.2023    3392    1    2    

12

Управление взаимоотношениями с клиентами (CRM) Телефония, SIP Облачные сервисы, хостинг Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Продукт интеграции возможностей Облачной АТС Билайн в систему 1С Предприятие 8. Звонки прямо из программы 1С, уведомления о текущих звонках, регистрация пропущенных и завершенных вызовов, ведение журнала, анализ данных об использовании мобильной связи.

12000 руб.

20.03.2019    23135    54    0    

37

Облачные сервисы, хостинг Программист Бесплатно (free)

SaaS-решения стали популярны за счет быстрого старта, экономии на обслуживании и обновлениях, масштабируемости и стремительной доставке новых возможностей пользователям. Расскажем о том, как 1С «под капотом» стал преимуществом для развития SaaS-сервиса EmplDocs.

16.01.2025    3134    Kistkin    6    

6

HighLoad оптимизация Администрирование СУБД Программист Платформа 1С v8.3 Бесплатно (free)

В рамках мастер-класса мы запустим нагрузочный тест на 3К пользователей и посмотрим, как будет вести себя PostgreSQL при такой нагрузке.

11.12.2024    1263    Tantor    1    

6

Администрирование СУБД Системный администратор Программист

В крупных компаниях, где много типовых и сильно доработанных баз с режимом работы 24/7, переход с MS SQL на PostgreSQL затягивается. Получается гетерогенная структура – когда прод уже на PostgreSQL, а разработка и тестирование – пока на MS SQL. О том, какие варианты помогут постепенно перевести прод с несколькими базами MS SQL на PostgreSQL, не сломав среду тестирования и разработки, пойдет речь в статье.

21.11.2024    3557    a.doroshkevich    8    

15

HighLoad оптимизация Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)

Мы исследуем проблему долгого выполнения запросов PostgreSQL при использовании конструкции VALUES: когда она возникает, как на нее можно повлиять, а главное, почему ее продуманная отработка важна для более быстрого функционирования решений на базе 1С

12.11.2024    1363    Tantor    20    

17

HighLoad оптимизация Администрирование СУБД Механизмы платформы 1С Программист Платформа 1С v8.3 ИТ-компания Россия Бесплатно (free)

В данной статье мы рассмотрим, как работает механизм временных таблиц на postgres на платформе 8.3.23 и что изменилось в нем при добавлении новых возможностей в платформе 8.3.25. А также на примере покажу, как понимание работы платформы позволяет оптимизировать СУБД для работы с 1С.

29.10.2024    4458    Tantor    38    

37

Облачные сервисы, хостинг Linux Сервера Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Одна из завершающих публикаций цикла "В облако на работу:.. Рецепты от Капитана", в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая, прочая... На закуску разбираемся с отказоустойчивостью. В этой публикации для серверов 1С заодно попробуем подобно сериалу «Разрушители легенд» подтвердить или опровергнуть пару устойчивых мифов о требованиях назначения функциональности.

18.10.2024    2221    capitan    5    

13
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1326 02.02.21 10:00 Сейчас в теме
"В Yandex DataLens подключение к PostgreSQL" - и с MySQL не работает, на сколько понимаю,+ они его кешируют в свой промежуточный ClickHouse. Гружу данные через PostgREST, чтобы не заморачиваться с ADO.

Почему не используете PG для 1С? Где расположен сервер 1С, как развернут, как лицензируется?
Как организован бекап баз, какие планы восстановления при сбое доступны?
3. dsdred 3755 02.02.21 10:18 Сейчас в теме
(1) PG используемпока не для 1с. Пока для срезов, в планах еще ClickHouse.
Я не буду говорить какую конфигурацию используем, но она не типовая и когда я ее прогнал через АПК мне выпало 150К ошибок и предупреждений. Поэтому пока решили с PG не экспериментировать. В планах на будущее будем тестить PG и если все ок перепрыгнем.

Бекапы организованы средствами Managed Service for SQL Server, все хранится в облаке.

Сейчас только начало проекта, поэтому особо рассказывать нечего ))


В Yandex DataLens подключение к PostgreSQL

По-моему работает. Покрайней мере к PostgreSQL и ClickHouse конект создается.
Прикрепленные файлы:
2. artbear 1565 02.02.21 10:08 Сейчас в теме
(0) Хорошая статья.

Мое впечатление от статьи - достаточно грустно с переездом со своих сиквел-серверов в Яндекс-облако (
фактически, своими силами мало что можно сделать.

Расскажи о результатах переезда, стало лучше/хуже, чем ожидалось, какие фишки появились и т.п.
4. dsdred 3755 02.02.21 10:29 Сейчас в теме
(2)У нас новый проект, стартовал в декабре поэтому я не могу оценить стало лучше или хуже.
Вся инфраструктура у нас на Яндексе в облаках поэтому скорость работы хорошая.
У нас договоренность использовать по максимуму сервисы Яндекса чтобы инфраструктуру проще содержать.

Через 1-3 года смогу дать какую-то оценку. Ну и плюсом обещаю по ходу какие-то вещи публиковать))
5. malikov_pro 1326 02.02.21 12:58 Сейчас в теме
(3) У меня PG так же для DataLens на VM в рамках Я-облака (чтобы тарификация была внутренняя). Думаю о переходе на сервис, потому что в типовой настройке проблемы с сессиями (склоняюсь к нагрузке со стороны DataLens.

"По-моему работает. Покрайней мере к PostgreSQL и ClickHouse конект создается." - пытался указать на архитектуру заточенную под ClickHouse c мастер таблицей и "справочниками" в SQL.
Оставьте свое сообщение