使用第三方工具或手动编写代码进行模式比较
使用Redgate SQL Compare进行模式比较:
EXECUTE master..sqlcompare
@SourceDatabase = 'MyDatabase1',
@TargetDatabase = 'MyDatabase2',
@OutputPath = 'C:\SchemaComparisonResults.html'
使用C#编写程序进行模式比较:
using System;
using System.Data.SqlClient;
using Microsoft.SqlServer.Management.Smo;
class Program
{
static void Main(string[] args)
{
string srcConnStr = "Data Source=MyServer;Initial Catalog=MyDatabase1;Integrated Security=True;";
string tgtConnStr = "Data Source=MyServer;Initial Catalog=MyDatabase2;Integrated Security=True;";
Server srcServer = new Server(new ServerConnection(new SqlConnection(srcConnStr)));
Server tgtServer = new Server(new ServerConnection(new SqlConnection(tgtConnStr)));
Database srcDatabase = srcServer.Databases["MyDatabase1"];
Database tgtDatabase = tgtServer.Databases["MyDatabase2"];
foreach (Table srcTable in srcDatabase.Tables)
{
if (!tgtDatabase.Tables.Contains(srcTable.Name))
{
Console.WriteLine("Missing table: {0}", srcTable.Name);
}
else
上一篇:不同数据框中的列求和
下一篇:不同数据库查询不相同的数据