您可能不希望使用IDENT_CURRENT-这将返回在任何会话和任何范围内的问题表上生成的最新标识。如果其他人在错误的时间插入,您将获得他们的ID!
如果要获取刚刚执行的插入操作生成的标识,则最好使用OUTPUT子句进行检索。为此通常使用SCOPE_IDENTITY(),但是在并行执行计划下存在问题。
与SQL等效的线程安全性主要是在执行多个导致意外或不良行为的语句时执行。我可以想到的这种行为的两种主要类型是锁定(特别是死锁)和并发问题。
当一条语句停止其他语句访问其正在处理的行时,就会发生锁定问题。这可能会影响性能,在最坏的情况下,两个语句会做出无法协调的更改,并且会发生死锁,从而导致一个语句被终止。
但是,除非涉及其他事务(例如数据库事务),否则像您这样的简单插入不应导致锁定。
并发问题(描述得很差)是由对数据库记录的一组更改覆盖了对同一记录的其他更改引起的。同样,在插入记录时这应该不是问题。



