title: When to use NEWID or NEWSEQUENTIALID and why
body: <p>I am trying to understand the practical real-life usage of <code>NewId</code> and '<code>NewSequentialId</code>, I usually use the <code>Identity</code> property when creating new table like this:</p>
  
  <pre><code>CREATE TABLE MYTABLE
  (
      [ID]    INT             PRIMARY KEY IDENTITY,
      [NAME]  NVARCHAR(MAX)   NOT NULL
  );
  GO
  </code></pre>
  
  <p>Is the above code not the best practice, If so should I replace it with this:</p>
  
  <pre><code>CREATE TABLE MYTABLE
  (
      [ID]    UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
      [NAME]  VARCHAR(MAX)    NOT NULL
  );
  GO
  </code></pre>
  
  <p>Or with this:</p>
  
  <pre><code>CREATE TABLE MYTABLE
  (
      [ID]    UNIQUEIDENTIFIER ROWGUIDCOL PRIMARY KEY DEFAULT NEWSEQUENTIALID(),
      [NAME]  nVARCHAR(MAX)   NOT NULL
  );
  GO
  </code></pre>
  
  <p><strong>Question: Is NewId or NEWSEQUENTIALID a replacement for Identity, if not when to use each one?</strong></p>
  
  <p>I am not trying to use the <code>NewId</code> or <code>NewSequentialId</code> as <code>Primary Key</code>, the code above is for demonstration purpose only, and maybe this code is better like this:</p>
  
  <pre><code>CREATE TABLE MYTABLE
  (
      [ID]        INT                 NOT NULL PRIMARY KEY,
      [ROWGUID]   UNIQUEIDENTIFIER    ROWGUIDCOL DEFAULT NEWSEQUENTIALID(),
      [NAME]      nVARCHAR(MAX)       NOT NULL
  );
  GO
  </code></pre>