【问题标题】:Restore database timeout?恢复数据库超时?
【发布时间】:2011-02-24 01:14:09
【问题描述】:

我正在尝试使用以下代码恢复数据库

string Restore = @"RESTORE DATABASE [" + dbname+ "] FROM DISK = N'" + filePath + "' WITH REPLACE, FILE = 1,  NOUNLOAD,  STATS = 10";
SqlCommand RestoreCmd = new SqlCommand(Restore, con);
RestoreCmd.ExecuteNonQuery();

它返回一个超时过期错误,我在连接字符串中设置了连接超时=300

但只运行 t-sql 脚本 RESTORE DATABASE [dbname] FROM DISK = N'filepath' WITH REPLACE, FILE = 1, NOUNLOAD, STATS = 10 它工作正常

我应该怎么做才能解决这个问题?

【问题讨论】:

  • 不是 100% 肯定,因为我已经很久没有这样做了,但我相信 SqlCommand 也有超时,您可以指定
  • TYVM Ryk,我不知道解决方案如此简单,是的,它奏效了! sqlcommand.commandtimeout 是单个命令可能运行的时间,而 connectionstring 中的连接超时设置是建立连接的时间。

标签: c# .net sql-server


【解决方案1】:

像这样设置你的 RestoreCmd 的 CommandTimeout 属性:

RestoreCmd.CommandTimeout = 300;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-22
    • 2010-12-04
    • 2010-12-04
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多