2012-09-13 16 views
15

He intentado lo siguiente con el fin de restablecer mi identidad de la semilla de una columna:Cómo restablecer la semilla de identidad en SQL Azure

DBCC CHECKIDENT ('dbo.Stuff', RESEED, 0) 

esto no funciona en SQL Azure, me preguntaba cuál sería la mejor camino a seguir haciendo esto. Suelta y recrea la tabla?

+0

Ven buscar Azure SQL SO Reseed y top tocan http://stackoverflow.com/questions/11644507/sql-azure-reset-autoincrement – Paparazzi

Respuesta

6

Como has visto, DBCC CHECKIDENT is not currently supported in Windows Azure SQL Database. La forma más completa de replantear la identidad sería crear una nueva tabla con la misma estructura y establecer la identidad en el valor de Reseed IDENTITY (reseedval, 1), cargar los registros existentes de la tabla original usando SET IDENTITY_INSERT tablename ON, luego soltar la tabla anterior, y renombrar la nueva. Restablecer permisos, restablecer restricciones, etc.

0

Recientemente me he encontrado con este problema. Lo resolví insertando y borrando elementos en la tabla hasta que alcancé el valor de inicialización deseado.

En el siguiente ejemplo, esto va a sembrar de nuevo la tabla Usuarios por lo que el próximo nuevo elemento tendrá un identificador de 3500.

BEGIN TRANSACTION 
GO 

DECLARE @max_id int 

SELECT @max_id = max([Id]) FROM users 

WHILE (@max_id < 3499) 
BEGIN 
    INSERT INTO Users (Username, Password) VALUES ('','') 
    SELECT @max_id = max([Id]) FROM Users 
    DELETE FROM Users WHERE [Id] = @max_id 
END 

COMMIT 

Espero que esto ayude.

9

Creo que la respuesta de @ haldyr probablemente fue eliminada injustamente porque es correcta.

La última versión de SQL Azure (v12) HACE compatible con DBCC CHECKIDENT (and a bunch of others), pero si su servidor de base de datos azure no es nuevo, deberá actualizar.

La actualización es fácil, diríjase a su servidor de bases de datos azure en el nuevo portal (el servidor real no el DB mismo) y haga clic en el botón grande Latest Update.

enter image description here

NOTA: Tenga en cuenta que hay un montón de advertencias a la actualización (igual que algunos más viejos, no lo soporta), por lo que vale la pena leer el artículo http://azure.microsoft.com/en-us/documentation/articles/sql-database-preview-whats-new/#V12AzureSqlDbPreviewGaTable

Cuestiones relacionadas