docker安装最新版SQL Server并还原备份的数据库

docker安装数据库

拉取微软官方最新版镜像

docker pull mcr.microsoft.com/mssql/server

拉去镜像并创建容器

docker run  -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=sa_password_123456"  -p 1433:1433 -v /opt/:/opt --name sqlserver -d mcr.microsoft.com/mssql/server

docker run  -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=sa_password_123456"  -p 1433:1433  --name sqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest

进入容器

docker exec -it sqlserver bash

数据库连接测试

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "sa_password_123456"

Navicat还原数据库

先创建数据库。

然后上传文件到数据库服务器。

最后执行还原即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我明白了您的问题。首先,您需要在Docker安装SQL Server。您可以使用以下命令来安装: ``` docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong@Passw0rd>' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest ``` 这将下载并启动最新版本的SQL Server,并将其公开在端口1433上。 接下来,您需要设置自动备份。您可以使用以下命令来设置计划任务: ``` docker exec -it <container_id> /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourStrong@Passw0rd>' -Q "DECLARE @jobId BINARY(16) EXEC msdb..sp_add_job @job_name = N'BackupJob', @output_flag = 1, @job_id = @jobId OUTPUT DECLARE @scheduleId int EXEC msdb..sp_add_schedule @schedule_name = N'BackupSchedule', @freq_type = 4, @freq_interval = 1, @freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_start_date = 20221031, @active_end_date = 99991231, @active_start_time = 0, @active_end_time = 235959, @schedule_id = @scheduleId OUTPUT EXEC msdb..sp_attach_schedule @job_id = @jobId, @schedule_id = @scheduleId EXEC msdb..sp_add_jobstep @job_id = @jobId, @step_name = N'BackupStep', @subsystem = N'TSQL', @command = N'BACKUP DATABASE [MyDatabase] TO DISK = ''/var/opt/mssql/backup/MyDatabase.bak''', @on_success_action = 1, @step_id = 1 EXEC msdb..sp_add_jobserver @job_id = @jobId" ``` 这将创建名称为“BackupJob”的定期计划任务,该任务将在每天执行,并将备份输出到位于容器中的/var/opt/mssql/backup/目录中的MyDatabase.bak文件中。请确保将相应的数据库名称替换为您要备份数据库名称。 希望这可以帮助您。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值