在Ubuntu上迁移SQL Server数据库,通常涉及以下几个步骤:
首先,确保在目标Ubuntu服务器上安装了SQL Server。你可以使用以下命令来安装:
sudo apt update
sudo apt install mssql-server
在安装过程中,系统会提示你设置SQL Server的管理员密码。
安装完成后,启动并启用SQL Server服务:
sudo systemctl start mssql-server
sudo systemctl enable mssql-server
使用sqlcmd
工具连接到SQL Server:
sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YourPassword'
在源服务器上备份数据库。你可以使用sqlcmd
或SQL Server Management Studio (SSMS)来完成备份。
sqlcmd
备份数据库:BACKUP DATABASE YourDatabaseName
TO DISK = '/var/opt/mssql/backup/YourDatabaseName.bak'
WITH FORMAT, MEDIANAME = 'YourDatabaseNameBackup', NAME = 'Full Backup of YourDatabaseName';
将备份文件从源服务器传输到目标服务器。你可以使用scp
命令来完成:
scp /var/opt/mssql/backup/YourDatabaseName.bak username@target_server_ip:/var/opt/mssql/backup/
在目标服务器上还原数据库:
sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YourPassword' -Q "RESTORE DATABASE YourDatabaseName FROM DISK = '/var/opt/mssql/backup/YourDatabaseName.bak' WITH MOVE 'YourDatabaseName_Data' TO '/var/opt/mssql/data/YourDatabaseName.mdf', MOVE 'YourDatabaseName_Log' TO '/var/opt/mssql/data/YourDatabaseName.ldf'"
在目标服务器上验证数据库是否成功还原:
sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YourPassword' -Q "SELECT COUNT(*) FROM YourDatabaseName.YourSchema.YourTable"
确保目标服务器的防火墙允许SQL Server的通信端口(默认是1433):
sudo ufw allow 1433/tcp
更新应用程序的连接字符串,使其指向新的目标服务器。
通过以上步骤,你应该能够成功地将SQL Server数据库从源Ubuntu服务器迁移到目标Ubuntu服务器。