Debian上SQL Server数据库迁移方法
BACKUP DATABASE命令备份源数据库(如.bak文件),防止迁移过程中数据丢失。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用户密码。sudo apt install -y mssql-tools(包含sqlcmd和bcp工具,用于命令行操作)。.bak文件。.bak文件传输到Debian服务器(如通过scp命令)。.bak文件,完成还原。bcp命令将源数据库表数据导出为文本文件(如CSV)。示例:bcp "SELECT * FROM source_db.dbo.table_name" queryout /path/to/output.csv -c -T -S source_server(-c表示字符数据类型,-T表示信任连接,-S指定服务器地址)。bcp命令导入到目标数据库。示例:bcp target_db.dbo.table_name in /path/to/output.csv -c -T -S localhost。mysqldump(MySQL)或对应工具导出数据库结构和数据为SQL脚本(如mysqldump -u root -p dbname > db_script.sql)。INT对应SQL Server的INT,但MySQL的TEXT需转换为SQL Server的VARCHAR(MAX))。sqlcmd工具在Debian的SQL Server上执行转换后的脚本:sqlcmd -S localhost -U SA -P password -i /path/to/converted_script.sql。