拉取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" 指定企业版本,如果添加--cap-add SYS_PTRACE -u 0:0 以系统用户允许sqlserver 容器上面两步,可以不执行
sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Suixin@123" -e "MSSQL_PID=Enterprise" \
-p 1433:1433 --name sqlserver2022 --hostname sqlserver2022 \
-d \
-v /opt/mssql2022:/var/opt/mssql \
-v /opt/mssql2022_backup:/opt/mssql2022_backup \
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"
#开启代理服务
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
#重启docker 容器
#备份sql语句,注意替换数据库
DDECLARE @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/mssqlbackup/'+ @BackupFilePath+ '.bak'
BACKUP DATABASE [test] TO DISK = @BackupFileName WITH NOFORMAT, NOINIT, NAME = @BackupFilePath, SKIP, REWIND, NOUNLOAD, STATS = 10
GO
欢迎关注我的公众号“点滴分享技术猿”,原创技术文章第一时间推送。