gpt4 book ai didi

c# - 从 C# 中查找 SQL Server 的恢复进度

转载 作者:行者123 更新时间:2023-11-30 14:19:38 24 4
gpt4 key购买 nike

我知道这很可能是一个简单的问题,但是当您从 SQL Management Studio 中恢复数据库时,您可以使用统计信息设置更新间隔

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 命名空间。

最佳答案

在开始操作之前获取连接 session ID:

SELECT @@SPID;

然后开始您的备份请求。从不同的连接,查询 sys.dm_exec_requests并查看执行 restore 语句的 session 的 percent_complete:

Percentage of work completed for the following commands:

  • ALTER INDEX REORGANIZE
  • AUTO_SHRINK option with ALTER DATABASE
  • BACKUP DATABASE
  • CREATE INDEX
  • DBCC CHECKDB
  • DBCC CHECKFILEGROUP
  • DBCC CHECKTABLE
  • DBCC INDEXDEFRAG
  • DBCC SHRINKDATABASE
  • DBCC SHRINKFILE
  • KILL (Transact-SQL)
  • RESTORE DATABASE
  • UPDATE STATISTICS.

关于c# - 从 C# 中查找 SQL Server 的恢复进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2410332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com