SQL脚本无法设置IDENTITY_INSERT

时间:2014-04-14 23:32:26

标签: sql sql-server sql-server-2008

我有一个SQL脚本,我通过本地数据库上的Microsoft SQL Server Management Studio运行得很好。当我提交SQL并且我们的CruiseControl.NET持续集成服务器得到它时,脚本有问题。错误:

<message level="Error">IDENTITY_INSERT is already ON for table 'BuildDB.dbo.Table_A'. Cannot perform SET operation for table 'Table_B'.</message>

现在,这看起来很简单。快速回答是,“嗯,你只需关闭Table_A的IDENTITY_INSERT!”问题是,从理论上讲,我有。脚本的流程如下:

BEGIN TRY
SET IDENTITY_INSERT Table_A ON
END TRY
BEGIN CATCH
END CATCH
GO

... Do some database insertions ...

BEGIN TRY
SET IDENTITY_INSERT Table_A OFF
END TRY
BEGIN CATCH
END CATCH
GO

... Do some other database-y stuff ...

BEGIN TRY
SET IDENTITY_INSERT Table_B ON
END TRY
BEGIN CATCH
END CATCH
GO

所以,主要问题是'如何解决这个问题?'尝试/捕获是我的第一次努力,无济于事。第二个问题,如果有人可以回答,那就是为什么我的脚本在本地工作但不在服务器上工作。

0 个答案:

没有答案