Perl を使用して SQL Server データベースのリモート バックアップを取得しようとしています。しかし、どういうわけか次のエラーが発生します:
バックアップ エラー: 3041、重大度: 16、状態: 1。BACKUP はコマンド BACKUP DATABASE testdb を完了できませんでした。詳細なメッセージについては、バックアップ アプリケーション ログを確認してください。
スクリプトは次のようになります。
use DBI;
my $dsn = 'DBI:ODBC:Driver={SQL Server}';
my $host = 'hostname';
my $database = 'dbname';
my $user = 'sa';
my $auth = 'xxxxxxx';
my $dbh = DBI->connect("$dsn;Server=$host",
$user,
$auth,
{ RaiseError => 1,
AutoCommit => 1}
) || die "Database connection not made: $DBI::errstr";
my $sql = "BACKUP DATABASE testdb TO DISK='d:\sql_share\backup.bak'";
my $sth = $dbh->prepare( $sql );
$sth->execute();
print "\nexecuted";
$sth->finish();
$dbh->disconnect();
リモートサーバーでデータベースの作成、データベースのクエリなどを実行できる同じスクリプトを使用します。