2011-04-26 89 views
4

SESSIONPROPERTY返回會話的一些SET選項設置(但不是IDENTITY_INSERT)。有沒有辦法以編程方式檢測SET IDENTITY_INSERT xyz ON/OFF設置?

是否有程序獲取SET IDENTITY_INSERT xyz ON設置?

+0

此線程表明它可能只能通過嘗試和解析錯誤http://www.sqlservercentral.com/Forums/Topic491092-8-1.aspx,就像這一個http://social.msdn.microsoft。 COM /論壇/ EN/TRANSACTSQL /線程/ 1a6ba2bb-5e82-47e8-a1a0-16fc044b951e – 2011-04-26 15:15:51

回答

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()的結果,找出表名(如有的話),它已設置。如果我找到更好的方法,那麼我會替換這個答案。

相關問題