Uniqueidentifier 与数字不兼容

Uniqueidentifier is incompatible with numeric

我正在尝试将 header 信息从 SQL BAK 文件解析为 table,但是我收到以下错误。

消息 206,级别 16,状态 2,第 1 行 操作数类型冲突:uniqueidentifier 与数字不兼容 消息 3013,级别 16,状态 1,第 1 行 RESTORE FILELIST 异常终止。

这是我写的脚本,但我不明白为什么会出现此错误。

声明@HeaderInfo2 Table

(LogicalName  nvarchar(128),
PhysicalName  nvarchar(128),
Type          nvarchar(128),
FileGroupName nvarchar(128),
Size          numeric(25,0), 
MaxSize       numeric(25,0),
FileId        int,
CreateLSN     int,
DropLSN       int,
UniqueId      uniqueidentifier ,  
ReadOnlyLSN   int,
ReadWriteLSN  int,
BackupSizeInBytes  numeric(25,0),
SourceBlockSize    numeric(25,0),
FileGroupId    int,
LogGroupGUID   numeric(25,0),
DifferentialBaseLSN numeric(25,0),
DifferentialBaseGUID numeric(25,0),
IsReadOnly int,
IsPresent  int,
TDEThumbprint int
)

INSERT INTO @HeaderInfo2 EXEC('RESTORE FILELISTONLY 来自磁盘 = N''I:\DBTemp\database.bak'' 带名词')

您的数据类型不正确。可以找到正确的数据类型 here:

Column name         Data type
LogicalName         nvarchar(128)
PhysicalName        nvarchar(260)
Type                char(1)
FileGroupName       nvarchar(128)
Size                numeric(20,0)
MaxSize             numeric(20,0)
FileID              bigint
CreateLSN           numeric(25,0)
DropLSN             numeric(25,0)NULL
UniqueID            uniqueidentifier
ReadOnlyLSN         numeric(25,0) NULL
ReadWriteLSN        numeric(25,0)NULL
BackupSizeInBytes   bigint
SourceBlockSize     int
FileGroupID         int
LogGroupGUID        uniqueidentifier NULL
DifferentialBaseLSN numeric(25,0)NULL
DifferentialBaseGUID    uniqueidentifier
IsReadOnly          bit
IsPresent           bit
TDEThumbprint       varbinary(32)