在Ubuntu上备份和恢复SQL Server数据库,你可以使用sqlpackage
工具或者mssql-scripter
工具。以下是使用这些工具进行备份和恢复的基本步骤:
使用 sqlpackage
工具
sqlpackage
是一个命令行工具,可以用来部署、更新、创建脚本化数据库以及迁移数据。它支持SQL Server的备份和还原功能。
安装 sqlpackage
首先,你需要安装sqlpackage
。你可以从Microsoft的官方GitHub页面下载适用于Linux的.deb
包。
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update; sudo apt-get install -y sqlpackage
备份数据库
使用sqlpackage
备份数据库的命令如下:
sqlpackage \ -Action = Export \ -SourceServerName <服务器名> \ -SourceDatabaseName <数据库名> \ -TargetFile <备份文件路径> \ -Provider SQLNCLI11
将<服务器名>
、<数据库名>
和<备份文件路径>
替换为实际的服务器名称、数据库名称和备份文件的完整路径。
恢复数据库
恢复数据库的命令如下:
sqlpackage \ -Action = Import \ -SourceFile <备份文件路径> \ -TargetServerName <服务器名> \ -TargetDatabaseName <数据库名> \ -Provider SQLNCLI11
将<备份文件路径>
、<服务器名>
和<数据库名>
替换为实际的备份文件路径、服务器名称和数据库名称。
使用 mssql-scripter
工具
mssql-scripter
是一个用于生成SQL Server数据库脚本的工具,它可以用来备份数据库结构和数据。
安装 mssql-scripter
安装mssql-scripter
的步骤与安装sqlpackage
类似,你可以从GitHub页面下载.deb
包并安装。
wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/mssql-scripter.deb -O mssql-scripter.deb sudo dpkg -i mssql-scripter.deb sudo apt-get update; sudo apt-get install -y mssql-scripter
备份数据库
使用mssql-scripter
备份数据库的命令如下:
mssql-scripter \ -S <服务器名> \ -d <数据库名> \ -U <用户名> \ -P <密码> \ -o <输出文件路径> \ -q "BACKUP DATABASE [<数据库名>]"
将<服务器名>
、<数据库名>
、<用户名>
、<密码>
和<输出文件路径>
替换为实际的服务器名称、数据库名称、用户名、密码和输出文件的完整路径。
恢复数据库
mssql-scripter
不直接支持恢复操作,因为它主要用于生成脚本。你需要手动执行生成的备份脚本来恢复数据库。
请注意,上述命令中的-Provider SQLNCLI11
参数可能需要根据你的SQL Server版本进行调整。如果你使用的是SQL Server 2017或更高版本,可能需要使用-Provider MSSQLSERVER
或其他适当的提供程序。
在执行备份和恢复操作之前,请确保你有足够的权限,并且已经对数据库进行了适当的备份策略规划。