以下是SQL Server在CentOS上的数据迁移方案,主要步骤及注意事项如下:
BACKUP DATABASE [数据库名] TO DISK = '/path/to/backup.bak' WITH INIT, STATS = 10;
scp
或rsync
将备份文件从源服务器传输到目标CentOS服务器。scp /path/to/backup.bak user@目标服务器IP:/path/to/destination/
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
sudo yum install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
sudo systemctl start mssql-server
sqlcmd
和bcp
工具用于命令行操作。sudo yum install -y mssql-tools unixODBC-devel
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
source ~/.bash_profile
RESTORE DATABASE [数据库名] FROM DISK = '/path/to/backup.bak' WITH MOVE '逻辑数据文件名' TO '/var/opt/mssql/data/数据库名.mdf', MOVE '逻辑日志文件名' TO '/var/opt/mssql/data/数据库名.ldf', NOUNLOAD, STATS = 10;
bcp
工具导出/导入表数据,或通过sqlpackage
工具迁移BACPAC文件(适用于SQL Server 2017+)。bcp 数据库名.架构名.表名 out /path/to/export.csv -c -t, -S 源服务器IP -U 用户名 -P 密码
gzip
)减少传输时间。参考来源: