【发布时间】:2018-11-19 14:10:52
【问题描述】:
我没有看到对此类问题的确切或任何类似有用的答案,所以我问自己。
我在 Powershell ISE 中使用 2 行代码来运行我编写的两个非常简单的 SQL 脚本。我正在测试如何在 SQL 中使用 WAITFOR DELAY 命令来运行一个 SQL 脚本。然后在运行第二个 SQL 脚本之前等待一段时间。
在我的第一个 SQL 脚本中,我有一个简单的 GETDATE() 命令,该命令在 WAITFOR DELAY 命令之前运行。 在我的第二个 SQL 脚本中,我有相同的 GETDATE() 命令。然后 Powershell ISE 使用“Out-File”将这 2 个脚本写入 .txt 文件,以便我可以查看它是否符合我在第一个 SQL 脚本中插入 WAITFOR DELAY 的时间限制。
我在避免错误时遇到了一些麻烦:“Invoke-Sqlcmd: Execution Timeout Expired。在操作完成之前超时时间已过或服务器没有响应。” … 但是,我只需在我的 SELECT GETDATE() 和我的 WAITFOR DELAY 命令之间放置一个“go”关键字,就成功地让“00:01:00”的 WAITFOR DELAY 工作。但现在我正试图让我的脚本等待 ANY 超过 1 分钟。我收到与上面提到的相同的错误。即使比 1 分钟长 1 秒也不会注册到输入到我的文本文件中的数据中。
我的目标是让第一个文本文件注册 GETDATE() 的时间.. 然后让 powershell 等待 10 分钟,然后执行第二个 SQL 脚本,其中包含 GETDATE() .. 能够看到 10 分钟的差异在两个脚本的执行之间。
谁能帮我解决这个问题?
提前致谢。
【问题讨论】:
-
您是否尝试过将 QueryTimeout 与 invoke-sqlcmd 一起使用? docs.microsoft.com/en-us/powershell/module/sqlserver/…
-
我需要等待延迟,因为我需要第一个 T-sql 脚本在运行第二个 sql 脚本之前工作 10 分钟。 Powershell sleep 在我的调用之间造成了 10 分钟的延迟,这不是我需要的帮助......
-
我尝试使用你们关于 Invoke-Sqlcmd -QueryTimeout 10 的建议……但它同时运行第一个和第二个 sql 脚本
标签: sql-server powershell