【问题标题】:Using powershell - how to prevent SQL from access the same record使用powershell——如何防止SQL访问同一条记录
【发布时间】:2018-04-24 21:26:18
【问题描述】:

我想运行多个 powershell 实例来从 Exchange 收集数据。在 powershell 中,我使用 invoke-sqlcmd 从 powershell 运行各种 SQL 命令。

SELECT TOP 1 SmtpAddress FROM [MMC].[dbo].[EnabledAccounts]
where [location] = '$Location' and Script1 = 'Done' and (Script2 = '' or 
Script2 is null)

当运行多个脚本时,我看到两个脚本都访问同一条记录。我知道有一种方法可以更新记录,锁定它,但不知道如何写出来。 TIA:-)

【问题讨论】:

    标签: sql powershell


    【解决方案1】:

    数据库管理系统(我假设是 SQL Server)将为您处理争用。这意味着,如果您有两个会话尝试更新同一组记录,SQL Server 将阻止一个会话,而另一个会话完成。你不需要做任何事情来明确地做到这一点。也就是说,如果您将多个更新作为一个单元应用,那么在事务中运行更新是个好主意;隐式事务中发生单个更改。以下线程更多地讨论了使用Invoke-SqlCmd 的事务。

    Multiple Invoke-SqlCmd and Sql Server transaction

    【讨论】:

      猜你喜欢
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      相关资源
      最近更新 更多