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.
SELECT 'GODBCC CHECKIDENT(''ps.' + TabelNaam + ''',RESEED,0)'
FROM-- LT: Linked Tables(SELECT O.name AS TabelNaam, S.name AS SchemaNameFROM sysobjects AS OLEFT OUTER JOIN sys.schemas AS S ON O.uid = S.schema_idWHERE O.type = 'u' AND O.uid=5AND CHARINDEX('_',O.name)=0--ORDER BY O.[name]) AS LTWHERE SchemaName = 'ps'ORDER BY TabelNaamHandig: exporteer de output naar tekst in plaats van grid.
Kopieer na het draaien van het script het resultaat naar een nieuw venster en voer het uit!
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
Gerelateerde blogs
Script om het aantal rijen in alle tabellen te tellen
DateDiff berekenen met alleen weekdagen of werkdagen
Weken tussen twee datums berekenen met DateDiff