Debian下SQL Server数据库迁移技巧
sudo apt update && sudo apt upgrade),添加Microsoft GPG密钥(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),安装mssql-server包并运行sudo /opt/mssql/bin/mssql-conf setup设置SA密码;再安装命令行工具mssql-tools(sudo apt install -y mssql-tools)以便后续操作。bcp(Bulk Copy Program)是SQL Server的高性能命令行工具,适合大量数据迁移。导出数据时,使用queryout参数指定SQL查询(如bcp "SELECT * FROM source_db.dbo.table" queryout "table_data.bcp" -c -T -S source_server);导入数据时,使用in参数指向导出的文件(如bcp target_db.dbo.table in "table_data.bcp" -c -T -S target_server)。-c表示使用字符数据类型,-T表示使用可信连接(Windows身份验证),若Debian使用SQL Server身份验证需替换为-U SA -P password。mysqldump导出数据(mysqldump -u username -p database > mysql_data.sql),再用工具(如sqlconvert、SwisSQL)转换数据类型(如MySQL的INT对应SQL Server的INT,但部分类型需手动调整),最后将转换后的脚本导入Debian上的SQL Server。SELECT COUNT(*) FROM table)、关键字段值(如主键、唯一约束字段),确保数据无遗漏或错误。Generate Scripts功能导出SQL脚本),执行测试用例验证其功能是否正常。max server memory、并行度max degree of parallelism),重建索引(ALTER INDEX ALL ON table REBUILD)以提高查询性能,监控系统资源使用情况(如top、vmstat命令)。