title: Changing Identity Seed in SQL Server (Permanently!)
body: <p>Is there any way of changing the identity seed for an identity column permanently? Using DBCC CHECKIDENT just seems to set the last_value. If the table is truncated all values are reset.</p>
  
  <pre><code>dbcc checkident ('__Test_SeedIdent', reseed, 1000)
  
  select name, seed_value, increment_value, last_value
  from sys.identity_columns
  where [object_id] = OBJECT_ID('__Test_SeedIdent');
  </code></pre>
  
  <p>returns</p>
  
  <pre><code>name      seed_value  increment_value  last_value
  -------------------------------------------------
  idIdent   1           1                1000
  </code></pre>
  
  <p>I was hoping that some syntax like</p>
  
  <pre><code>alter table dbo.__Test_SeedIdent alter column idIdent [int] identity(1000,1) NOT NULL
  </code></pre>
  
  <p>would exist.</p>
  
  <p>Is it necessary to create a new column, move the values across, drop the original column and rename the new?</p>