SCOPE_IDENTITY()
返回NULL
情况如下:我有一台运行带有SQL Server 2012的Windows Server 2012R2的虚拟机。在我自己的机器上,我使用相同的SQL Server和Windows 8.1
在Management Studio中执行以下查询:
INSERT INTO [DB1].[Extract].[Log]([Package], [StartTime])
VALUES ('Bla', GETDATE())
SELECT SCOPE_IDENTITY() AS 'Identity';
返回在我的PC上插入的行的标识 BUT 在虚拟机中返回NULL
(仍然插入行),因此SSIS包无法执行。
到底是怎么回事?它可能是对数据库的一些额外权限吗?
我不能错过“它适用于我的机器!” :)
答案 0 :(得分:2)
SCOPE_IDENTITY()
列, IDENTITY
将返回null - 因此值得在计算机上仔细检查您的架构,以确保它没有实际上是一个IDENTITY
列。
答案 1 :(得分:0)
您是在服务器之间还原数据库还是仅通过查询或SSIS包将数据复制到一台服务器上的新表中?