簡體   English   中英

Restore-SqlDatabase等待操作超時

[英]Restore-SqlDatabase Wait operation timeout

我已經設置了使用Restore-SqlDatabase cmdlet還原數據庫的過程,並將其調度到SQl Agent作業中。 在嘗試還原160GB數據庫之前,它一直運行良好。 它基本上在600秒后失敗,並顯示錯誤“等待操作超時”。 我嘗試添加一個StatementTimeout為0來查看它是否可以解決這個問題,並且還更改了SQL Server上的遠程查詢超時,但是它在10分鍾后仍然突然消失。 有人知道我是否可以更改其他設置以增加超時時間? 我正在運行的代碼是:

# Load Module path! its not loading by default in calls from powershell
$env:PSModulePath=$env:PSModulePath + ";" + "C:\Program Files\Microsoft SQL Server\110\Tools\PowerShell\Modules\SQLPS\"
## Load module and run functions now

#Import SQL Server PowerShell Provider.
Import-Module "sqlps" -DisableNameChecking

#GEt Around Wait Timeout Error with Remote Connection via PoSh
$server = "THESERVER"
$serverConn = new-object ("Microsoft.SqlServer.Management.Smo.Server") $server
$serverConn.ConnectionContext.StatementTimeout = 0


#Restore Latest Copy of Test Database that was copied over
Restore-SqlDatabase -ServerInstance $server -Database "Test" -BackupFile "H:\SQLBACKUP\DATABASE_Refresh\Test_Latest.BAK" -ReplaceDatabase

出現的錯誤是:

Restore-SqlDatabase : The wait operation timed out
At H:\SQLBACKUP\_AutoScripts\5_Test_DBRESTORE.ps1:16 char:1
+ Restore-SqlDatabase -ServerInstance $server -Database "Test ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Restore-SqlDatabase], Win32Exception
    + FullyQualifiedErrorId : ExecutionFailed,Microsoft.SqlServer.Management.PowerShell.RestoreSqlDatabaseCommand

它看起來像Restore-SqlDatabase-ConnectionTimeout參數:

指定超時失敗之前等待服務器連接的秒數。 超時值必須是0到65534之間的整數。如果指定0,則連接嘗試不會超時。

因此,您的命令可以變成:

Restore-SqlDatabase `
    -ServerInstance $server `
    -Database "Test" `
    -BackupFile "H:\SQLBACKUP\DATABASE_Refresh\Test_Latest.BAK" `
    -ReplaceDatabase `
    -ConnectionTimeout 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM