0

SCOPE_IDENTITY()返回的另一个问题NULL

情况如下:我有一台运行 Windows Server 2012R2 和 SQL Server 2012 的虚拟机。在我自己的机器上,我使用相同的 SQL Server 和 Windows 8.1

在 Management Studio 中执行以下查询:

INSERT INTO [DB1].[Extract].[Log]([Package], [StartTime])
VALUES ('Bla', GETDATE())

SELECT SCOPE_IDENTITY() AS 'Identity';

返回插入在我的 PC 上的行的标识,在虚拟机中返回NULL(仍然插入该行),因此无法执行 SSIS 包。

这到底是怎么回事?可能是对数据库的一些额外权限吗?

我不能错过说“它适用于我的机器!” :)

4

2 回答 2

2

SCOPE_IDENTITY()如果插入的表没有IDENTITY列,则将返回 null - 因此,值得在它不工作的机器上仔细检查您的架构,以确保实际上存在一IDENTITY列。

于 2013-11-11T14:50:46.863 回答
0

您是否在服务器之间恢复了数据库,或者只是通过查询或 SSIS 包将数据复制到一台服务器上的新表中?

于 2013-11-11T15:00:43.550 回答