为了账号安全,请及时绑定邮箱和手机立即绑定

如何在苹果M1芯片Mac上搭建本地SQL Server环境

在 M1 Mac 上设置本地的 SQL Server 可能会有难度,因为 SQL Server 主要针对 Windows 设计,并且不支持 macOS。但是,使用 Docker 和 ARM 兼容的镜像,你可以在 M1 Mac 上运行 SQL Server。本指南将带你一步步完成在 M1 Mac 上运行本地 SQL Server 的步骤。

为什么要在M1 Mac上用SQL Server?
  1. 跨平台开发:在 macOS 上本地开发和测试需要 SQL Server 的应用程序。
  2. 学习和实验:无需专用的 Windows 系统即可练习 SQL Server 的命令和配置。
  3. 无缝工作流:避免切换操作系统或依赖外部服务器。
在M1 Mac上设置SQL Server的一步一步地指南
1. 在 macOS 上安装 Docker

Docker 在 macOS 上运行 SQL Server 时非常必要,它允许在容器中运行 SQL Server。

下载并安装 Docker

  • 访问Docker的官方网站并下载适用于macOS的Docker Desktop。
  • 按照安装说明进行安装,并确保Docker已启动。

启用 Apple 芯片兼容性

  • Docker Desktop 支持通过 Rosetta 2 模拟的 M1 芯片。请确保已安装 Rosetta:
    softwareupdate --install-rosetta
# 安装Rosetta的命令
2. 下载适用于 ARM 的 SQL Server 镜像文件

微软为SQL Server提供了官方的Docker镜像,但该镜像并未针对ARM处理器(如M1芯片这样的)进行优化。请使用社区维护或实验性的针对ARM架构的镜像。

拉 Docker 镜像,比如 SQL Server 的:

运行以下命令来拉取容器镜像:

docker pull mcr.microsoft.com/azure-sql-edge

拉取完成后,你可以运行容器来测试 Azure SQL Edge 的功能。```

**为什么用Azure SQL Edge?**

* Azure SQL Edge 是为边缘计算优化的 SQL Server 轻量级版本,并支持 ARM 架构。

## 3\. 运行 SQL Server 的容器实例

使用Docker启动一个SQL Server容器实例:
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrongPassword!" \  
  -p 1433:1433 --name sqlserver \  
  -d mcr.microsoft.com/azure-sql-edge

**解释**:

* `-e "ACCEPT_EULA=Y"`: 接受 SQL Server 许可协议的条款。
* `-e "MSSQL_SA_PASSWORD=YourStrongPassword!"`:为 `sa`SA)用户设置密码。
* `-p 1433:1433`:将容器的 1433 端口映射到本地的 1433 端口上。
* `--name sqlserver`:将容器命名为 `sqlserver`
* `-d`:以分离模式启动容器。

## [顶尖的机器学习课程,助你提升职业生涯:机器学习已成为科技专家的关键技能。有许多不同的机器学习课程可供选择等……www.goexam.today](https://www.goexam.today/top-machine-learning-courses-to-boost-your-career2/?source=post_page-----88d0ff0fed4c---------------------------------------)

## 4 验证 SQL Server 实例:

**查看正在运行的容器**
docker ps # 查看正在运行的容器

在列表中找到 `sqlserver` 容器,确保它正在运行。

**连接到SQL Server数据库**:使用像Azure Data StudioDBeaverSQL Server Management Studio (SSMS)等SQL客户端工具从另一台机器上连接。

**连接信息:**

* **服务器** : `localhost`  `127.0.0.1` (即本机地址)
* **端口** : `1433`
* **用户名** : `sa`
* **密码** : `你的强密码!`

## 5\. 访问本地的 SQL Server

你可以使用如 `sqlcmd` 這類的命令行工具,或圖形界面工具來進行本地訪問。

**选项 1:使用 `sqlcmd`**:使用 Docker 来安装 `sqlcmd`
docker exec -it sqlserver /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P YourStrongPassword! (-it 参数表示交互模式,-P 后面的 'YourStrongPassword!' 请替换为实际的强密码)

直接执行SQL命令:
SELECT @@VERSION;
这行代码用于查询数据库版本信息。

下面这个选项:使用Azure Data Studio

1. 从[Microsoft网站](https://azure.microsoft.com/en-us/products/data-studio/)下载Azure Data Studio。
2. 根据上述连接信息连接到SQL Server实例。

# 故障排除小贴士

**SQL Server 容器实例启动失败:**

* 请确保 Docker 的资源(内存和 CPU)足够。在 Docker 的设置中,至少分配 2GB 内存。

**端口冲突问题:**

* 如果端口 `1433` 被占用,请使用其他本地端口

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrongPassword!" \ -p 1434:1433 --name sqlserver \ -d mcr.microsoft.com/azure-sql-edge


**无法连接到SQL服务器:**

* 确保容器已经启动:`docker ps`
* 使用 `telnet` 查看 `localhost:1433` 是否可以连接:

运行此命令来连接到本地主机的1433端口
telnet localhost 1433

**性能上的问题:一些性能问题**:

* Azure SQL Edge 专为轻量级场景设计。对于重型工作负载,建议使用远程 SQL Server 实例。

# 最佳做法

**强密码**:  
(建议包含复杂字符、数字和大小写字母)

*  `sa` 用户设置一个强密码以防未经授权访问。

**数据持久性**:

  要使数据在容器生命周期结束后仍然持久化,可以挂载一个卷。
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrongPassword!" \   -p 1433:1433 --name sqlserver \   -v sqlvolume:/var/opt/mssql \   -d mcr.microsoft.com/azure-sql-edge #这是一个用于运行数据库容器的Docker命令


**定期备份**:

* 确保经常备份你的数据,特别是在使用容器时。

**查看资源使用情况** 

* 关注密切监视 Docker 的资源消耗,以确保它在您的 M1 Mac 上运行顺畅。

或者去掉星号,更自然:

关注密切监视 Docker 的资源消耗,以确保它在您的 M1 Mac 上运行顺畅。

## [热门的机器学习课程,提升您的职业发展机器学习已经成为科技从业者的必备技能。有许多机器学习课程可供选择。www.goexam.today](https://www.goexam.today/top-machine-learning-courses-to-boost-your-career2/?source=post_page-----88d0ff0fed4c---------------------------------------)
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消