Acabei de descobrir que a palavra-chave DML ROWGUIDCOL
está obsoleta, a substituição é $rowguid
; e essa palavra-chave DML IDENTITYCOL
está obsoleta, o novo nome é $identity
.
Não entendo por que um DML não variável (sem símbolo de cifrão) pode ser substituído pelo que é essencialmente um alias, que, se eu o entendo, às vezes será avaliado de volta ROWGUIDCOL
e às vezes para outra coisa? Alguém pode explicar o que está acontecendo aqui? O que significa essa depreciação?
Na amostra AdventureWorks, por exemplo, não acho que isso signifique que devo fazer isso:
CREATE TABLE [Sales].[Customer]
(
[CustomerID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
...
[rowguid] [uniqueidentifier] $rowguid NOT NULL,
...
);
GO
O acima não funciona, obviamente. Então, o que está dizendo é obsoleto? Claramente não é a palavra-chave ROWGUIDCOL
acima?
Eu pensei que quando algo está obsoleto, uma nova sintaxe já deve existir e isso me daria tempo para fazer a transição para um formulário que não será interrompido no "SQL 2017+".
Origem:
Recursos obsoletos do mecanismo de banco de dados no SQL Server 2016