关于解决Mac使用docker安装SQL server for Linux 中文乱码问题

笔者是Mac的追随者,无奈本学期数据库课要求使用Microsoft的SQL server。但是Microsoft并没有发布SQL server for Mac ,笔者使用Google搜索后,发现可以Mac可以使用Docker安装SQL server for Linux 版。通过笔者的努力成功将SQL server 在Mac上运行。

  但是在安装后的8天。笔者发现Docker安装的SQL server 储存的中文是乱码的。所以笔者又通过Google搜索发现这可能是数据库创建时默认排序规则不是Chinese_PRC_CI_AS的。

  网上有两种解决方案,一种就是更改系统的默认排序规则,另一种就是在创建数据库时将默认排序规则改成Chinese_PRC_CI_AS的。第一种方案需要系统的root权限,也就是需要sudo。

  但是无奈Docker 模拟出的Linux 环境是没有sudo的。如下图:

那么就是第二种方案。那就在创建数据库更改默认排序规则为Chinese_PRC_CI_AS。SQL 语句为:

CREATE DATABASE Student
COLLATE Chinese_PRC_CI_AS; 

在创表时就需要将CHAR VARCHAR等在前面加N

它表示存储的是Unicode数据类型的字符。例如:
NCHAR NVARCHAR

最后问题就解决了 :

效果如图:

如果读者有什么问题或者有什么建议,欢迎在底下评论

本文博客园地址:https://www.cnblogs.com/misubishi/p/9858791.html

(本人博客园账号)

转载请说明出处

### 使用 DockerLinux 上部署和运行 Microsoft SQL Server 为了在 Linux 操作系统中通过 Docker 部署并运行 Microsoft SQL Server,需遵循一系列特定指令来确保顺利安装。 #### 准备工作 确认已正确安装 Docker 并能够正常运作。对于不希望每次执行 Docker 命令时都输入 `sudo` 的用户来说,在 Linux 上可以通过创建 docker 用户组并将个人账户加入其中简化权限管理[^1]。 #### 获取镜像 利用如下命令下载官方提供的 SQL Server 2019 Ubuntu 版本的 Docker 镜像: ```bash docker pull mcr.microsoft.com/mssql/server:2019-latest ``` 此命令会从微软容器注册表获取最新的 SQL Server 2019 发行版[^2]。 #### 启动容器 接着使用下面给出的 Bash shell 命令启动一个新的容器实例,并指定必要的环境变量以完成初始化配置过程: ```bash docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong!Passw0rd' \ -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2019-latest ``` 上述脚本设置了接受许可协议以及定义强密码作为 sa 登录名使用的凭证;同时将主机端口 1433 映射至容器内部相同的 TCP 端口号以便外部访问数据库服务。 #### 验证安装 一旦容器成功启动后,可通过多种方式验证 SQL Server 是否正在监听预期地址上的连接请求。一种简单的方法是在同一台机器上尝试建立本地客户端连接测试连通性[^3]。 #### 注意事项 - 密码强度要求:所设定的服务管理员(`sa`)账号密码应满足复杂度标准。 - 数据持久化处理:考虑长期保存数据的需求,建议采用卷挂载的方式实现文件系统的绑定存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值