首页主机资讯SQL Server在CentOS中的数据迁移步骤

SQL Server在CentOS中的数据迁移步骤

时间2025-11-10 08:42:03发布访客分类主机资讯浏览1460
导读:1. 准备工作:安装SQL Server on CentOS 在目标CentOS服务器上安装SQL Server是迁移的基础。首先安装必要依赖包:sudo yum install -y libatomic;然后添加SQL Server官方Y...

1. 准备工作:安装SQL Server on CentOS
在目标CentOS服务器上安装SQL Server是迁移的基础。首先安装必要依赖包:sudo yum install -y libatomic;然后添加SQL Server官方YUM仓库(以2022版为例):sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo;接着安装SQL Server:sudo yum install -y mssql-server;运行配置脚本设置SA密码及实例参数:sudo /opt/mssql/bin/mssql-conf setup;最后启动服务并设置开机自启:sudo systemctl start mssql-serversudo systemctl enable mssql-server。若需通过命令行工具操作,还需安装mssql-tools:添加工具仓库curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo,然后执行sudo yum install -y mssql-tools unixODBC-devel,并将工具路径加入环境变量(echo 'export PATH="$PATH:/opt/mssql-tools/bin"' > > ~/.bash_profile,执行source ~/.bash_profile生效)。

2. 备份源数据库(Windows SQL Server)
使用SQL Server Management Studio(SSMS)连接源Windows SQL Server实例,右键待迁移数据库→选择“任务”→“备份”,在“目标”栏添加备份路径(如D:\SQLBackups\SourceDB.bak),设置备份类型为“完整”,点击“确定”生成.bak备份文件。

3. 迁移备份文件至CentOS
通过安全文件传输工具(如WinSCP、scp)将源服务器上的.bak备份文件复制到CentOS目标服务器。例如,使用scp命令:scp /path/to/SourceDB.bak centos_user@centos_ip:/var/opt/mssql/backup/(需确保目标目录存在且有写入权限)。

4. 还原数据库至CentOS SQL Server
在CentOS上使用sqlcmd工具执行还原命令。首先进入sqlcmd交互界面:/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Your_SA_Password';然后执行还原语句(需替换逻辑文件名,可通过RESTORE FILELISTONLY FROM DISK = '/var/opt/mssql/backup/SourceDB.bak'查询):

RESTORE DATABASE TargetDB 
FROM DISK = '/var/opt/mssql/backup/SourceDB.bak' 
WITH 
MOVE 'SourceDB_Data' TO '/var/opt/mssql/data/TargetDB.mdf',  -- 替换为源数据库的逻辑数据文件名
MOVE 'SourceDB_Log' TO '/var/opt/mssql/data/TargetDB_log.ldf', -- 替换为源数据库的逻辑日志文件名
REPLACE, RECOVERY, STATS = 10;
      -- REPLACE覆盖同名数据库,RECOVERY恢复数据库可用,STATS显示进度
GO

执行完成后,输入QUIT退出sqlcmd。

5. 验证数据完整性
还原完成后,通过SSMS或sqlcmd连接CentOS上的SQL Server实例,执行以下操作验证数据:

  • 查看数据库是否存在:SELECT name FROM sys.databases WHERE name = 'TargetDB';
  • 检查表及数据量:USE TargetDB; SELECT COUNT(1) AS RowCount FROM YourTableName; (替换为实际表名)
  • 验证应用连接:使用原应用连接字符串(指向CentOS服务器的IP、端口1433,SA账号)测试数据访问。

6. 配置网络与安全(可选但重要)
确保CentOS服务器防火墙允许SQL Server端口(默认1433)的入站流量:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

若需更高安全性,可配置SSL加密(参考Microsoft官方文档)、限制访问IP或使用VPN连接。

7. 迁移后续操作(可选)

  • 迁移SSMS配置:若需迁移SSMS的查询脚本、连接设置等,可备份用户目录下的.sqlpackage文件夹(路径如C:\Users\YourUser\.sqlpackage),复制到CentOS对应用户目录下。
  • 同步增量数据:若源数据库仍在更新,可使用SQL Server Integration Services(SSIS)创建数据同步包,或使用DataX等工具实现增量数据迁移。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SQL Server在CentOS中的数据迁移步骤
本文地址: https://pptw.com/jishu/745905.html
CentOS中Node.js依赖怎么装 CentOS上SQL Server更新维护怎么做

游客 回复需填写必要信息