内容根据微软官方文档,经过测验,顺序执行即可使用docker运行sql server2022
需要正确配置docker,如果没有配置看我先前的文章
因为只有ubuntu18.04才可以直接在系统中下载sql server,所以想要在系统中使用sql server需要使用docker,微软文档也是这么写的。
请求并运行 SQL Server Linux 容器映像
docker pull mcr.microsoft.com/mssql/server:2022-latest
运行容器
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Admin123" \-p 1433:1433 --name sql1 --hostname sql1 \-d \mcr.microsoft.com/mssql/server:2022-latest
查看容器列表
docker ps -a
最佳做法是将 sa 帐户禁用
这里说首次登录使用sa登录,然后把sa禁用,具体操作看文档
https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&tabs=cli&pivots=cs1-bash#disable-the-sa-account-as-a-best-practice
连接到 SQL Server
进入容器内部
docker exec -it sql1 "bash"
登录sqlcmd
#官方模板:/opt/mssql-tools18/bin/sqlcmd -S localhost -U <userid> -P "<YourNewStrong@Passw0rd>"
/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "Admin123" -C
使用sql server
这和SSMS下的查询语句可能略有不同,需要输入GO才能执行命令
SELECT name FROM sys.databases; -- 列出所有数据库名称
GO -- 提交执行
创建和查询数据
同上,与windows的图形界面下的使用略有不同,详情查看微软文档。
https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&tabs=cli&pivots=cs1-bash#create-and-query-data
补充
查看所有容器
sudo docker ps -a
停止容器
sudo docker stop ad9c97e5a920
开启容器
sudo docker start ad9c97e5a920
参考
微软官方文档
https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&tabs=cli&pivots=cs1-bash
无法登录sqlcmd,因为安全问题
https://learn.microsoft.com/zh-cn/sql/tools/sqlcmd/sqlcmd-utility?view=sql-server-ver16&tabs=go%2Clinux&pivots=cs1-bash
docker hub
https://hub.docker.com/r/rapidfort/microsoft-sql-server-2019-ib