温馨提示×

SQL Server能在Ubuntu上恢复吗

小樊
54
2025-07-27 10:04:39
栏目: 云计算

是的,SQL Server可以在Ubuntu上进行恢复。以下是在Ubuntu上恢复SQL Server数据库的详细步骤:

安装和配置SQL Server

  1. 安装SQL Server:
  • 导入公共存储库GPG密钥:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
  • 注册SQL Server Ubuntu存储库:
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/ubuntu/20.04/mssql-server-2022 main"
  • 更新包列表并安装SQL Server:
sudo apt-get update
sudo apt-get install -y mssql-server
  • 运行 mssql-conf setup 按照提示选择数据库版本及设置SA密码。
  • 配置SQL Server:
  • 启用SQL Server代理:
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server
  • 更改默认数据或日志目录位置:
sudo mkdir /home/d/mssql/data
sudo chown mssql:mssql /home/d/mssql/data

备份SQL Server数据库

  • 使用 sqlcmd 进行备份:
  • 完全备份:
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP DATABASE [XXDatabase] TO DISK  N'/var/opt/mssql/data/backup/XXDatabase_full.bak' WITH INIT, SKIP, NAME  'XXDatabase-full'"
  • 差异备份:
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP DATABASE [XXDatabase] TO DISK  N'/var/opt/mssql/data/backup/GDQXCENT_diff.bak' WITH DIFFERENTIAL,INIT,SKIP, NAME  'XXDatabase-diff'"
  • 日志备份:
sqlcmd -S localhost -U SA -P 'XXXX' -Q "BACKUP LOG [XXDatabase] TO DISK  N'/var/opt/mssql/data/backup/GDQXCENT_log.bak' WITH INIT,SKIP"

恢复SQL Server数据库

  • 使用 sqlcmd 进行恢复:
  • 完全恢复:
sqlcmd -S localhost -U SA -P 'XXXX' -Q "RESTORE DATABASE [XXDatabase] FROM DISK  N'/var/opt/mssql/data/backup/XXDatabase_full.bak' WITH NORECOVERY"
  • 差异恢复:
sqlcmd -S localhost -U SA -P 'XXXX' -Q "RESTORE DATABASE [XXDatabase] FROM DISK  N'/var/opt/mssql/data/backup/GDQXCENT_diff.bak' WITH NORECOVERY"

注意事项

  • 在进行备份和恢复操作之前,请确保已经停止了所有正在运行的服务,并确保数据已备份。
  • 恢复操作可能会影响数据库的可用性,建议在低峰时段进行。
  • 在执行恢复操作时,请根据实际需求选择合适的恢复模式(如FULL、DIFFERENTIAL等)。

通过以上步骤,你可以在Ubuntu上成功配置SQL Server,并完成数据库的备份和恢复测试。请根据你的实际需求调整备份和恢复策略,并定期检查备份文件的完整性。

0