Получение информации о схеме для базы данных не выполнено, исключение составляет 500: проблема в максимальных таблицах azure data syn c - PullRequest
0 голосов
/ 27 января 2020

Ошибка: не удалось получить информацию о схеме для базы данных, исключение не удалось обработать схемой с 2434 500

Синхронизация базы данных c Групповая ошибка на Azure синхронизации локального автономного сервера.

Какой лучший способ синхронизировать c автономную базу данных, даже если это не так

Ответы [ 2 ]

0 голосов
/ 28 января 2020

Пожалуйста, укажите Синхронизацию данных c Ограничения на размеры обслуживания и базы данных :

enter image description here

Я согласен с @Alberto Morillo, ваше исключение должно быть «Невозможно обработать схему с 2434 таблицами, 500 - максимум ...».

Вот официальный Azure блог, рассказывающий о том, как Syn c SQL данные в большом масштабе, используя Azure SQL Синхронизация данных c. Это решение для исключения:

Syn c данные между базами данных со многими таблицами

В настоящее время данные syn c могут синхронизироваться только c между базами данных менее 500 таблиц. Вы можете обойти это ограничение, создав несколько групп syn c с использованием разных пользователей базы данных. Например, вы хотите синхронизировать c две базы данных с 900 таблицами. Во-первых, вам нужно определить двух разных пользователей в базе данных, из которой вы загружаете схему syn c. Каждый пользователь может видеть только 450 (или любое число менее 500) таблиц в базе данных. Для установки Syn c требуется разрешение ALTER DATABASE, которое подразумевает разрешение CONTROL для всех таблиц, поэтому вам нужно явно ОТКЛОНИТЬ разрешения для таблиц, которые вы не хотите, чтобы конкретный пользователь c видел, вместо использования GRANT. Точную привилегию, необходимую для инициализации syn c, можно найти в руководстве по передовым практикам . Затем вы можете создать две группы syn c, по одной для каждого пользователя. Каждая группа syn c будет синхронизировать таблицы c 450 между этими двумя базами данных. Поскольку каждый пользователь может видеть только менее 500 таблиц, вы сможете загрузить схему и создать группы syn c! После того, как группа syn c создана и инициализирована, мы рекомендуем вам следовать рекомендациям 1023 *, чтобы обновить разрешение пользователя и убедиться, что у него есть минимальные привилегии для текущего syn c.

enter image description here

Надеюсь, это поможет.

0 голосов
/ 28 января 2020

Полное сообщение об ошибке, которое вы получаете, может выглядеть как «Получение информации о схеме для базы данных не удалось, за исключением». Невозможно обработать схему с 2434 таблицами, 500 - это макс. Для получения дополнительной информации предоставьте службу поддержки с идентификатором '8d609598-3dsf-45ae-93v7-04ab21e45f6f'. "

В настоящее время действует ограничение на SQL Синхронизация данных c, если база данных имеет более 500 таблиц, вам не удастся выбрать схему таблиц, даже если вы хотите выбрать и синхронизировать c только 1 таблицу.

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

  1. Сценарий таблиц, которые вы хотите синхронизировать c ( менее 500 таблиц на группу синхронизации)
  2. Создайте новую временную базу данных и запустите сценарий для создания таблиц, которые вы хотите синхронизировать c
  3. Зарегистрируйтесь и добавьте новую временную базу данных в качестве члена из syn c group
  4. Используйте новую временную базу данных, чтобы выбрать таблицы, которые вы хотите синхронизировать c
  5. Добавьте все другие базы данных, с которыми вы хотите синхронизировать c ((вкл.) -pr emise database и hub database)
  6. По завершении подготовки удалите временную базу данных из группы syn c.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...