KB ID: | 1471 |
Product: |
Veeam Backup & Replication Veeam Service Provider Console Veeam Cloud Connect |
Published: | 2024-07-17 |
Last Modified: | 2024-08-05 |
Languages: | EN |
Now you’re less likely to miss what’s been brewing in our knowledge base with this weekly digest
時間をおいて、再度お試しください
この記事では、Microsoft SQL ServerとPostgreSQL での構成データベースをバックアップする方法を説明します。
また、以下の製品において構成データベースを特定する方法も説明します。
Veeam ONEに関する情報はこちらをご覧ください: KB2356
Veeam Backup & ReplicationまたはVeeam Cloud Connectがインストールされているサーバで以下のPowerShellスクリプトを実行すると、データベース接続情報が出力されます。
以下のスクリプトは単に特定のレジストリ値から情報を取得し、それらの値をPowerShellコンソールに表示します。システムに対して値が変更されることはありません。
$activeConfig = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\DatabaseConfigurations' -Name 'SqlActiveConfiguration').SqlActiveConfiguration
if ($activeConfig -eq "MsSql") {
$sqlServerName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\DatabaseConfigurations\MsSql' -Name 'SqlServerName').SqlServerName
$sqlInstanceName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\DatabaseConfigurations\MsSql' -Name 'SqlInstanceName').SqlInstanceName
$sqlDatabaseName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\DatabaseConfigurations\MsSql' -Name 'SqlDatabaseName').SqlDatabaseName
Write-Host " Database Engine: $($activeConfig) "
Write-Output "Connection Settings: $($sqlServerName)\$($sqlInstanceName)"
Write-Output "Database Name: $($sqlDatabaseName)"
} elseif ($activeConfig -eq "PostgreSql") {
$pgServerName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\DatabaseConfigurations\PostgreSql' -Name 'SqlHostName').SqlHostName
$pgPortNumber = (Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\DatabaseConfigurations\PostgreSql' -Name 'SqlHostPort')
$pgDatabaseName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\DatabaseConfigurations\PostgreSql' -Name 'SqlDatabaseName').SqlDatabaseName
$pgUser = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup and Replication\DatabaseConfigurations\PostgreSql' -Name 'PostgresUserForWindowsAuth').PostgresUserForWindowsAuth
Write-Host "Database Engine: $($activeConfig)"
Write-Output "Connection Settings: $($pgServerName):$($pgPortNumber)"
Write-Output "Database Name: $($pgDatabaseName)"
Write-Output "PostgreSQL User: $($pgUser)"
}
Enterprise Manager がインストールされているサーバで次の PowerShell スクリプトを実行すると、データベース接続情報が出力されます。
以下のスクリプトは特定のレジストリ値から情報を取得し、それらの値を PowerShell コンソールに表示します。システムに対して値が変更されることはありません。
$activeConfig = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup Reporting\DatabaseConfigurations' -Name 'SqlActiveConfiguration').SqlActiveConfiguration
if ($activeConfig -eq "MsSql") {
$sqlServerName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup Reporting\DatabaseConfigurations\MsSql' -Name 'SqlServerName').SqlServerName
$sqlInstanceName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup Reporting\DatabaseConfigurations\MsSql' -Name 'SqlInstanceName').SqlInstanceName
$sqlDatabaseName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup Reporting\DatabaseConfigurations\MsSql' -Name 'SqlDatabaseName').SqlDatabaseName
Write-Host " Database Engine: $($activeConfig) "
Write-Output "Connection Settings: $($sqlServerName)\$($sqlInstanceName)"
Write-Output "Database Name: $($sqlDatabaseName)"
} elseif ($activeConfig -eq "PostgreSql") {
$pgServerName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup Reporting\DatabaseConfigurations\PostgreSql' -Name 'SqlHostName').SqlHostName
$pgPortNumber = (Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup Reporting\DatabaseConfigurations\PostgreSql' -Name 'SqlHostPort')
$pgDatabaseName = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup Reporting\DatabaseConfigurations\PostgreSql' -Name 'SqlDatabaseName').SqlDatabaseName
$pgUser = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam Backup Reporting\DatabaseConfigurations\PostgreSql' -Name 'PostgresUserForWindowsAuth').PostgresUserForWindowsAuth
Write-Host "Database Engine: $($activeConfig)"
Write-Output "Connection Settings: $($pgServerName):$($pgPortNumber)"
Write-Output "Database Name: $($pgDatabaseName)"
Write-Output "PostgreSQL User: $($pgUser)"
}
Veeamサポートにデータベースバックアップを提供する場合、ケースに添付する前に、データベースバックアップファイルを圧縮(ZIP)してください。これにより、お客様とサポートエンジニアの両方の帯域幅と時間を節約することができます。
ほとんどのデータベースバックアップファイルは元のサイズの15%に圧縮されます。
Backup-SqlDatabse PowerShell コマンドレットは、Microsoft SQL と共にインストールされるモジュールの一部であり、Microsoft SQL サーバ上で実行する必要があります。コマンドレットを実行するマシンに Microsoft SQL がインストールされていない場合、コマンドは失敗します。
以下のコマンドを実行し、Microsoft SQLの接続情報と出力先を入力します:
次のコマンドは、Microsoft SQLインスタンスがWindows認証を使用していて、かつ、コマンドを実行するアカウントがデータベースバックアップを行うのに適切な権限を持っていることを前提としています。
Backup-SqlDatabase -ServerInstance "ServerName\InstanceName" -Database "DBName" -BackupFile "C:\Temp\DBBackup_$($env:computername)_$(get-date -f yyyy-MM-dd_HH.mm).bak"
*sqlcmdはMicrosoft SQLと一緒にインストールされるアプリケーションです。コマンドを実行するマシンにMicrosoft SQLがインストールされていない場合、sqlcmdは存在せず、コマンドは失敗します。
Microsoft SQLの接続情報と出力先を入力して、以下のコマンドを実行してください:
次のコマンドは、Microsoft SQLインスタンスがWindows認証を使用していて、かつ、コマンドを実行するアカウントがデータベースバックアップを行うのに適切な権限を持っていることを前提としています。
SqlCmd -E -S ServerName\InstanceName -Q "BACKUP DATABASE [DBName] TO DISK='C:\Temp\DBBackupFilename.bak' WITH STATS"
Veeamサポートにデータベースバックアップを提供する場合、ケースに添付する前に、結果のデータベースバックアップファイルを圧縮(ZIP)してください。これにより、お客様とサポートエンジニアの両方の帯域幅と時間を節約することができます。
ほとんどのデータベースバックアップファイルは元のサイズの15%に圧縮されます。
注意:
管理者権限で起動したPowerShellコンソールで、以下のコマンドを実行します:
& "C:\Program Files\PostgreSQL\15\BIN\pg_dump.exe" -U postgres -F c -b -f "C:\Temp\PGDBBackup_$($env:computername)_$(get-date -f yyyy-MM-dd_HH.mm).sql" VeeamBackup
SSPI認証エラーは、pg_dumpコマンドを実行したユーザアカウントが正しくマップされていない場合に発生します。
pg_dump: error: connection to server at "localhost" (::1), port 5432 failed: FATAL: SSPI authentication failed for user "postgres"
この問題を解決するには、KB4542を確認してください。
フィードバックを受信しました。内容を確認させていただきます。
時間をおいて、再度お試しください
Please try select less.
このフォームは、ナレッジベースに対するご意見専用となっております。ソフトウェアでお困りの場合は、サポートケースを作成してください。
フィードバックを受信しました。内容を確認させていただきます。
時間をおいて、再度お試しください