Как я могу скопировать записи данных между двумя экземплярами базы данных 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 и можете создавать очень сложные решения для перемещения и преобразования данных.