一、准备工作
sudo apt update && sudo apt upgrade -y;sudo apt install -y curl gnupg apt-transport-https;curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg;echo "deb [signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/debian/12/prod/ stable main" | sudo tee /etc/apt/sources.list.d/mssql-server.list;sudo apt update && sudo apt install -y mssql-server;sudo /opt/mssql/bin/mssql-conf setup,按提示设置SA用户密码。mssql-tools以使用sqlcmd(命令行查询)和bcp(批量数据传输):sudo apt install -y mssql-tools,添加至PATH:echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc,执行source ~/.bashrc生效。二、数据迁移步骤
sqlcmd -S localhost -U SA -P <密码> -i /path/to/script.sql),创建表、视图、存储过程等对象。bcp "SELECT * FROM source_db.dbo.table_name" queryout /path/to/export_table.txt -c -T -S localhost(-c表示字符数据类型,-T表示信任连接,-S指定服务器);bcp target_db.dbo.table_name in /path/to/export_table.txt -c -T -S localhost。mysqldump -u [用户名] -p[密码] source_db > source_data.sql;INT转SQL Server的INT);sqlcmd执行脚本导入目标数据库。三、验证与测试
SELECT COUNT(*) FROM table_name)、关键字段值(如主键、唯一约束字段),确保数据无遗漏或错误。EXPLAIN分析查询执行计划,检查索引使用情况;使用sys.dm_exec_query_stats监控查询性能,调整配置(如内存、CPU分配)以优化性能。