使用容器和数据库克隆进行数据库迁移

SQL Server迁移在DBA的生命周期中是一个常量,SQL Server 2008的支持终结正在推动大量的迁移规划。数据库迁移通常涉及将备份还原到目标环境,为应用程序测试提供开发和QA环境,以及识别已弃用的功能。当处理涉及需要数小时恢复的大量数据库的大型复杂环境时,挑战变得繁重。

Docker容器与数据库克隆相结合,通过利用支持在几秒钟内交付复杂的多TB环境的不可变映像简化了迁移。本文介绍了数据库克隆如何支持将SQL Server 2008迁移到SQL Server 2017 Linux容器。

数据库克隆
Windocks是一个功能齐全的Windows容器引擎,支持所有版本的SQL Server 2008以及数据库克隆。Windocks还支持提供数据库克隆,以便与所有SQL Server环境一起使用,包括Microsoft的SQL容器(Linux和Windows)和传统的SQL Server实例。该组合允许将SQL Server 2008数据库传送到升级后的目标。

图片标题

数据库克隆以不可变图像开始,支持为各种目标环境创建克隆。数据库映像使用Dockerfiles和完整或差异备份构建,这些备份将还原到Windows虚拟硬盘驱动器(VHD)中。父VHD成为不可变的全字节副本,并支持在几秒钟内传送读/写“差异磁盘”(克隆),每个使用少于40 MB的存储空间。SQL Server克隆在支持Windows服务器的任何地方都可用,并且很受SQL Azure,AWS或内部部署的开发和测试支持的欢迎。John Hancock在DevOps Enterprise Summit 2018上谈到了他们使用SQL Server数据库克隆作为DevOps策略的一部分:

构建数据库克隆映像
构建可克隆的数据库映像以纯文本配置文件(Dockerfile)开头,该文件指定目标环境和使用的备份。以下示例构建一个映像,该映像以Linux四个SQL Server 2008完全备份中的克隆为目标。在这种情况下,备份是本地的,网络文件共享将使用通用文件路径。

图片标题

Dockerfile以SQL Server 2017映像开头,后跟一个环境变量,用于在运行时保存和运行Dockerfile。Dockerfile包括构建时间和运行时参数,包括目标IP地址,共享SMB文件夹以及用户分配的端口和sa密码。所述SETUPCLONING FULL命令标识用于构建图像的备份。通过选择Dockerfile并分配图像名称并单击“构建”按钮,可以使用Docker命令行或Web UI构建映像。

图片标题

将SQL Server 2008数据库提供给SQL 2017 Linux容器
完成图像构建后,Web UI将更新以显示新图像。提供了数据库的下拉列表,以允许用户选择使用数据库的子集。系统会提示用户为SQL Server 2017 Linux容器分配端口和sa密码。

图片标题

创建数据库克隆并配置Linux SQL Server 2017容器并装入数据库只需不到一分钟。Windocks跟踪克隆数据库的生命周期,并在不再需要时清理容器和挂载点。网页将更新并显示“数据环境”部分下的添加环境。通过SSMS使用分配的端口和sa密码访问容器。

图片标题

可以根据需要重复提供新环境的过程,以支持升级环境的测试。

DevOps与数据和数据库迁移
DevOps策略广泛用于前端和无状态应用程序,但组织仍在努力将关系后端合并到CI管道中。行业调查表明,平均数据库后端测试环境每月更新两次或更少,很少有组织今天获得足够的测试覆盖率。

现在是时候使用生产数据库克隆来实现SQL Server迁移和DevOps的现代化。克隆提供完整的读/写支持,可在几秒内完成配置而不会影响存储,并提供开发和测试完整的测试环境。虽然我们提倡将Docker容器用于开发/测试,但组织还需要为所有SQL Server环境提供数据,而Windocks通过支持Microsoft Dockers SQL Server容器以及实例和Kubernetes来解决此问题。最后,本文中概述的过程同样适用于将SQL Server 2008迁移测试到SQL Server 2016或其他目标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++获取PE文件的入口点

2009-10-07 10:17 C获取PE文件的入口点 源码&#xff1a; #include "stdafx.h" #include <iostream> #include <windows.h> using namespace std; int main(int argc, char* argv[]) { char *FileName argv[1]; HANDLE hFile CreateFile(FileName,GENE…

ai 中 统计_AI统计(第2部分)

ai 中 统计Today I plan to cover the following topics: Linear independence, special matrices, and matrix decomposition.今天&#xff0c;我计划涵盖以下主题&#xff1a;线性独立性&#xff0c;特殊矩阵和矩阵分解。 线性独立 (Linear independence) A set of vectors …

如何修改浏览器的默认滚动条样式

如何修改浏览器的默认滚动条样式 /* 浏览器滚动条样式 *//* width */ ::-webkit-scrollbar {width: 4px;height: 4px; }/* Track */ ::-webkit-scrollbar-track {background: rgb(255, 255, 255);border-radius: 8px; }/* Handle */ ::-webkit-scrollbar-thumb {background: rg…

PE

PE文件规定了可执行文件的格式&#xff0c;凡是符合此格式的文件都能在windows系统上运行。PE文件的格式暂且不谈&#xff0c;说一些感染PE文件的几种途径。 导入表感染。这个涉及比较复杂的操作&#xff0c;首先&#xff0c;要自行写一个dll文件&#xff0c;提供程序中对原dl…

python入门系列:对象引用、垃圾回收、可变性

Python中的变量是什么 引言 Python和java中的变量本质不一样&#xff0c;java的变量可以理解为一个盒子&#xff0c;用来容纳我们的对象&#xff0c;使用前要先声明它&#xff0c;好分配给我们合适的内存空间。Python的变量可以理解为一个标签&#xff0c;先构造出对象&#xf…

twitter数据分析_Twitter上最受欢迎的数据科学文章主题

twitter数据分析If you’ve written data science articles or are trying to get started, finding the most popular topics is a big help in getting your articles read. Below are the steps to easily determine what these topics are using R and the results of the …

JAVA遇见HTML——JSP篇(JSP状态管理)

案例&#xff1a;Cookie在登录中的应用 URL编码与解码的工具类解决中文乱码的问题&#xff0c;这个工具类在java.net.*包里 编码&#xff1a;URLEncoder.encode(String s,String enc)//s&#xff1a;对哪个字符串进行编码&#xff0c;enc&#xff1a;用的字符集&#xff08;例&…

PE文件讲解

我们大家都知道&#xff0c;在Windows 9x、NT、2000下&#xff0c;所有的可执行文件都是基于Microsoft设计的一种新的文件格式Portable Executable File Format&#xff08;可移植的执行体&#xff09;&#xff0c;即PE格式。有一些时候&#xff0c;我们需要对这些可执行文件进…

easyui 布局之window和panel一起使用时,拉动window宽高时panel不跟随一起变化

项目开发中布局是每一个组件都由最外层的window和内部的至少一个panel组成&#xff0c;其他的细小组件再依次放到panel中。 问题&#xff1a;当拉动外部的window时我们希望内部的panel的宽高也跟着变化&#xff0c;但是并没有&#xff0c;尤其拉动其高度是更为明显&#xff0c;…

是什么使波西米亚狂想曲成为杰作-数据科学视角

平均“命中率”是什么样的 (What an Average ‘Hit’ looks like) Before we break the song down, let us have a brief analysis of what the greatest hits of all time had in common. I have picked 1500 songs ( charting hits ) right from the ’50s to the’10s, spre…

PE文件感染和内存驻留

这次&#xff0c;作者将和大家一起讨论病毒的感染技术。另外&#xff0c;从本文开始&#xff0c;我们将陆续接触到一些病毒的高级编码技术。例如&#xff0c;内存驻留、EPO&#xff08;入口点模糊&#xff09;技术、加密技术、多态和变形等。通过这些高级技巧&#xff0c;你将进…

Python函数积累

评估函数eval() 去掉参数最外侧引号并执行余下语句的函数 fun:将让任何输入的字符串转换为python语句&#xff08;如"12132" -> 12132&#xff09;转载于:https://www.cnblogs.com/LYluck/p/10376531.html

流行编程语言_编程语言的流行度排名

流行编程语言There has never been a unanimous agreement on what the most popular programming languages are, and probably never will be. Yet we believe that there is merit in trying to come up with ways to rank the popularity of programming languages. It hel…

Attributes.Add用途与用法

Attributes.Add("javascript事件","javascript语句");如&#xff1a;this.TextBox1.Attributes.add("onblue", "window.Label1.style.backgroundColor#000000;");this.TextBox1.Attributes.Add("onblur","this.style.d…

使用UIWebView加载网页

1、使用UIWebView加载网页 运行XCode 4.3&#xff0c;新建一个Single View Application&#xff0c;命名为WebViewDemo。 2、加载WebView 在ViewController.h添加WebView成员变量和在ViewController.m添加实现 [cpp] view plaincopyprint?#import <UIKit/UIKit.h> …

Java 开源库精选(持续更新)

仅记录亲自使用和考虑使用的Apache Commons Commons IO - Commons IO 是一个帮助开发IO功能的实用程序库 Commons Configuration - Commons Configuration 提供了一个通用配置界面&#xff0c;使Java应用程序可以从各种来源读取配置数据。查看更多可重用、稳定的 Commons 组件S…

corba的兴衰_数据科学薪酬的兴衰

corba的兴衰意见 (Opinion) 目录 (Table of Contents) Introduction 介绍 Salary and Growth 薪资与增长 Summary 摘要 介绍 (Introduction) In the past five years, data science salary cumulative growth has varied between 12% in the United States, according to Glass…

hibernate的多表查询

1.交叉连接 select * from A ,B 2.内连接 可以省略inner join 隐式内连接&#xff1a; select * from A,B where A.id B.aid; 显式内连接&#xff1a; select * from A inner join B on A.id B.aid; 迫切内连接&#xff1a; 需要加上fetch关键字 内连接查询两者共有的属性…

C# 读取PE

最后分析结果会放在 一个DATASET里 ResourceDirectory这个TABLE 增加了 GUID列 为了好实现数结构 using System; using System.IO; using System.Data; using System.Collections; namespace PETEST { /// <summary> /// PeInfo 的摘要说明。 /// zgkesina.com …

10 个深恶痛绝的 Java 异常。。

异常是 Java 程序中经常遇到的问题&#xff0c;我想每一个 Java 程序员都讨厌异常&#xff0c;一 个异常就是一个 BUG&#xff0c;就要花很多时间来定位异常问题。 什么是异常及异常的分类请看这篇文章&#xff1a;一张图搞清楚 Java 异常机制。今天&#xff0c;栈长来列一下 J…