将任意 GUID 插入 [uniqueidentifier] 列是否需要“SET IDENTITY_INSERT”?

Jon*_*ica 2 sql-server uniqueidentifier identity sql-server-2016 sql-server-2017

SQL Server 2016 和 2017 标准版

我需要将原始数据(来自另一个表)插入有两uniqueidentifier列的表中。

这是否需要我使用SET IDENTITY_INSERT Carrier ON

这是表:

SET ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON

CREATE TABLE [dbo].[Parkingspace](
    [ParkingspaceId] [uniqueidentifier] NOT NULL,
    [AccountId] [uniqueidentifier] NULL,
    [ParkingspaceType] [smallint] NULL,
 CONSTRAINT [PK_ParkingspaceId] PRIMARY KEY CLUSTERED 
(
    [ParkingspaceId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

如果没有IDENTITY_INSERT选项,以下内容是否有效?(我认为应该,但这里的 DBA 非常喜欢这个IDENTITY_INSERT选项。)

INSERT INTO Parkingspace 
  (ParkingspaceID,AcountID,ParkingspaceType)
  SELECT * FROM PRODDBCopy.Parkingspace
Run Code Online (Sandbox Code Playgroud)

Pau*_*ite 8

IDENTITY_INSERT仅用于具有IDENTITY属性的列。

UNIQUEIDENTIFIER 只是一种数据类型。

您的插入语句将起作用。