Доступны различные варианты:
- SSIS для экспорта / импорта данных между System1 и System2
- Зеркальное отображение для копирования данных между System1 и System2
- Репликация для синхронизации System2 с System1
- Скрипты для резервного копирования / восстановления базы данных между серверами, использующими C #, чтобы быть связующим звеном ввода-вывода, который создает сценарий резервного копирования в System1, копирует файл в System2 и вызывает сценарий восстановления в System2
Самый простой вариант для реализации - это # 4, особенно если происходят изменения в System1, которые необходимо реплицировать в System2 (таблицы, индексы, представления, процедуры, функции, триггеры и т. Д. И т. Д.)
См. Зеркальное отображение базы данных в SQL Server 2005 @ Производительность SQL Server или Зеркальное отображение базы данных в SQL Server 2005 @ Microsoft для зеркального отображения информации.
Если вам нужно больше просветления на # 4, просто ответьте. О, это поможет определить, какую версию SQL-сервера вы используете. Эта информация предполагает> = 2005 (Юкон, Катмай и, возможно, Киллиманджаро)
Обновление: я не буду пытаться реализовать свою собственную среду выполнения на этом, поскольку существует так много вариантов, что просто копирование между двумя серверами требует способности проводить сравнения с объектами. Даже с использованием объектов SMO .NET это будет трудной задачей, которая потребует длительного графика разработки.
Обновление 1: постер интересуется версией SSIS, поэтому мы будем использовать эти инструкции.
- Запустить SQL Server Management Studio
- Перейти к выбранной базе данных
- Щелкните правой кнопкой мыши и Задачи-> Экспорт данных
- Нажмите Далее
- Выберите необходимый источник
- Нажмите Далее
- Выберите настройки назначения
- Нажмите Далее
- Выберите либо использовать таблицы, либо написать запрос (мы будем предполагать использование таблиц)
- Нажмите Далее
- Выберите необходимые таблицы
- Нажмите Изменить сопоставления
- Убедитесь, что выбрана опция включения идентификационной вставки
- Убедитесь, что для удаления / добавления строк выбрано необходимое количество
- Обеспечить удаление и повторное создание таблицы назначения, выбранной как требуется
- Нажмите Ok
- Нажмите Далее
- Теперь сохраните это в пакет служб SSIS либо в SQL Server, либо в файловой системе.
- Теперь вы можете использовать DTSExec для выполнения этого пакета через планировщик или использовать оболочку .NET и вызывать из собственной среды выполнения C #
Пример кода C # с сайта Microsoft
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace RunFromClientAppCS
{
class Program
{
static void Main(string[] args)
{
string pkgLocation;
Package pkg;
Application app;
DTSExecResult pkgResults;
pkgLocation =
@"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" +
@"\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
app = new Application();
pkg = app.LoadPackage(pkgLocation, null);
pkgResults = pkg.Execute();
Console.WriteLine(pkgResults.ToString());
Console.ReadKey();
}
}
}
Ресурсы