SQL Server On Linux(3)——SQL Server 2019 For Linux 下载并部署示例数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DBA_Huangzj/article/details/82968233

  接上文SQL Server On Linux(2)——SQL Server 2019 For Linux安装过程细节研究

正所谓工欲善其事必先利其器,读者可能也跟作者一样很迫切希望了解和尝试SQL Server On Linux及SQL 2019的各种新特性,不过为了走得更远,并且少踩坑,作者还是建议先把路踏踏实实地铺好。当我们有一个可用的环境之后,不妨先把示例数据库准备好。

  很多人应该知道,使用时间最长的微软示例数据库是AdventureWorks,目前这个数据库已经更新到2017版,另外还有几个特殊的示例数据库,不过这里暂时还是使用AdventureWorks做演示。
  接下来作者打算演示的方式有以下3种,本文使用前两种(第三种以后演示),读者可以按照实际需要选择更合适自己的方式:

  1. 直接下载到Linux服务器。
  2. 下载到Windows机器然后传到Linux上。
  3. 使用SQL Server AlwaysON技术进行数据库迁移。(暂时不演示)

  首先来演示较为方便并且也是官方推荐的方式,先下载到Windows再传到Linux。说明一下,由于Linux的权限控制比Windows更严格,所以除非你用root操作,不然可能期间会出现很多权限不足的情况,需要提前授权。通常来说,我们需要对操作系统的文件系统(Windows叫盘符/文件夹)进行规划,有些内容是建议专用的。比如专用的文件(比如脚本、工具)存放目录、专用的备份文件存放目录、生产库的数据库文件存放目录,建议不要使用默认设置,而是专门创建目录来存放。相关内容放到后续章节再详解。
  一般需要授权的地方有:Linux上存放Windows传输过来的文件的目录、在Linux上实际存放备份的目录、还原/附加后数据库文件所在的目录。

Windows→Linux

  这个方式不仅适用示例数据库,几乎所有的文件传输都可以使用,毕竟作为非服务器使用时,Windows更便捷。在过去,微软的示例数据库可以从CodePlex网站上下载,但是从AdventureWorks2014开始,已经移到github中。下载地址可以访问:https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks 。因为这里演示的是Windows的下载,所以我们直接下载即可,这个就不演示了。本文选择AdventureWorks2017.bak做演示。因为这个文件是放在亚马逊云上,所以国内下载比较麻烦,作者需要点好多次才能下载。
在这里插入图片描述

  因为Windows和Linux之间不能像纯Windows机器那样使用UNC直接访问,所以需要工具,官方的方式比较麻烦,作者尝试了WinSCP感觉方便很多。WinSCP下载地址:https://winscp.net/eng/index.php ,简单安装完之后,打开登录界面,输入Linux登录信息:

在这里插入图片描述

  登录成功后,会看到类似下图的样子,下图是已经直接定位到文件所在盘符(左边是Windows)及目标文件目录(右边为Linux目录):

在这里插入图片描述
  在图中直接把鼠标选中文件然后拉过去就可以实现传输。传输完成后,用ls命令查看/tmp目录,可以看到文件已经存放完成,下图是传输前后的对比:
在这里插入图片描述

  在正式环境下,应该先合理规划各种目录再进行,但是这里先简化这些内容,在后面服务器管理章节再详解。
前面的SQL Server On Linux(1)——CentOS 7 安装SQL Server2019中提到,sql server on linux的默认数据库文件目录在/var/opt/mssql/data下,我们可以直接还原到这里,注意在本系列过程中绝大部分操作是使用root进行,所以权限问题很少,但是如果在生产环境,那么就需要进行权限控制。秉着前期简化的目的,作者尽量选择简单的方式去实现一些并非非常必要的操作。所以这里使用SQL Server On Linux(1)——CentOS 7 安装SQL Server2019提到的SQL Operations Studio来进行还原,当然也可以使用熟悉的SSMS来操作:

在这里插入图片描述
  进行还原,这个步骤跟SSMS几乎一样:
在这里插入图片描述
  还原成功后,在SQL Server On Linux的默认数据文件目录下可以看到已经有新数据库的mdf和ldf文件:
在这里插入图片描述

  到目前为止,已经实现了示例数据库的还原,接下来我们演示一下直接在Linux上进行操作。

Linux上直接部署

  为了做对比,这次换另外一个示例数据库AdventureWorksLT2017.bak进行:

在这里插入图片描述

  Linux的命令行操作跟Windows有很明显的区别,你很难进行简单的鼠标点击来完成操作,所以我们需要得到文件的下载链接,并且确保已经安装了可用的Linux下载文件命令(一般使用wget,但是作者使用的CentOS 7 没有自带,所以使用yum install wget来安装)。在Windows网页中点击所需的文件,根据浏览器和下载软件的不同可能会直接开始下载或者弹出下载对话框进行操作,总之,我们的目标是获取实际下载链接。
  在下载过程中,发现出现拒绝访问的情况,根据经验,作者把github在离中国最近(目前知道是新加坡)的ip地址加进服务器的/etc/hosts中:

在这里插入图片描述
  然后进行下载,下载过程使用命令:

wget -O /tmp/AdventureWorksLT2017.bak "https://github.com/Microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorksLT2017.bak"

  下载过程如下图:
在这里插入图片描述

  下载完成后,在/tmp目录下可以看到备份文件:
在这里插入图片描述
  然后把数据库还原:
在这里插入图片描述

  对于本系列后续可能使用到的新数据库,可以用以上两种方式来获取。在本文中,作者使用的是最最简单的方式,所以有很多操作是没有表现出来。比如把文件从Windows放到Linux的一个临时目录,然后使用mv命令把文件移到专用的备份文件存放目录。还有对应的授权命令等等。这些在后续过程或多或少会演示,读者可以先掌握最简单的方式,免得进度太慢影响激情。

总结

  本文演示了如何在Windows和Linux上下载并部署微软示例数据库AdventureWorks到Linux上的SQL Server中,这是一个环境准备过程,目的是为了后续研究之用。
  接下来继续进行基础配置,分别是Linux的初步配置(毕竟是基石)和SQL Server初步配置。要注意配置跟优化类似,没有真正的“一劳永逸”,只有具体情况具体分析才是最好的方式。

猜你喜欢

转载自blog.csdn.net/DBA_Huangzj/article/details/82968233