当前位置:   article > 正文

ubuntu docker容器运行sqlserver2022以及完整备份_docker sqlserver2022 代理 warning: could not create

docker sqlserver2022 代理 warning: could not create log file for mssql-conf

docker Docker 运行 SQL Serve文档

拉取sqlserver2022 最新版本docker镜像

#拉取镜像
sudo docker pull mcr.microsoft.com/mssql/server:2022-latest

  • 1
  • 2
  • 3

sqlserver2022

运行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



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

创建文件
容器

进入容器连接sqlserver

#进入sqlserver容器内
sudo docker exec -it sqlserver2022  "bash"  

#sqlcmd 连接sqlserver
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Suixin@123"

#回去确认

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

验证

查看版本信息

#查看sqlserver版本信息
SELECT @@VERSION
GO

#回去确认
  • 1
  • 2
  • 3
  • 4
  • 5

版本

开启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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

备份计划作业

最后重要事情要说三遍:
**一定要修改登录密码 **
一定要修改登录密码
一定要修改登录密码

#查看容器环境变量   ef68e21130fc为容器ID
sudo docker inspect ef68e21130fc | grep "MSSQL_SA_PASSWORD"
  • 1
  • 2

变量

公众号“点滴分享技术猿


关注

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/751440
推荐阅读
相关标签
  

闽ICP备14008679号