Как я могу скопировать записи данных между двумя экземплярами базы данных SQLServer

Мне нужно скопировать некоторые записи с нашего тестового сервера SQLServer 2005 на наш работающий сервер. Это плоская таблица поиска, поэтому не нужно беспокоиться о внешних ключах или другой ссылочной целостности.

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

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

4 ответа

Решение

Если ваш производственный SQL-сервер и тестовый SQL-сервер могут общаться, вы можете просто выполнить оператор вставки SQL.

сначала запустите следующее на вашем тестовом сервере:

Execute sp_addlinkedserver PRODUCTION_SERVER_NAME

Затем просто создайте оператор вставки:

INSERT INTO [PRODUCTION_SERVER_NAME].DATABASE_NAME.dbo.TABLE_NAME   (Names_of_Columns_to_be_inserted)
SELECT Names_of_Columns_to_be_inserted
FROM TABLE_NAME

Я использую SQL Server Management Studio и выполняю задачу экспорта, щелкая правой кнопкой мыши базу данных и выбирая "Задача"> "Экспорт". Я думаю, что это работает на серверах, а также базы данных, но я не уверен.

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

Я бы просто скрипт для SQL и запустить на другом сервере для быстрой и грязной передачи. Если это то, что вы будете делать часто, и вам нужно настроить механизм, службы интеграции SQL Server (SSIS), которые похожи на более ранние службы преобразования данных (DTS), предназначены для такого рода вещей. Вы разрабатываете решение в среде мини-Visual Studio и можете создавать очень сложные решения для перемещения и преобразования данных.

Другие вопросы по тегам