使用PowerShell和SMO恢复数据库时显示进度
发布时间:2020-12-12 08:44:36 所属栏目:MsSql教程 来源:网络整理
导读:我有一个用Power Shell和SMO恢复数据库的脚本.现在我知道我可以将一个事件处理程序传递给还原对象上的PercentComplete,并获得恢复进度.问题是我不知道如何创建事件处理程序并在PowerShell中传递一个函数?我可以在C# restore.PercentComplete += new PercentC
我有一个用Power
Shell和SMO恢复数据库的脚本.现在我知道我可以将一个事件处理程序传递给还原对象上的PercentComplete,并获得恢复进度.问题是我不知道如何创建事件处理程序并在PowerShell中传递一个函数?我可以在C#
restore.PercentComplete += new PercentCompleteEventHandler(restore_PercentComplete); static void restore_PercentComplete(object sender,PercentCompleteEventArgs e) { System.Console.WriteLine("{0}",e.Percent); } 任何帮助将不胜感激. 谢谢. 解决方法经过一番深入的研究,我终于在文档中找到了.要添加事件处理程序,您需要执行以下操作:导入有关的程序集; [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SmoExtended') | out-null [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.ConnectionInfo') | out-null 现在要创建事件处理程序,你需要使用一个内联函数来声明它; $percentEventHandler = [Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler] { Write-Host "Restored " $_.Percent "%" } $completedEventHandler = [Microsoft.SqlServer.Management.Common.ServerMessageEventHandler] { Write-Host "Database " $databasename " Created Successfuly!" } 现在最后一步是将事件处理程序添加到正在使用的对象中.通常在C#中,您只需执行以下操作; restore.PercentComplete += new PercentCompleteEventHandler(restore_PercentComplete); restore.Complete += new Microsoft.SqlServer.Management.Common.ServerMessageEventHandler(restore_Complete); 这在PowerShell脚本中不起作用,您需要做的是使用生成的函数来添加事件.函数名称是EventHandlerName,其开头附加“add_”,如此; $dbRestore.add_PercentComplete($percentEventHandler) $dbRestore.add_Complete($completedEventHandler) 希望这有助于其他任何人试图做到这一点! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何将SQLserver的windows身份验证方式改为SQLserver身份验
- SQL Server SQL里类似SPLIT的分割字符串函数实现方法
- MySQL配置文件my.cnf优化详解(mysql5.5)
- SQLserver2005express和stdio2008安装时的常见问题
- SQL注入之基于布尔的盲注详解
- 带你熟悉SQLServer2016中的System-Versioned Temporal Tabl
- SQLServer数据库、附加数据库时出错。有关详细信息,请单击
- sql – 我们如何检查该表是否有索引?
- LINQ for LIKE查询数组元素
- SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语