【发布时间】:2012-12-08 07:07:03
【问题描述】:
如何确保以下语句在一个事务中运行?
try
{
Invoke-SqlCmd -Query 'begin tran; ...sql script...'
# Other Powershell script
Invoke-SqlCmd -Query '...sql script...; if @@transcation > 0 commit tran'
}
catch
{
Invoke-SqlCmd -Query 'if @@transaction > 0 rollback tran;'
}
在事务中运行 Powershell 脚本的最佳方法是什么?
【问题讨论】:
-
PowerShell 有 Start-Transaction,你指的是这个吗? technet.microsoft.com/en-us/library/hh849772.aspx
-
@ShawnMelton 不,我试过
Start-Transaction; Invoke-Sqlcmd 'select 1 a into ##test' -ServerInstance myserver; Undo-Transaction,它仍然创建了表格。
标签: sql-server powershell