当前位置 : 主页 > 编程语言 > c语言 >

从c#中查找SQL Server的还原进度

来源:互联网 收集:自由互联 发布时间:2021-06-25
我知道这很可能是一个简单的问题但是当您从SQL管理工作室内部恢复数据库时,可以使用统计信息设置更新间隔 RESTORE DATABASE [test] FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Back
我知道这很可能是一个简单的问题但是当您从SQL管理工作室内部恢复数据库时,可以使用统计信息设置更新间隔

RESTORE DATABASE [test] FROM  DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\test.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 10

如果我想从c#中执行那行代码,我将如何获得进度?目前我只使用System.Data.SqlClient.SqlCommand.ExecuteNonQuery()但我无法弄清楚如何获得进展.

此外,如果速度更快,则可以使用Microsoft.SQLServer命名空间.

只有在操作完成后,ExecuteNonQuery才会返回.可能有一种方法可以从另一个线程上的连接监视其进度或使用异步调用,但您也可以查看使用SMO,它提供了一种注册回调的方法,参见 http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.restore.aspx和 http://msdn.microsoft.com/en-us/library/ms162133.aspx以及 PercentComplete event
网友评论