如何将一台服务器上的数据库同步到另一台服务器上?我需要通过C#而不是脚本来实现。我打算使用ADO.NET从一个数据库中检索模式和数据集,但是如何在代码中同步它呢?
由于
答案 0 :(得分:2)
您可以使用各种选项:
如果需要复制到System2的System1发生更改(表,索引,视图,过程,函数,触发器......等等),最简单的选项是#4
有关镜像信息,请参阅Database Mirroring in SQL Server 2005 @ SQL Server Performance或Database Mirroring in SQL Server 2005 @ Microsoft。
如果您需要更多关于#4的启发,请回复。哦,这将有助于指定您正在使用的SQL服务器版本。该信息假设> = 2005(Yukon,Katmai和可能的Killimanjaro)
更新:我不想尝试在此实现自己的运行时,因为有太多的变化,只需在2台服务器之间进行复制就需要能够对对象进行差异化。即使使用SMO .NET对象,这也是一项繁琐的任务,需要很长的开发时间表。
更新1:海报对SSIS版本感兴趣,因此我们将使用这些说明。
Microsoft网站的C#代码示例
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();
}
}
}
资源
答案 1 :(得分:0)
为什么在有db工具为你做这个的时候你会构建它? 查看SSIS,或者之前已知的DTS。