Domanda

Sono in procinto di convertire un database di Access in SQL Server 2005. Ho migrato con successo i dati e lo schema originale usando SSMA e ora sto per normalizzare il database, il che mi richiede di aggiungere alcuni identificatori univoci.

Alcune delle colonne che avevamo erano state precedentemente create usando un tipo di dati AutoNumber, il che va bene. Tuttavia, devo creare identificatori insignificanti ma univoci per altri dati, quindi sto usando il tipo di dati int con la proprietà Specifica identità. Sto seminando "101" per mantenere questi dati al di sopra dell'intervallo attualmente esistente per i dati che hanno già identificatori univoci, poiché alla fine risiederanno nella stessa tabella.

Il mio problema è che quando creo un nuovo int con Identity Specification con un valore seed di '101' e un incremento di '1', i numeri iniziano con '1'. Ho tentato di eseguire il reseing con:

USE dbMyDatabase
DBCC checkident(tblMyTable, reseed, 101)

inutilmente. Ogni suggerimento sarà molto apprezzato. Grazie in anticipo!

È stato utile?

Soluzione

La soluzione era creare la colonna usando manualmente una query SQL. Aggiungendolo tramite " Nuova colonna ... " L'opzione ha prodotto risultati errati ogni volta. Ora che l'ho aggiunto con

USE dbMyDatabase
ALTER TABLE tblMyTable 
ADD fldID INT IDENTITY(101,1)

funziona perfettamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top