動態

詳情 返回 返回

如何使用 PowerShell 腳本備份 SQL Server 數據庫 ? - 動態 詳情

PowerShell Script to Backup SQL Server Databases

對於任何依賴於數據存儲和檢索應用程序來説,數據庫管理都是關鍵所在。確保數據的完整性和可用性是最重要的,也是最基本的。所以,定期備份 SQL Server 數據庫至關重要。

在本文中,我們將演示如何創建 PowerShell 腳本,用於自動備份 SQL Server, 並使用 7-Zip 將備份文件歸檔。這種自動化不僅節省了您的時間,還提供了一種有效的方法來安全有序的備份存檔。

Step 1: Prepare Your System

(1) 首先,按 Windows 鍵或者點擊開始按鈕打開搜索面板,在搜索欄中輸入“PowerShell”,從搜索結果中打開“Windows PowerShell”

(2) 確保已安裝 SQL Server Management Objects (SMO) 以及 SQL Server cmdlets,如果沒有安裝,可以使用以下命令安裝它們:

Install-Module -Name SqlServer

(3) 如果你的系統還沒有安裝 7-Zip,請安裝它。

Step 2: Create Backup Script

(1) 打開文本編輯器,粘貼以下 PowerShell 代碼:

# Load SQL Server cmdlets
Import-Module SqlServer
 
# Set variables
$ServerInstance = "localhost"
$DatabaseName = "YourDatabaseName"
$BackupDir = "C:\Backup"
$ArchiveDir = "C:\Backup\Archive"
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$BackupFile = "${BackupDir}\${DatabaseName}_${Timestamp}.bak"
$ArchiveFile = "${ArchiveDir}\${DatabaseName}_${Timestamp}.7z"
$ZipEXE = "C:\Program Files\7-Zip\7z.exe"
 
# Create backup and archive directories if they don't exist
if (!(Test-Path $BackupDir)) {
    New-Item -ItemType Directory -Path $BackupDir
}
if (!(Test-Path $ArchiveDir)) {
    New-Item -ItemType Directory -Path $ArchiveDir
}
 
# Backup the SQL Server database
Backup-SqlDatabase -ServerInstance $ServerInstance -Database $DatabaseName -BackupFile $BackupFile
Write-Host "Database backup completed successfully."
 
# Archive the backup using 7-Zip
& $ZipEXE a -t7z $ArchiveFile $BackupFile
Write-Host "Backup archived successfully."
 
# Remove the original backup file
Remove-Item $BackupFile
Write-Host "Original backup file removed."

(2) 根據實際情況調整數據庫名稱、首選備份和歸檔目錄等參數。

(3) 以 .ps1 文件擴展名保存腳本,如 BackupSqlDatabase.ps1

Step 3: Execute the Script

在 PowerShell 控制枱中運行腳本,如下所示:

.\BackupSqlDatabase.ps1

該腳本導入 SqlServer 模塊,備份指定的 SQL Server 數據庫,並使用 7-Zip 將備份文件歸檔,原始備份文件被刪除,只留下存檔的版本。

我的開源項目

酷瓜雲課堂-在線教育解決方案

  • course-tencent-cloud(酷瓜雲課堂 - gitee倉庫)
  • course-tencent-cloud(酷瓜雲課堂 - github倉庫)
user avatar zjkal 頭像 waluna 頭像 uyangxiansen 頭像
點贊 3 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.