Есть ли способ скопировать записи из таблицы на одном экземпляре SQL в идентичную таблицу на другом экземпляре SQL - PullRequest
0 голосов
/ 01 февраля 2019

У нас был стажер, которому дали письменные инструкции по удалению старых данных из базы данных на основе дат (из нашей системы ERP).Они были в восторге от результатов и просто продолжали удалять, а не останавливаться на требуемую дату.Сейчас в производственной базе данных пропущено 4 года.У меня есть эти записи в моей базе данных разработки, которая находится в другом экземпляре на другом сервере.Есть ли способ перенести только те данные за 4 года из моей базы данных разработки в мою производственную базу данных, конечно, проверяя, нет ли дубликатов (уникальный индекс по номеру транзакции).

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

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

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

Более эффективно, вы можете использовать функцию экспорта данных.Щелкните правой кнопкой мыши базу данных (не сервер / экземпляр, а база данных) и выберите «Задачи / Экспорт данных» во всплывающем меню.Откроется мастер импорта и экспорта SQL Server.Используйте свой запрос выше, чтобы выбрать данные для экспорта.

Если соображения безопасности мешают этому, создайте дубликат таблицы (ов) с альтернативными именами (например, MyInvRecords) в новой базе данных и экспортируйте данные вэти таблицы.Создайте резервную копию этой БД, перенесите ее в какое-то место, доступное с целевого сервера, восстановите эту БД, а затем перенесите строки обратно в исходную БД.

Раньше мне не приходилось использовать ничего, кроме этих методов, поэтому одиниз них должны работать для вас.

0 голосов
/ 01 февраля 2019

Базовая вставка будет работать нормально.

Insert ProdDB.schema.YourTable
([Columns])
select ([Columns])
from TestDB.schema.YourTable
where YourDateRange predicates here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...