docker-compose 启动 sqlserver2017 ¶
compose.yaml ¶
services:
sql-server-db:
container_name: sql-server-db
image: mcr.microsoft.com/mssql/server:2017-latest
ports:
- "1433:1433"
environment:
MSSQL_SA_PASSWORD: "sasadadsadah4xA!sds"
TZ: Asia/Shanghai
ACCEPT_EULA: "Y"
volumes:
- ./data:/var/opt/mssql/data
- ./log:/var/opt/mssql/log
- ./secrets:/var/opt/mssql/secrets
docker compose up -d
数据迁移 ¶
查看信息 ¶
docker exec -it sql-server-db /opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U SA -P 'sasadadsadah4xA!sds' \
-Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/backup/autoed_instance_58001_luming_2023_05_24011342.bak"' | tr -s ' ' | cut -d ' ' -f 1-2
# 输出示例如下:
luming D:\gamedb\58001\\luming_958.mdf
luming_log D:\gamedb\58001\\luming_958_log.ldf
执行迁移命令 ¶
docker exec -it sql-server-db /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P 'sasadadsadah4xA!sds' \
-Q 'RESTORE DATABASE luming FROM DISK = "/var/opt/mssql/backup/autoed_instance_58001_luming_2023_05_24011342.bak" WITH MOVE "luming" TO "/var/opt/mssql/data/luming.mdf", MOVE "luming_log" TO "/var/opt/mssql/data/luming.ldf"'