Timmy revidoval tento gist 9 months ago. Přejít na revizi
2 files changed, 72 insertions
docker-compose.yml(vytvořil soubor)
| @@ -0,0 +1,32 @@ | |||
| 1 | + | services: | |
| 2 | + | mssql-server: | |
| 3 | + | image: mcr.microsoft.com/mssql/server:2019-latest | |
| 4 | + | container_name: mssql-server | |
| 5 | + | environment: | |
| 6 | + | ACCEPT_EULA: "Y" | |
| 7 | + | SA_PASSWORD: "StrongP@ssw0rd!" | |
| 8 | + | MSSQL_PID: "Express" | |
| 9 | + | ports: | |
| 10 | + | - "1433:1433" | |
| 11 | + | volumes: | |
| 12 | + | - mssql_data:/var/opt/mssql | |
| 13 | + | networks: | |
| 14 | + | - mssql-network | |
| 15 | + | restart: unless-stopped | |
| 16 | + | ||
| 17 | + | sqlcmd: | |
| 18 | + | image: mcr.microsoft.com/mssql-tools | |
| 19 | + | container_name: sqlcmd | |
| 20 | + | depends_on: | |
| 21 | + | - mssql-server | |
| 22 | + | networks: | |
| 23 | + | - mssql-network | |
| 24 | + | entrypoint: /opt/mssql-tools/bin/sqlcmd | |
| 25 | + | command: -S mssql-server -U sa -P 'StrongP@ssw0rd!' -Q 'SELECT @@VERSION' | |
| 26 | + | ||
| 27 | + | volumes: | |
| 28 | + | mssql_data: | |
| 29 | + | ||
| 30 | + | networks: | |
| 31 | + | mssql-network: | |
| 32 | + | ||
docker_compose_run.sh(vytvořil soubor)
| @@ -0,0 +1,40 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | # 使用 docker-compose 啟動所有服務,並在任一容器退出時中止 | |
| 4 | + | docker-compose up --abort-on-container-exit | |
| 5 | + | ||
| 6 | + | # 啟動 mssql-server 服務 | |
| 7 | + | docker-compose up mssql-server | |
| 8 | + | ||
| 9 | + | # 在後台啟動 mssql-server 服務 | |
| 10 | + | docker-compose up -d mssql-server | |
| 11 | + | ||
| 12 | + | # 執行 sqlcmd 工具來連接到 mssql-server | |
| 13 | + | docker-compose run sqlcmd | |
| 14 | + | ||
| 15 | + | # 使用 sqlcmd 執行查詢,獲取 SQL Server 版本資訊 | |
| 16 | + | docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q "SELECT @@VERSION" | |
| 17 | + | ||
| 18 | + | # 使用 sqlcmd 工具連接到 mssql-server,添加一個鏈接伺服器 | |
| 19 | + | docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q " | |
| 20 | + | EXEC sp_addlinkedserver | |
| 21 | + | @server='MyLinkedServer', | |
| 22 | + | @srvproduct='', | |
| 23 | + | @provider='SQLNCLI', | |
| 24 | + | @datasrc='192.168.1.100', | |
| 25 | + | @catalog='TargetDB'; | |
| 26 | + | ||
| 27 | + | EXEC sp_addlinkedsrvlogin | |
| 28 | + | @rmtsrvname='MyLinkedServer', | |
| 29 | + | @useself='false', | |
| 30 | + | @rmtuser='remote_user', | |
| 31 | + | @rmtpassword='remote_password'; | |
| 32 | + | " | |
| 33 | + | ||
| 34 | + | # 使用 sqlcmd 工具連接到 mssql-server,查詢所有已鏈接的伺服器 | |
| 35 | + | docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q "EXEC sp_linkedservers" | |
| 36 | + | ||
| 37 | + | # 使用 sqlcmd 工具連接到 mssql-server,查詢特定鏈接伺服器的詳細資訊 | |
| 38 | + | docker-compose run sqlcmd -S mssql-server -U sa -P StrongP@ssw0rd! -Q " | |
| 39 | + | SELECT * FROM sys.servers WHERE name = 'MyLinkedServer'; | |
| 40 | + | " | |