#sql-server #sql-server-2005 #tsql
#sql-server #sql-server-2005 #tsql
Вопрос:
SESSIONPROPERTY возвращает некоторые из SET
параметров сеанса (но не IDENTITY_INSERT).
Есть ли способ получить SET IDENTITY_INSERT xyz ON
настройки программно?
Комментарии:
1. Этот поток предполагает, что это может быть возможно только путем попытки и анализа ошибки sqlservercentral.com/Forums/Topic491092-8-1.aspx как и этот social.msdn.microsoft.com/Forums/en/transactsql/thread /…
Ответ №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(), чтобы узнать имя таблицы (если таковое имеется), для которого оно установлено. Если я найду способ получше, я заменю этот ответ.