SQL Server 2017版本已经可以在Linux系统上安装,但我在尝试.NET Core跨平台开发的时候使用的是Mac系统,所以这里记录了在Mac上安装SQL Server的过程。

最新的SQL Server没有专门为Mac系统准备安装包,但由于Mac系统上支持Docker,所以可以用一种变通的方式——在Docker内部安装Linux版本的SQL Server。

系统要求

因为我的Macbook Air型号比较老,硬件条件很一般,所以首先确定下是否满足安装SQL Server的条件。官方给出的配置如下:

内存 2 GB
文件系统 XFS or EXT4 (other file systems, such as BTRFS, are unsupported)
磁盘空间 6 GB
处理器速度 2 GHz
处理器核数 2 cores
处理器类型 x64-compatible only

要求不高,看来没有什么问题。

Docker应用程序

Mac版本的Docker可以通过下列地址下载:
Docker Community Edition for Mac
完成安装后还可以用docker -v命令验证结果。

Docker镜像

有了Docker程序后,第一步先要做的事情是拉取SQL Server用于linux系统的镜像。

docker pull microsoft/mssql-server-linux:2017-latest

Docker容器

接着通过已拉取的镜像启动容器

docker run -d --name macsqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Passw1rd' -e 'MSSQL_PID=Developer' -p 1433:1433 microsoft/mssql-server-linux:2017-latest

在此命令中所用的参数都有实际用途:
-d 以daemon模式运行容器,即所启动的应用程序在后台运行
--name 为容器赋予名称
-e 'ACCEPT_EULA=Y' 在容器内部设定环境变量,用于确认接受终端用户许可协议—— end-user license agreement (EULA)
-e 'SA_PASSWORD=Passw1rd' 在容器内部设定sa账号的密码
-e 'MSSQL_PID=Developer' 也是一个环境变量,令SQL Server以开发者版本运行
-p 1433:1433 映射本地1433端口到容器内部SQL Server的1433端口

执行上述命令后,再执行docker ps -a,可以查看已启动容器的状态。如果状态是Up的话,说明容器正常运行。

SQL Server客户端

由于SQL Server Management Studio没有被移植到其它系统上,所以要想在Mac系统以客户端的方式连接已安装的SQL Server,需要通过第三方工具。sql-cli便是其中一种用nodejs开发的客户端。

先是用npm方式安装sql-cli。

npm install -g sql-cli

完成安装后用以下命令进入(所输入的密码需匹配实际设定的):

mssql -u sa -p Passw1rd

若连接成功,再输入.databases命令,就可以看到熟悉的SQL Server自带的四个数据库。

Visual Studio Code插件

使用VSC开发的一大好处是其包含丰富的插件。比如安装完mssql这个插件后,便可以利用VSC的便利,进行SQL程序的开发。

举个简单的例子:
⌘N,新建一个文件
⌘K M,将语言模式改为SQL
⇧⌘P,打开命令框,输入sql,选中MS SQL: Connect,再选择Create Connection Profile,然后输入一系列数据库连接配置。
如果最后在VSC的右下角看到的是类似下面的样子,说明已经成功连接数据库。

接着,在文件内输入SQL语句

use masterselect * from spt_monitor

⇧⌘E,执行上述语句。可以在新的窗口中看到结果。

值得一提的是,在结果窗口内,还可以通过文件形式保存记录。

相关文章:

  • 通过 Docker Compose 组合 ASP NET Core 和 SQL Server

  • Linux Centos下SQL Server 2017安装和配置

  • SQL Server 2017正式发布,微软老牌数据库如何继往开来?

原文地址: https://www.cnblogs.com/kenwoo/p/9544947.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

.NET Core开发日志——Linux版本的SQL Server相关推荐

  1. Linux 版本的 SQL Server 快速安装

    SQL Server 2017 版本已经支持 Linux 安装了,出来了很长时间,我还没有实现过在 Linux 上面的应用,包括安装和高可用配置.本文就先尝试完成 Linux 版 SQL Server ...

  2. Linux 上配置 SQL Server Always On Availability Group

    SQL Server Always On Availability Group 配置 步骤: 配置三台 Linux 集群节点 创建 Availability Group 配置 Cluster Reso ...

  3. .NET Core开发日志——WCF Client

    WCF作为.NET Framework3.0就被引入的用于构建面向服务的框架在众多项目中发挥着重大作用.时至今日,虽然已有更新的技术可以替代它,但对于那些既存项目或产品,使用新框架重构的代价未必能找到 ...

  4. .NET Core开发日志——配置

    .NET Core开发日志--配置 原文:.NET Core开发日志--配置 熟悉ASP.NET的开发者一定对web.config文件不陌生.在ASP.NET环境中,要想添加配置参数,一般也都会在此文 ...

  5. .NET Core开发日志——RequestDelegate

    本文主要是对.NET Core开发日志--Middleware的补遗,但是会从看起来平平无奇的RequestDelegate开始叙述,所以以其作为标题,也是合情合理. RequestDelegate是 ...

  6. .NET Core开发日志——HttpClientFactory

    当需要向某特定URL地址发送HTTP请求并得到相应响应时,通常会用到HttpClient类.该类包含了众多有用的方法,可以满足绝大多数的需求.但是如果对其使用不当时,可能会出现意想不到的事情. 博客园 ...

  7. .NET Core开发日志——从ASP.NET Core Module到KestrelServer

    ASP.NET Core程序现在变得如同控制台(Console)程序一般,同样通过Main方法启动整个应用.而Main方法要做的事情很简单,创建一个WebHostBuilder类,调用其Build方法 ...

  8. .NET Core开发日志——Runtime IDentifier

    .NET Core对于传统.NET开发人员而言是既熟悉又陌生的新平台,所以有时遇上出乎意料的事情也纯属正常情况.这时只需点耐心,多查查资料,努力找到原因,也未尝不是件有意义的体验. 比如当建完一个最简 ...

  9. 2g内存用linux的哪个版本,Linux 下安装sql server 时 2G内存限制的最新(2019-08-15) 解决方案...

    关于 sqlserver 在linux下安装时有最小内存限制的问题,网上有很多类似的说明,那些操作都是正确的,如果不成功可能 "姿势"不对. 需要注意的是:不能使用最新版本!!!  ...

最新文章

  1. 任正非迷茫的背后是华为在“治未病”
  2. 利用python实现简易版的贪吃蛇游戏(面向python小白)
  3. windows redis安装与配置
  4. windows terminal 笔记
  5. Haproxy配置文件详解
  6. 对datatable进行linq过滤
  7. 互联网巨头基于全球产业链打造ARM CPU
  8. 语言兔子繁衍问题讲解_颍湄脞録兔子不搁那窝里
  9. run、kill、return、stoprobot、stop
  10. 保护地球生命力,从寻找“百兽之王”开始
  11. AS3的一些压缩解压缩类库(AS3 ZIP、AS3 GZIP等等)
  12. ALSA ASOC
  13. 五笔字根表识别码图_王码86版五笔字根表口诀助记词(完整大图)
  14. NumPy学习挑战第一关-NumPy的下载与安装
  15. pc网页唤起QQ、企业微信、skype、whatsApp等
  16. 微信小程序radio 标签 使用
  17. 基于区域生长算法的图像分割python_基于区域分割(图像分割)
  18. 雷军第二场直播带货圆满成功,雷军代言小米试用期一个月
  19. sigmoid二分类
  20. STM32固件库点亮LED灯

热门文章

  1. python之路day10-命名空间和作用域、函数嵌套,作用域链、闭包
  2. 2018-2019-1 20165211 实验四 外设驱动程序设计
  3. OutLook2016修改注册表迁移.ost文件数据
  4. jbpm6.5 环境搭建(三) 数据库 切换
  5. MySQL relay log 详细参数解释
  6. VS2010下的多线程窗口
  7. AngularJS快速入门指南09:SQL
  8. ARM立即数讲解--LDR和MOV的区别 .
  9. Word打不开,如何修复word文档?
  10. 【Android开发】Android应用程序目录结构