在CentOS系统中进行SQL Server数据迁移,可以遵循以下步骤:
安装必要的软件包
yum包管理器。mssql-tools和unixODBC-devel,这些是连接SQL Server所必需的。sudo yum install -y mssql-tools unixODBC-devel 配置SQL Server连接
sqlcmd工具。echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile source ~/.bash_profile 安装ODBC驱动
sudo yum install -y https://packages.microsoft.com/config/rhel/7/prod.repo sudo yum install -y msodbcsql17 sqlcmd导出和导入导出数据
sqlcmd连接到源SQL Server实例,并将数据导出为CSV文件。sqlcmd -S <源服务器地址> -U <用户名> -P <密码> -d <数据库名> -Q "SELECT * FROM <表名>" -s "," -W -o /path/to/export.csv 导入数据
sqlcmd连接到目标SQL Server实例,并将CSV文件中的数据导入。sqlcmd -S <目标服务器地址> -U <用户名> -P <密码> -d <数据库名> -Q "BULK INSERT <表名> FROM '/path/to/export.csv' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')" sqlpackage工具(适用于SQL Server 2017及更高版本)安装sqlpackage
sqlpackage工具。sudo yum install -y https://packages.microsoft.com/config/rhel/7/prod.repo sudo yum install -y mssql-tools 导出数据库
sqlpackage导出数据库为BACPAC文件。sqlpackage export -ServerName <源服务器地址> -DatabaseName <数据库名> -Username <用户名> -Password <密码> -OutputFile /path/to/database.bacpac 导入数据库
sqlpackage导入BACPAC文件到目标SQL Server实例。sqlpackage import -ServerName <目标服务器地址> -DatabaseName <目标数据库名> -Username <用户名> -Password <密码> -File /path/to/database.bacpac 检查数据完整性
SELECT COUNT(*) FROM <表名>; 对比数据
通过以上步骤,你应该能够在CentOS系统中成功完成SQL Server的数据迁移。