Как копировать записи данных между двумя экземплярами базы данных SQLServer
Мне нужно скопировать некоторые записи с нашего тестового сервера SQLServer 2005 на наш живой сервер. Это плоская таблица поиска, поэтому никаких внешних ключей или другой ссылочной целостности не беспокоиться.
Я могу снова записать записи на реальном сервере, но это утомительно. Я могу полностью экспортировать записи тестового сервера и данные таблицы в SQL script и запустить их, но я не хочу перезаписывать записи, присутствующие в живой системе, только добавлять к ним.
Как я могу выбрать только те записи, которые я хочу, и перенести их на живой сервер? У нас нет Sharepoint, который, как я понимаю, позволит мне скопировать их непосредственно между двумя экземплярами.
Ответы
Ответ 1
Если ваш производственный SQL-сервер и тестовый SQL-сервер могут говорить, вы можете просто сделать это с помощью инструкции вставки SQL.
сначала запустите на тестовом сервере следующее:
Execute sp_addlinkedserver PRODUCTION_SERVER_NAME
Затем просто создайте инструкцию insert:
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
Ответ 2
Я использую SQL Server Management Studio и выполняю задачу экспорта, щелкнув правой кнопкой мыши базу данных и выбрав "Задача" > "Экспорт". Я думаю, что он работает как с серверами, так и с базами данных, но я не уверен.
Ответ 3
Пакет SSIS лучше всего подходит для передачи, для настройки потребуется буквально несколько секунд!
Ответ 4
Я бы просто script до sql и работал на другом сервере для быстрой и грязной передачи. Если это то, что вы часто будете делать, и вам нужно настроить механизм, службы интеграции SQL Server (SSIS), которые аналогичны старым службам преобразования данных (DTS), предназначены для такого рода вещей. Вы разрабатываете решение в среде мини-Visual Studio и можете создавать очень сложные решения для перемещения и преобразования данных.