5/27 回答が連続投稿される不具合が発生しております

- プログラムの動作要件
WindowsServer2003 R2 Sp2 (X64) VS2005 VB.NET

- 開発ツール、テクノロジ (製品/テクノロジ名、バージョン、エディション、サービスパック)
VS2005 Vb.NET Version 8.0.50727.42 FrameworkVersion 2.0.50727 SP2

- ビジネス フェーズ (実装)
・SQLServer2005のバックアップ、リストア専用Toolの作成
Microsoft.SqlServer.Smo、Microsoft.SqlServer.ConnectionInfo,
Microsoft.SqlServer.SqlEnum、Microsoft.SqlServer.SmoEnumを参照設定し、
SQL Server 2005の指定したデータベースをバックアップ、リストアを行うモジュールを作成しました。、

- 内容
大きなデータベースをバックアップしようとすると10分程度でタイムアウトしてしまいます。
ConnectionContext.ConnectTimeoutを設定してみましたが、変化がございません。

実行時のタイムアウト設定は、どのようにすれば、可能なのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

wkServer.ConnectionContext.StatementTimeout


かも。
    • good
    • 0
この回答へのお礼

ありがとうございます。

とりあえず設定して動作確認は、行ったのですが、バックアップデータが本番データでなかなか許可が下りず、タイムアウトの確認ができていません。(30G程度の容量が必要なため)

10G程度でしたら問題なくバックアップ、リストアできていますので問題はないと思いますが、実際にタイムアウトしたデータでの確認がまだできていません。

動作自体は問題ないのでいったんクローズとさせていただきます。

ありがとうございました。

お礼日時:2011/05/31 21:55

Connection の Timeout は接続する時のタイムアウト値。


実行するコマンドの Timeout はコマンドを実行している Command オブジェクトので設定。
ということまでは私も知っている話なのでお答えできます。

バックアップの実行に関してはお答えする知識がないのですが、やはりバックアップを実行する側のオブジェクトにタイムアウトの設定があるんじゃないでしょうかね。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
http://nary.cocolog-nifty.com/blog/2009/12/sql-s …
http://blog.livedoor.jp/seec/archives/996451.html

この回答への補足

すみません、コマンドオブジェクトは使用していないのです。
コードは以下のようにしています。

Try
'サーバへの接続情報を設定
Dim wkServer As New Server
wkServer.ConnectionContext.ServerInstance = "localhost\SQLEXPRESS"
wkServer.ConnectionContext.LoginSecure = True

'バックアップの動作を決める
Dim wkBackup As New Backup
wkBackup.Action = BackupActionType.Database
'バックアップ対象のデータベースを指定
wkBackup.Database = "Tset"
'完全バックアップにする
'IncrementalプロパティをTrueにすると増分バックアップになる
wkBackup.Incremental = False
wkBackup.Initialize = True
wkBackup.LogTruncation = BackupTruncateLogType.Truncate
'バックアップ先の指定
Dim backupFile As String
backupFile = "c:\temp\test.bak"
'バックアップ装置の設定
'バックアップをファイルに出力する
Dim Device As New BackupDeviceItem(backupFile, DeviceType.File)
wkBackup.Devices.Add(Device)
wkBackup.PercentCompleteNotification = 10

'バックアップの実行
wkBackup.SqlBackup(wkserver)

MessageBox.Show("完了", "通知")
Catch ex As Exception
MessageBox.Show(ex.Message, "エラー")
End Try

プロパティを探したんですが、timeoutの設定が見あたらず困っています。

補足日時:2011/05/21 14:59
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング