添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

旅游销售代表 或其他领域的工作者- 送货司机, 来访护士等都会使用应用程序。程序被设计来从远处收集数据然后把数据发送到数据中心。同样,数据中心的数据也会偶尔需要发回
到远处,使这些数据保持最新。

例如,无论护士什么时候去探望病人,她们都可以将探望信息输入到移动终端的数据库中。到这一天即将结束的时候,所有这些在当天产生的数据都会被发送到医院的数据中心。
然后,护士们可以使用移动设备与医院的数据中心做数据同步,所以他们可以获取到她们的病人的信息,包括第二天她们需要去探望的病人的信息。

就好像上面这样的场景,会有不断的从移动设备同步数据到数据中心的需求

1. 使用SQL Server复制。这会通过在两个不同的数据库中,从一个数据库到另一个数据库复制和分发数据库记录以同步数据

使用SQL Server复制的时候会有一些限制,下面这些限制是不能使用的

  • 只有标准版或企业版SQL Server 可以作为发布者,所以如果你正在使用免费的 SQL Express,你需要升级SQL Server
  • SQL 2005 作为发布者和SQL 2008作为订阅者这样的配置是不支持web 复制
  • 分发数据库版本一定要大于发布数据库的版本或等于发布数据库的版本
  • 在事务复制里订阅数据库的版本必须不能比发布数据库超出2个版本,例如,SQL Server2000 作为发布数据库不能使用SQL Server2012作为订阅数据库
  • 在合并复制里订阅数据库的版本必须等于或小于发布数据库的版本,例如 SQL Server2012作为订阅数据库不能使用SQL Server2008作为发布数据库
  • 2. 使用同步框架,同步框架的API允许你构建应用程序并且在数据库间同步数据。它提供了很多灵活性,不过同步框架需要开发,这会增加开发成本和实现的时间
    3. 使用 ApexSQL Data Diff , a 一个SQL Server数据比较和同步工具 , 工具能检测数据差异并平滑解决这些差异数据。它能比较和同步在线数据和本地的或本地已压缩数据库备份的数据 并对于检测到的差异能够生成清晰的报表,产生一个同步文件并执行这个文件。

    想象一下你有一个中央数据库在医院的数据中心,还有探望数据库在护士们的移动设备里。医院添加探望记录到探望表,护士在每天早上利用他们的移动设备获取最新记录,
    并找出她们当天的安排。在一天工作里面,护士会对移动设备插入一些记录,这些记录会存储在VisitReports 表

  • 启动 ApexSQL Data Diff
  • 对于源,选择数据库作为类型,你的数据中心作为服务器,你的中央数据库作为数据库
  • 对于目标,选择数据库作为类型,一个远程设备作为服务器(护士们的移动设备),最后数据库会被同步

    点击比较按钮

    在数据库里的所有表将会被比较并展示在主窗格里

    在医院里的Visits 表被插入的记录会被显示在 Missing tab窗口

    检查你想进行同步的表

    点击在Home tab窗口里的同步按钮

  • 在同步向导里的同步方向步骤点击“下一步”
  • 在同步向导里的输出选项,选择同步一个数据库作为输出选项

  • 点击“下一步”
  • 最后检查将要执行的所有动作的概括和显示的警告内容

  • 点击 Home tab窗口中的“同步按钮”
  • 在通知对话框中点击“OK”

    当目标数据库同步完成,将会显示下面的消息

  • 在项目的Home tab 窗口点击“保存”按钮,保存对于这个项目的同步设置,以便下次执行同步的时候更方便和更快
  • 如果在晚上,你需要同步护士在白天在她们数据库中添加的记录,到中央数据库,步骤也是类似的

    将移动设备上的数据库设置为源,中央数据库设置为目标

  • 点击“比较”
  • 在表里面选择在白天的时候被添加的记录,这些记录会被显示在 Missing tab窗口

  • 在菜单里点击“同步”按钮
  • 直接进入同步向导并添加缺失的记录到中央数据库
  • 在项目的 Home tab 窗口点击“保存”,在项目里保存同步配置以便下次更快更容易地执行同步
  • 现在你已经保存了项目,你可以自动同步下面过程

    保存下面的命令到 E:\Test\Morning.bat batch文件 ,这个批处理文件会执行已创建的 Morning_Central_Nurse.axdd 项目:

    "C:\Program files 
    (x86)\ApexSQL\ApexSQLDataDiff2014\ApexSQLDataDiff.com" /
    pf:D: \Test\Morning_Central_Nurse.axdd /
    of:D: \Test\MorningSync.sql / sync / bu:D: \Test / v / f
    

    这会在D:\Test 目录下创建MorningSync.sql 文件并添加从中央数据库到护士数据库的数据,在D:\Test目录下创建一个护士数据库完整备份,并将缺失记录插入到护士数据库

  • 启动SQL Server Management Studio
  • 在对象资源管理器里展开SQL Server 代理,右键点击 Jobs 并选择 New job

    指定job的名字

  • 在Steps 的窗口里,点击 “新建”去创建一个新的step
  • 对step指定一个”Operating system (CmdExec)” 类型,添加一个step名字,再点击 open
  • 选择已经保存了的批处理文件 D:\Test\MorningSync.bat

  • 点击“OK”按钮
  • 打开Schedules tab窗口,然后指定数据库同步作业的运行时间

    重复步骤3到步骤9 去计划一个SQL Server 作业对于夜晚的同步

    使用 ApexSQL Data Diff, 在数据中心里的一个数据库去比较和同步远程位置的SQL Server 数据库,这样的工作能够轻松完成不管远程和中央数据库位置的SQL Servers 版本是多少。
    不需要编程知识并在你完全掌控之下,一直到行级别

    翻译者: 林勇桦

    No related posts.

    July 2, 2015

    How to Import and Export SQL Server data to an Excel file

    How to quickly search for SQL database data and objects in SSMS

    How to export SQL Server data to a CSV file

    Why, when and how to rebuild and reorganize SQL Server indexes

    How to format SQL code in SQL Server Management Studio

    SQL Server Management Studio (SSMS) – how to save results with headers

    How to create and optimize SQL Server indexes for better performance

    Reverting your SQL Server database back to a specific point in time

    How to get SQL Server Agent job history

    Retrieve unsaved SQL query scripts due to SQL Server Management Studio crash

    How to search for column names in SQL Server

    How to script SQL Server logins and permissions

    How to delete old database backup files automatically in SQL Server

    Techniques to identify blocking queries and causes of SQL Server blocks

    How to schedule a SQL Server backup

    How to get a list of available SQL Server instances on your local network

    How to restore a SQL Server database backup to an older version of SQL Server

    How to get a backup SQL database history

    SQL Server database object search

    4 techniques for recovering lost tables due to DROP Table operation