Sample Header Ad - 728x90

SQL Server 2016 deprecation of DML keyword ROWGUIDCOL

2 votes
2 answers
735 views
I just found out that the DML keyword ROWGUIDCOL is deprecated, replacement is $rowguid; and that DML IDENTITYCOL keyword is deprecated, new name is $identity. I don't understand why a non-variable (no dollar sign symbol) DML can be replaced with what is essentially an alias, which if I understand it, will sometimes evaluate back to ROWGUIDCOL and sometimes to something else?. Can anyone explain what is going on here? What does this deprecation mean? In AdventureWorks sample, for example, I don't think it means I should do this: CREATE TABLE [Sales].[Customer] ( [CustomerID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, ... [rowguid] [uniqueidentifier] $rowguid NOT NULL, ... ); GO The above doesn't work obviously. So what is it saying is deprecated? Clearly not the keyword ROWGUIDCOL above? I thought when something is deprecated that a new syntax must already exist and this would give me time to transition to a form that won't break in "SQL 2017+". Origin: Deprecated Database Engine Features in SQL Server 2016
Asked by Warren P (1087 rep)
Apr 5, 2016, 04:55 PM
Last activity: Apr 5, 2016, 05:34 PM