Visual Studio2017 数据库架构比较
一、前言
开发的时候在测试服务器上和线网服务器上面都有我们的数据库,当我们在线网上面修改或者新增一些字段后,线网的数据库也需要更新,这个时候根据表的修改记录,然后在线网上面一个一个增加修改很浪费效率而且容易出错,那有没有更好的方法解决这个问题呢?有!那就是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; 执行批处理时出错。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
利用Zipkin追踪Mysql数据库调用链
概述 在前面:微服务调用链追踪中心搭建 一文中我们利用Zipkin搭建了一个微服务调用链的追踪中心,并且模拟了微服务调用的实验场景。利用Zipkin的库Brave,我们可以收集一个客户端请求从发出到被响应 经历了哪些组件、哪些微服务、请求总时长、每个组件所花时长 等信息。 本文将讲述如何利用Zipkin对Mysql数据库的调用进行追踪,这里同样借助OpenZipkin库Brave来完成。 扩展ZipkinTool组件 ZipkinTool是在《微服务调用链追踪中心搭建》一文中编写的与Zipkin通信的工具组件,利用其追踪微服务调用链的,现在我们想追踪Mysql数据库调用链的话,可以扩展一下其功能。 pom.xml添加依赖: <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>brave-mysql</artifactId> <version>4.0.6</version> </dependency> 在ZipkinConfi...
- 下一篇
日访问量百亿级的应用如何做缓存架构设计
数据挑战 Feed平台系统架构 总共分为五层,最上层是端层,比如web端,客户端,大家用的ios或安卓的一些客户端,还有一些开放平台,第三方接入的一些接口。下面是平台接入层,不同的池子,主要是为了把好的资源集中调配给重要的核心接口,这样突发流量的时候,有更好的弹性来服务,提高服务稳定性。再下面是平台服务层,主要是Feed算法,关系等等。接下来是中间层,通过各种中间介质提供一些服务。最下面一层就是存储层,平台架构大概是这样。 1. Feed timeline 大家日常刷微博的时候,比如在主站或客户端点一下刷新,最新获得了十到十五条微博,它这个是怎么构建出来的呢?刷新之后,首先会获得用户的关注关系,比如她有一千个关注,会把这一千个ID拿到,根据这一千个UID,拿到每个用户发表的一些微博,同时会获取这个用户的Inbox,就是她收到的特殊的一些消
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果