在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
或其他適當的提供程序。
在執行備份和恢復操作之前,請確保你有足夠的權限,并且已經對數據庫進行了適當的備份策略規劃。