Ratkaistu: palvelin reseed yhden taulukon

Viimeisin päivitys: 09/13/2023
Kirjoittaja: SQL SourceTrail

Palvelimen reseed yksittäinen taulukko on keskeinen näkökohta SQL-ohjelmoinnissa. Joskus voi olla tarpeen nollata SQL Server -taulukon identiteettiarvot. Tämä voi tapahtua testausmenettelyn vuoksi tai jopa joidenkin tietueiden poistamisen jälkeen. Tämän tehtävän ei kuitenkaan pitäisi olla pelottava. SQL Serverin DBCC CHECKIDENT -komennolla prosessi on melko suoraviivainen. Tämä komento on vastuussa määritetyn taulukon nykyisen identiteettiarvon tarkistamisesta SQL Serverissä, ja se voi myös auttaa identiteettiarvon lähettämisessä uudelleen.

Ymmärtääksesi, kuinka tämä komento toimii, on syytä tarkastella lähemmin DBCC TARKISTUS. DBCC CHECKIDENT -hallintakomentoa käytetään identiteettilaskurin nollaamiseen SQL Serverissä. Tarkemmin sanottuna sitä käytetään, kun olet vastannut taulukon identiteettisaraketta.

DBCC CHECKIDENT (‘databasename.dbo.tablename’)

Yllä oleva SQL-kysely näyttää annetun taulukon nykyisen identiteettiarvon. Jos vastausviestissä lukee "Tarkistaa identiteettitietoja", se tarkoittaa, että nykyinen identiteettiarvo on kunnossa.

Jos kuitenkin halutaan muuttaa nykyistä identiteettiarvoa, hänen on käytettävä komennon reseed -vaihtoehtoa.

DBCC CHECKIDENT Reseedin kanssa

Reseed-vaihtoehto palvelee nykyisen identiteetin vaihtamista uuteen arvoon. On tärkeää huomata, että seuraava lisätty identiteettiarvo on juuri uudelleen vastattu arvo plus lisäysarvo.

DBCC CHECKIDENT (‘databasename.dbo.tablename’, RESEED, new_reseed_value)

Yllä oleva komento muuttaa identiteetiksi new_reseed_value. Tämän komennon suorittamisen jälkeen seuraava lisäys taulukkoon ottaa arvon new_reseed_value plus identiteetin lisäys.

Uudelleenkylvö tiettyyn arvoon

Jos esimerkiksi halutaan siementää uudelleen arvoon 20, käytä seuraavaa komentoa.

DBCC CHECKIDENT (‘databasename.dbo.tablename’, RESEED, 20)

Tämän komennon suorittamisen jälkeen seuraava lisätty identiteettiarvo on 21, koska identiteetin lisäys on 1.

Varoitus uudelleenkylvössä

Vaikka uudelleenkylvö on hyödyllinen toiminto, on tärkeää noudattaa varovaisuutta tehdessäsi sitä. Uudelleenvastaus voi johtaa SQL Server -virheisiin, jos sitä yritetään luoda taulukossa jo oleva identiteettiarvo. Tämä voidaan välttää varmistamalla, että uusi arvo on suurempi kuin mikä tahansa taulukossa oleva arvo.

Tietokantojen ja taulukoiden välisen suhteen ymmärtäminen ja mikä tärkeintä, niitä käsittelevien eri komentojen hallitseminen on olennainen osa SQL Server -kehittäjänä olemista. Kyky sietää uudelleen yhden pöydän identiteetti ei vain ratkaise olennaisia ​​haasteita, vaan myös avaa oven suurempaan komentojoustavuuteen ja hallintaan. Tämän seurauksena kehittäjät voivat luoda tehokkaampia ja monimutkaisempia tietokantoja.

Nyt kun ymmärrämme enemmän DBCC CHECKIDENT -komennosta ja sen alikomennoista, SQL Server -tietokantataulukoiden käsittelystä ja käsittelystä tulee helpommin hallittavissa. Lisäksi nämä komennot eivät ole vain hyödyllisiä hallinnollisesti, vaan myös hyödyllisiä optimoitaessa tietojen tallennusta, mikä luo virtaviivaisempia ohjelmistoja.

Related viestiä: