dbatools/sqlinstance2dbatools/sqlinstance2是一个次要SQL Linux服务器Docker镜像,设计用于配合dbatools/sqlinstance主镜像使用。该镜像主要提供一个轻量级环境,用于测试SQL Server可用性组(AGs)配置和数据库迁移流程,包含必要的认证证书和暴露的端点,支持与主镜像协同工作。
dbatools/sqlinstance的安全认证bashdocker pull dbatools/sqlinstance2
为确保主从镜像间通信,需创建专用网络:
bashdocker network create localnet
bash# 启动次要SQL实例容器(映射端口***和5023,共享/tmp目录) docker run -p ***:1433 -p 5023:5023 --volume /tmp:/sharedpath --network localnet --hostname dockersql2 --name dockersql2 -d dbatools/sqlinstance2
注意:Windows系统需额外配置卷路径(例如使用
C:\tmp代替/tmp)
bashdocker run -p ***:1433 -p 5023:5023 --volume C:\tmp:/sharedpath --network localnet --hostname dockersql2 --name dockersql2 -d dbatools/sqlinstance2
容器启动需要约15秒时间完成初始化:
powershellStart-Sleep 15 # PowerShell命令 # 或在Bash中使用:sleep 15
镜像禁用了sa账户,需使用预设账户:
sqladmindbatools.IO在PowerShell中创建凭据:
powershell$cred = Get-Credential sqladmin # 执行后输入密码dbatools.IO
与主镜像配合创建可用性组示例:
powershell$params = @{ Primary = "localhost" # 主实例地址 PrimarySqlCredential = $cred Secondary = "localhost:***" # 本镜像实例端口 SecondarySqlCredential = $cred Name = "test-ag" # 可用性组名称 Database = "pubs" # 要加入AG的数据库 ClusterType = "None" SeedingMode = "Automatic" FailoverMode = "Manual" Confirm = $false } New-DbaAvailabilityGroup @params # 需要dbatools模块支持
使用dbatools模块执行数据库迁移:
powershellStart-DbaMigration -Source localhost:1433 -Destination localhost:*** ` -SourceSqlCredential $cred -DestinationSqlCredential $cred ` -BackupRestore -SharedPath /sharedpath ` -Exclude LinkedServers, Credentials, CentralManagementServer, BackupDevices
说明:
-Exclude参数用于排除Linux上暂不支持的功能项
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务