有没有一种编程方式可以检测SET IDENTITY_INSERT xyz ON/OFF设置?

4

SESSIONPROPERTY 可以返回会话的一些 SET 选项设置(但不包括 IDENTITY_INSERT)。

是否有编程的方法可以获取 SET IDENTITY_INSERT xyz ON 的设置?


这个线程建议只能通过尝试和解析错误来实现,http://www.sqlservercentral.com/Forums/Topic491092-8-1.aspx,这个也是一样的,http://social.msdn.microsoft.com/Forums/en/transactsql/thread/1a6ba2bb-5e82-47e8-a1a0-16fc044b951e。 - Martin Smith
1个回答

1

这不是很好看,但如果你找不到其他方法:

BEGIN TRY
    CREATE TABLE #temp (my_id INT IDENTITY NOT NULL)
    SET IDENTITY_INSERT #temp ON
    SET IDENTITY_INSERT #temp OFF
    DROP TABLE #temp
END TRY
BEGIN CATCH
    SELECT ERROR_MESSAGE()
    DROP TABLE #temp
END CATCH

您可以解析ERROR_MESSAGE()返回的结果,以查找设置了错误消息的表名(如果有)。如果我找到更好的方法,我会替换这个答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接