使用SQL/批处理脚本将数据库从一台服务器同步到另一台服务器

使用SQL/批处理脚本将数据库从一台服务器同步到另一台服务器,sql,sql-server,database,Sql,Sql Server,Database,我需要一个通用脚本,将一个数据库从一台服务器同步到另一台或同一台服务器 服务器:MSSQL 2014 SP1 我的第一个想法是在数据库中循环并复制每个表,如下所示: DECLARE @cnt INT = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'); DECLARE @null INT = 1; WHILE @null <= @cnt BEGIN SELECT TABL

我需要一个通用脚本,将一个数据库从一台服务器同步到另一台或同一台服务器

服务器:MSSQL 2014 SP1

我的第一个想法是在数据库中循环并复制每个表,如下所示:

DECLARE @cnt INT = (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE');
DECLARE @null INT = 1;

WHILE @null <= @cnt
BEGIN
    SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE';
    SET @null = @null +1;
END;
但使用这种方法,我将丢失一些重要数据,它将复制所有数据,而不仅仅是丢失的数据,这将在网络和服务器上造成一些沉重的负载,因为我们的DBs高达500GB


有什么想法吗?

有几种方法可以使用

方法001:SSMS复制数据库向导 来自SQLServer管理工作室;右键单击源数据库。选择任务>>复制数据库。。。。这将启动。在向导中,您可以选择复制/不复制哪些对象

方法002:SSIS 用于创建包含的包

如果要按固定的计划重复任务,可以使用SQL代理计划SSIS包


您还可以通过脚本执行包,以便进行临时更新。

这是一次性任务还是正在进行的任务?如果是后者,两个数据库是否需要同步提醒,或者周期性更新是否足够?这是周期性更新。我会在需要的时候运行脚本。这不相关!下次应用标签前,请阅读标签信息。非常感谢。它是。您可以执行批处理文件/sql脚本组合。我要的是脚本,不是SQL脚本。它也可能是一个PHP/SQL脚本。三思而后行!