繁体   English   中英

两个不同的sql服务器之间的数据比较

[英]data compare between two different sql servers

我目前正在将数据从SQL 2008 R2迁移到SQL 2014服务器,并想检查目标服务器中的所有数据值是否与源服务器迁移后的数据相同。 但是,两个服务器位于不同的网段上。 我可以通过什么方法比较两个不同的sql服务器之间的数据?

您可以为每个表分别编写一个哈希函数。 然后只需比较值即可。

此功能针对MSSQL的简单实现示例:

SELECT
AVG(CAST(CAST(
            HASHBYTES('MD5', CONCAT(columnn1, column2, column3))
    AS BIGINT) AS FLOAT)) 
FROM simpleTable;

与MySql相同:

SELECT 
AVG(CONV(SUBSTR(MD5(CONCAT(column1, column2, column3)),
             1, 16),
      16, 10))
FROM simpleTable;

这取决于您需要在两个数据库之间进行比较,但是创建链接服务器以获取所需内容应该没有问题...只要确保在使用完链接服务器后就删除它,因为它确实构成了安全问题。 http://learnsqlwithbru.com/2012/01/06/create-linked-server-to-connect-to-another-sql-server-part-i/

您也可以使用Service Broker,它更安全,但也涉及更多。 https://serverfault.com/questions/98084/can-i-setup-a-link-sql-server-connection-between-servers-on-different-networks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM