尝试使用 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();
使用相同的脚本能够在远程服务器上创建数据库、查询数据库等。