赞
踩
拉取sqlserver2022 最新版本docker镜像
#拉取镜像
sudo docker pull mcr.microsoft.com/mssql/server:2022-latest
运行sqlserver2022 容器( SA_PASSWORD 环境变量已弃用。 请改用 MSSQL_SA_PASSWORD)
#创建mssql2022文件夹
sudo mkdir /opt/mssql2022
#回车确认
#进入/opt目录更改mssql2022文件家权限,这里不设置权限,sqlserver 启动会失败
sudo chmod 777 mssql2022
#回车确认
#运行容器 "MSSQL_PID=Enterprise" 默认Developer(开发版) Enterprise(企业版)或Express(免费专用版)EnterpriseCore(企业核心版),MSSQL_AGENT_ENABLED=true 表示开启代理,如果添加--cap-add SYS_PTRACE -u 0:0 以系统用户允许sqlserver 容器上面两步,可以不执行
sudo docker run -d -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Suixin@123" -e "MSSQL_PID=Enterprise" -e "MSSQL_COLLATION=Chinese_PRC_BIN" -e "MSSQL_AGENT_ENABLED=true"\
-p 1433:1433 --name sqlserver2022 \
-v /opt/mssql2022:/var/opt/mssql \
-v /opt/mssql2022_backup:/opt/mssql2022_backup \
-e TZ=Asia/Shanghai \
mcr.microsoft.com/mssql/server:2022-latest
进入容器连接sqlserver
#进入sqlserver容器内
sudo docker exec -it sqlserver2022 "bash"
#sqlcmd 连接sqlserver
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Suixin@123"
#回去确认
查看版本信息
#查看sqlserver版本信息
SELECT @@VERSION
GO
#回去确认
开启sqlserver代理服务
#进入到容器, 加 -u root 参数表示以root用户身份进入容器
sudo docker exec -it sqlserver2022 "bash" 或 sudo docker exec -it -u root sqlserver2022 "bash"
#开启代理服务
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
#重启docker 容器
#备份sql语句,注意替换数据库
DECLARE @BackupFilePath NVARCHAR(500)
DECLARE @BackupFileName NVARCHAR(225)
DECLARE @CurrentDateTime NVARCHAR(30)
SET @CurrentDateTime = REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(30), GETDATE(), 120), '-', '_'),' ','_'),':','')
SET @BackupFileName = 'test_backup_' + @CurrentDateTime
SET @BackupFilePath ='/opt/mssql2022_backup/'+ @BackupFileName+ '.bak'
BACKUP DATABASE [test] TO DISK = @BackupFilePath WITH NOFORMAT, NOINIT, NAME = @BackupFileName , SKIP, REWIND, NOUNLOAD, STATS = 10
GO
最后重要事情要说三遍:
**一定要修改登录密码 **
一定要修改登录密码
一定要修改登录密码
#查看容器环境变量 ef68e21130fc为容器ID
sudo docker inspect ef68e21130fc | grep "MSSQL_SA_PASSWORD"
公众号“点滴分享技术猿”
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。