Определить отношения между несколькими базами данных в SQL - PullRequest
1 голос
/ 09 июля 2019

Я работаю над переносом приложения с одного сервера на другой. Согласно строке подключения этого приложения, оно касается разных баз данных. Значение запроса представления в DB1 коснется таблицы в DB2. Поэтому при переносе этого приложения я постоянно вижу цепочку ошибок «База данных недоступна», и каждый раз, когда я вижу такую ​​ошибку, мне приходится мигрировать эту конкретную базу данных.

Мне интересно, так как у нас есть диаграммы ER, чтобы узнать об отношениях между таблицами в базе данных, есть ли способ на сервере SQL, чтобы узнать отношения / связи между различными базами данных на сервере? Есть ли инструмент, который делает это?

1 Ответ

1 голос
/ 10 июля 2019

В зависимости от количества баз данных, которые у вас есть, можно как-то быстро это выяснить (количество обязательных поисков = количество доступных баз данных на сервере):

  1. Использовать 'SQLИщите приложение Red-get (https://www.red -gate.com / dynamic / products / sql-development / sql-search / download ) и ищите другие имена баз данных одно за другим, выбирая вашу базу данныхпредставляет интерес.Выберите все объекты.
  2. Если у вас есть дизайн, ориентированный на метаданные (хранимая процедура, циклически перебирающая имена различных других хранимых процедур / функций из разных баз данных, которые хранятся в таблице как метаданные, и выполняется с помощью оболочки Stored Procesure), тогда вы будете использовать программное обеспечение SQL Locator (http://www.sqllocator.com/Downloads.html) для поиска имен баз данных в значениях таблицы SQL.

Оба вышеуказанных программного обеспечения бесплатны.

  • Для использования этого приложения вам необходимо установить SSMS (SQL Server Management Studio). После установки «Поиск SQL» будет напрямую доступен в вашей SSMS в качестве дополнения.

  • Локатор SQL можно напрямую использовать, указав имя SQL Server и свои учетные данные SQL Server.

Примечание: -описанные выше шаги помогут вам найти ссылочные базы данных из определенной базы данных в пределах того же SQL Server. Если вам нужно найти базы данных из Linked Server(Я не думаю, что ваш вопрос в любом случае задает этот вопрос), тогда вам придется использовать те же инструменты, что и выше, чтобы найти ссылку на внешний сервер путем поиска по имени внешнего сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...