一、前言

开发的时候在测试服务器上和线网服务器上面都有我们的数据库,当我们在线网上面修改或者新增一些字段后,线网的数据库也需要更新,这个时候根据表的修改记录,然后在线网上面一个一个增加修改很浪费效率而且容易出错,那有没有更好的方法解决这个问题呢?有!那就是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. windows 实用技巧

    以下内容版权归原作者所有!!!如果侵权,立即删除. 1.系统激活:https://mp.weixin.qq.com/s/Kl_iEeSSxSprblfSRZ6yEQ 2.百度云下载:https://w ...

  2. Hive-1.2.1_03_DDL操作

    Hive官方文档:Home-UserDocumentation Hive DDL官方文档:LanguageManual DDL 参考文章:Hive 用户指南 注意:各个语句的版本时间,有的是在 hiv ...

  3. Windows Server 2012 RS 配置IIS8.0+发布网站

    一.配置iis 8.0 IIS 8.0 是 windows server 2012 自带的服务器管理系统.相比之前版本,IIS 8.0 安装和操作都更加简单,界面也很简洁,安装也很迅速. 1. 进入w ...

  4. January 17th, 2018 Week 03rd Wednesday

    Don't let go too soon, but don't hold on too long. 不要太快放手,也别紧握太久. It is inevitalbe to encounter with ...

  5. 【17】有关python面向对象编程的提高【多继承、多态、类属性、动态添加与限制添加属性与方法、@property】

    一.多继承 案例1:小孩继承自爸爸,妈妈.在程序入口模块再创建实例调用执行 #father模块 class Father(object): def __init__(self,money): self ...

  6. 添加Nginx为系统服务(设置开机启动)

    在本节中,我们将创建一个脚本,将Nginx守护进程转换为实际的系统服务. 这有两个作用:守护程序可以使用标准命令控制,更重要的是,它可以在系统启动时自动启动,并在系统关闭时停止. System V s ...

  7. vue_模板渲染

    渲染 当获取到后端数据后,我们会把它按照一定的规则加载到写好的模板中,输出成在浏览器中显示的HTML,这个过程就称之为渲染. vue.js是在前端(即浏览器内)进行的模板渲染. 前后端渲染对比 前端渲 ...

  8. Django 通过 session 保存个人信息

    通过 session 保存 个人 信息 登录的视图函数中: def login(request): ''' 登录 ''' err, user, pwd = '', '', '' if request. ...

  9. nginx防攻击的简单配置

    主要通过两方案来做防护,一是nginx自带模块限制请求连接数和并发数:二是筛选IP加入黑名单: 1.并发数和连接数控制的配置    nginx http配置:    #请求数量控制,每秒20个    ...

  10. 使用idea搭建SSM框架

    搭建个SSM框架居然花费了我好长时间!特此记录! 需要准备的环境: idea 2017.1 jdk1.8 Maven 3.3.9  请提前将idea与Maven.jdk配置好,本次项目用的都是比较新的 ...