仅存在表的第一个数据库中的第二个数据库中的sql更新数据

时间:2015-04-16 09:31:27

标签: sql sql-server tsql powershell

我试图将一些表从实时数据库移动到另一个数据库,然后在传输数据后将其生效。第二个数据库存在于2008年的服务器上,迁移是从2012年开始的。这导致了一些问题

最初我用Scripts做了一个完整的数据库导出。因为导出工具不会转到以前的版本。 - 完全导出后,我删除了db2上多余的表。因为我只在约200个左右移动40个左右。

现在已经设置了DB结构,一切正常。与过时的数据。一旦数据更新,一切都准备好了。所以我理想地喜欢一个脚本,它检查db2中是否存在db1中的表,然后是否复制所有行。这可能吗?

2 个答案:

答案 0 :(得分:2)

如果创建链接服务器不是一个选项,那么您可以尝试使用sql server导入数据向导将数据从一个数据库传输到另一个数据库。 使用以下链接获取操作方法: Import data easily in sql server

答案 1 :(得分:1)

您需要在DB2上创建一个过程,该过程根据您正在检查的表返回结果:

USE [DB2]

CREATE PROCEDURE DBO.CHECKDB2TABLE

@TABLENAME NVARCHAR(50)

AS

IF EXISTS (
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE (TABLE_NAME = @TABLENAME)
)
    BEGIN
        SELECT 'TRUE'
    ELSE 
        SELECT 'FALSE'
    END

然后使用该过程检查DB2并根据要在表中复制的输出创建条件语句。

EXEC DB2.dbo.CheckDB2Table @TABLENAME='Tablename'

感谢。