文章目录

  • 一、如何启动SQL Server 2012 数据库服务,记录运行情况和处理方法
  • 二、用界面工具创建自己的数据库(名称自定),试着用界面工具在该数据库


一、如何启动SQL Server 2012 数据库服务,记录运行情况和处理方法

由于电脑是macOS系统的,SQLsever并不能直接在电脑上使用,所以选择在docker上建立一个SQLsever 2017 Linux容器,在容器上进行数据库的创建:

操作如下

  1. 首先打开terminal输入
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest

此步骤是从Microsoft Container Registry 中拉取SQLSever 2017 Linux容器镜像

群晖使用MariaDB 群晖 mssql_mysql

  1. 等待安装完成之后使用docker运行容器镜像 输入

这里的 YourStrongPassword的意思是设置自己的密码,是字面意思不是特定操作输入

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrong@Passw0rd" \
	-p 1433:1433 --name sql1 \
	-d mcr.microsoft.com/mssql/server:2017-latest

在此处附上每个字段的含义:

群晖使用MariaDB 群晖 mssql_mysql_02

  1. 创建完连接之后可以使用以下命令查看所下载的容器是否成功
sudo docker ps -a

群晖使用MariaDB 群晖 mssql_mysql_03

(此处的时间间隔比较长是因为我在之前已经下载完毕)

  1. 然后开始设置SA用户名密码 此处说明如何更改密码

在terminal输入

PS:此处的mssql是我对该容器设置的名称,根据名称替换

sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P "<YourStrong!Passw0rd>" \
   -Q 'ALTER LOGIN SA WITH PASSWORD="YourNewStrong!Passw0rd"'
  1. 第四步完成之后就可以进行数据库的创建了创建数据库有两种方式
    方法一:
    直接在terminals创建,先输入
Sudo docker exec -it sql1/bin/bash

然后会跳出一行提示 ,再输入

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P ‘密码’

群晖使用MariaDB 群晖 mssql_数据库_04

之后会跳一行 此时需要进行命令输入创建数据库即可

PS:输入完数据库的名称还需要输入go

此时数据库就已经创建完毕

群晖使用MariaDB 群晖 mssql_docker_05

PS:此种方法有一个不完美的地方就是我发现在数据库的数据输入时,中文会显示成???,这是由于系统的编码问题,一般数据库默认的Unicode是UTF-8,而macOS默认的是GB 18030,故如需改变只可以使用可视化的数据库管理系统进行编码的修改。即为第二种方案

方法二:
第二种方式就是可视化操作,需要下载软件Navicat
(SSMS没有macOS版本的,也没有必要在docker上下载容器)

首先线建立连接操作如下

端口和用户名以及密码和在下载SQLSever 2017 Linux容器时输入的一样
测试连接显示连接正常即可创建数据库

紧接着对数据库的信息进行输入,需要注意的是中文编码的问题
解决方案:排序规则更改为Chinese_PRC_CS_AI(只能在创建数据库的时候进行修改,如果创建完成了再修改会出现不知名报错,无法修改,没有其他办法)

群晖使用MariaDB 群晖 mssql_数据库_06

群晖使用MariaDB 群晖 mssql_docker_07

二、用界面工具创建自己的数据库(名称自定),试着用界面工具在该数据库

中创建几个表,打开其中某个表,进行插删改操作,记录运行情况和处理方法。

(1)情况一:
在进行输入中文数据时候,刷新之后输入的中文会显示成??(比例为:两个字节一个?)

处理方法:
此种情况是由于macOS的系统默认编码不同造成的,和前文所述,将排序规则改为Chinese_PRC_CS_AI即可

(2)情况二:
数据的插入、修改和删除都可以完美运行

处理方法:
直接输入数据或删除或修改

群晖使用MariaDB 群晖 mssql_mysql_08