Здравствуйте, товарищи!
Озаботился написанием скрипта на Power Shell для бэкапа нескольких баз данных из MS SQL.
$Server = "localhost"
$BaseName = "master"
$BaseLogin = "user"
$BasePassw = "password"
$connection = New-Object -com "ADODB.Connection"
$ConnectionString = "Provider=SQLOLEDB.1;
Data Source=$Server;
Initial Catalog=$BaseName;
User ID=$BaseLogin;
Password=$BasePassw;
Connection Timeout=0;"
$connection.Open($ConnectionString)
$connection.Execute("BACKUP DATABASE [db_name] TO DISK = 'd:\bak\db_name.sql' WITH INIT, NOFORMAT, SKIP, NOUNLOAD")
$connection.Close()
Это, разумеется, урезанный код и он возвращает ошибку: Исключение при вызове "Execute" с "1" аргументами: "Время ожидания запроса истекло".
При этом, если выполнять запрос из Management Studio, то запрос выполняется без ошибок. Время выполнения чуть более 2х минут.
Поковыряв интернет, нашел совет поиграться с Connecction Timeout в строке подключения. Обещают, что при значении "0" ошибка таймаута должна исчезнуть. Не тут-то было...
Подскажите, плз, как побороть эту беду?