Dit is een heel handig scriptje dat een script genereert om de ident-kolom van al je databasetabellen te resetten. Handig na het vullen en truncaten van tabellen. Dit script gebruikt een schema “ps”. Vervang het zo nodig door .dbo.

SQL
SELECT '
GO
DBCC CHECKIDENT(''ps.' + TabelNaam + ''',RESEED,0)'
FROM
-- LT: Linked Tables
(SELECT O.name AS TabelNaam
, S.name AS SchemaName
FROM sysobjects AS O
LEFT OUTER JOIN sys.schemas AS S ON O.uid = S.schema_id
WHERE O.type = 'u' AND O.uid=5
AND CHARINDEX('_',O.name)=0
--ORDER BY O.[name]
) AS LT
WHERE SchemaName = 'ps'
ORDER BY TabelNaam

Handig: exporteer de output naar tekst in plaats van grid.

result_to_text

Kopieer na het draaien van het script het resultaat naar een nieuw venster en voer het uit!

reset_ident

Veelgestelde vragen

Hoe reset ik de identity-kolom van alle tabellen in een database?

Draai het script dat voor elke tabel een DBCC CHECKIDENT-commando met RESEED,0 genereert. Kopieer de gegenereerde output naar een nieuw venster en voer die uit.

Wanneer moet ik een identity-kolom resetten?

Het script is handig nadat je tabellen hebt gevuld en getruncate. Het zet de identity seed van elke tabel terug op 0.

Met welk DBCC-commando reset ik een identity seed in SQL Server?

DBCC CHECKIDENT met de optie RESEED. Het script genereert voor elke tabel de regel DBCC CHECKIDENT('ps.TableName',RESEED,0).

Werkt het reset-ident-script voor het schema dbo?

Het script gebruikt een schema met de naam "ps". Vervang het door dbo als je dat schema nodig hebt.

Hoe maak ik het gegenereerde reset-script makkelijk te kopiëren in SSMS?

Exporteer de output naar tekst in plaats van grid. Kopieer het resultaat daarna naar een nieuw queryvenster en voer het uit.

Reacties

Je e-mailadres wordt niet getoond. Een foto komt van Gravatar, als je die hebt.