一、前言

开发的时候在测试服务器上和线网服务器上面都有我们的数据库,当我们在线网上面修改或者新增一些字段后,线网的数据库也需要更新,这个时候根据表的修改记录,然后在线网上面一个一个增加修改很浪费效率而且容易出错,那有没有更好的方法解决这个问题呢?有!那就是VS自带的架构比较功能。

个人觉得在初期一个开发除了掌握必要的开发知识外,对开发工具的使用和了解程度同样是至关重要的。就想对API了解程度一样,熟练的使用让你开发起来得心趁手。

二、关于

Visual Studio 2005版本开始,VS就开始支持“比较和同步数据库架构”,微软如此早就实现这个功能说明这是一个我们会经常用到一个功能。这个功能我们自己也可以实现(在SQL Server中实现视图、存储过程及表结构的比较),也可以将其打包成一个工具(自己开发MSSQL架构和数据对比小工具)。对于新手来说稍微麻烦一些,这里就不做多说,感兴趣的可以看看。

三、开始演练

本次演练使用VS2017自带的SQL Server工具比较两个数据库的架构并同步目标的架构和源的架构。

1.准备两个要比较的数据库

我这里有两个数据库,一个是本地的,一个是测试服务器的。本次演练我将连接这两个数据库。

2.连接源数据库和目标数据库

所谓的源数据库和目标数据库也就是字面的意思(源>目标)将源数据中新增修改的同步到目标数据库中。

首先我们打开VS>工具>SQL Server>新建架构比较。

选择源

我们选择数据库,点击选择连接

连接源服务器并验证,别忘记了选择数据库

选择目标 操作和选择源一样

连接目标服务器并验证,别忘记了选择数据库

3.比较源数据库和目标数据库

源数据库和目标数据库都选择完成后,点击左上角“比较”开始比较两个数据库

下面就是源数据库和目标数据库的差异

4.更新目标数据库

比较完成后选择左上角的更新,就会更新我们选择要更新的字段数据(图中红标圈住的字段)

数据的同步其实就是差异生成对应的脚本,然后在目标数据库执行。选择查看结果就可以看到部署脚本

看到提示我们知道更新完毕了。然后我们再执行“比较”看一下差异。

这个时候我们会发现刚才同步的已经同步完成了,如果想全部同步,全部勾选就是啦,架构比较就是这么简单,本次演练就到这里。

四、常见的问题

1.为什么我的界面和你的不一样
答:我这vs2017带的工具,相比较其他版本可能会存在些差异,但是大体操作是一样的。

2.为什么有些我会更新失败
答:这个问题我也遇到过,这是因为可能因为这个操作会导致目标数据丢失,或者是因为权限不足等原因。这个我是手动操作的,你们要是知道好的解决办法可以留言给我哦。

(48,1): SQL72014: .Net SqlClient Data Provider: 消息 50000,级别 16,状态 127,第 6 行 检测到行。由于可能丢失数据,正在终止架构更新。
(43,0): SQL72045: 脚本执行错误。执行的脚本:
IF EXISTS (SELECT TOP 1 1
FROM [dbo].[CR_ClassRingNewsFeed])
RAISERROR (N'检测到行。由于可能丢失数据,正在终止架构更新。', 16, 127)
WITH NOWAIT; 执行批处理时出错。

参考:演练:比较两个数据库的架构

 

搜索

复制

Visual Studio2017 数据库架构比较的更多相关文章

  1. Visual Studio2017数据库架构比较

    一.前言 开发的时候在测试服务器上和线网服务器上面都有我们的数据库,当我们在线网上面修改或者新增一些字段后,线网的数据库也需要更新,这个时候根据表的修改记录,然后在线网上面一个一个增加修改很浪费效率而 ...

  2. Visual Studio2017数据库数据比较

    一.前言 上一篇文章我们介绍了如何使用VS2017对SSMS数据库进行架构比较.这一篇文章我们将继续介绍如何对SSMS数据库的数据进行比较.数据的比较也是很常见的,比如我们要比较当前版本的数据库相对上 ...

  3. Visual Studio 数据库架构比较

      一.前言 开发的时候在测试服务器上和线网服务器上面都有我们的数据库,当我们在线网上面修改或者新增一些字段后,线网的数据库也需要更新,这个时候根据表的修改记录,然后在线网上面一个一个增加修改很浪费效 ...

  4. Visual Studio2017中如何让Entity Framework工具【ADO.NET实体数据模型】支持MYSQL数据源

    熟悉Entity Framework应该对以下图片不陌生,他就是ADO.NET实体数据模型向导:可以将数据库的表自动生成模型类,或者创建Code First的模型文件. 但是这个模型向导默认只显示微软 ...

  5. asp.net core系列 30 EF管理数据库架构--必备知识 迁移

    一.管理数据库架构概述 EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步.一是以 EF Core 模型为基准,二是以数据库为基准. (1)如果希望以 EF Core 模型为 ...

  6. asp.net core系列 31 EF管理数据库架构--必备知识 反向工程

    一.   反向工程 反向工程是基于数据库架构,生成的实体类和DbContext类代码的过程,对于Visual Studio开发,建议使用PMC.对于其他开发环境,请选择.NET Core CLI工具( ...

  7. VS2012中数据库架构的比较

    在进行项目进行开发或维护时,经常会改动使用的数据库,或增加.修改字段,或加表,改存储过程等,而且会出现多个类似的数据库同时在用(比如过个类似的项目,要使用稍有不同的数据库),这个时候就可能需要进行数据 ...

  8. SQL 修改数据库架构名

    SQl 修改数据库架构名 declare @name sysname declare csr1 cursor for select TABLE_NAME from INFORMATION_SCHEMA ...

  9. 转载Code First Migrations更新数据库架构的具体步骤

    [转载] Code First Migrations更新数据库结构的具体步骤 我对 CodeFirst 的理解,与之对应的有 ModelFirst与  DatabaseFirst ,三者各有千秋,依项 ...

随机推荐

  1. matlab练习程序(FAST特征点检测)

    算法思想:如果一个像素与它邻域的像素差别较大(过亮或过暗) , 那它更可能是角点. 算法步骤: 1.上图所示,一个以像素p为中心,半径为3的圆上,有16个像素点(p1.p2.....p16). 2.定 ...

  2. Scrapy爬虫入门

    1.安装Scrapy 打开Anaconda Prompt,执行:pip install Scrapy执行安装! 注意:要是安装过程中抛出: error: Microsoft Visual C++ 14 ...

  3. [20180608]Wrong Results with IOT, Added Column and Secondary Index.txt

    [20180608]Wrong Results with IOT, Added Column and Secondary Index.txt --//链接:http://db-oriented.com ...

  4. CTR预估中GBDT与LR融合方案

    1. 背景 CTR预估(Click-Through Rate Prediction)是互联网计算广告中的关键环节,预估准确性直接影响公司广告收入.CTR预估中用的最多的模型是LR(Logistic R ...

  5. 禁用selinux

    查看selinux状态: [root@VM000000518 upload]# getenforce Enforcing 禁用: [root@VM000000518 upload]# setenfor ...

  6. iOS-单选cell的实现

    一.思路 先设置一个chooseCelltag标记(类型为NSIndexPath),然后在点击cell触发的时候,如果tag设置有值,就设置 UITableViewCell *selectedCell ...

  7. Session共享的四种方法

    1. 基于NFS的Session共享 NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发. 这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录 ...

  8. 一次ASM磁盘空间假装耗尽 ORA-15041: DISKGROUP SPACE EXHAUSTED

    给ASM磁盘新增一块盘进去,ASM_DISK2剩余空间四百多G: SQL> select * from v$asm_diskgroup;   GROUP_NUMBER NAME         ...

  9. 第一行代码 -3-2 软件也要拼脸蛋-UI界面-更强大的滚动条-RecyclerView

    简述教程:https://www.jianshu.com/p/4fc6164e4709 一 基础准备 1 添加RecyclerView控件引用库文件 2 总布局添加RecyclerView控件 3 R ...

  10. CVE-2016-7912 分析报告

    CVE-2016-7912 背景介绍 在内核USB驱动中,进行异步读取或写入时,调用ki_complete(),会提前释放kiocb结构体,从而造成UAF漏洞,但经过分析,发现无法利用此漏洞进行攻击. ...