mikä on varoitus: tietokanta <db-nimi> on epäilty? Olet luultavasti nähnyt tietokantoja merkitty epäilty SSMS ja et tiedä, mitä se edustaa. Lue alta artikkeli saadaksesi lisätietoja tästä!
mikä on varoitus: tietokanta db-nimi on epäilty?
joskus voimme joutua kriittiseen tilanteeseen, koska SQL Server-tietokantamme menee epäilyttävään tilaan. Siinä vaiheessa tietokantaa ei voi enää käyttää, eikä työtä voi tehdä.
suurin syy tietokannan siirtymiseen epäilyttävään tilaan on se, että ensisijainen tiedostoryhmä on vaurioitunut eikä tietokantaa voida palauttaa SQL Serverin käynnistyksen aikana.
myös tietokanta voi päästä epäiltyyn tilaan useista muista syistä, joita voivat olla:
- järjestelmävirhe, joka voi johtua tietokantapalvelimen epäasianmukaisesta sulkemisesta
- vaurioitunut lokitiedosto tai MDF-tiedosto
- jos levyllä ei ole enää tilaa
- SQL Server ei pysty suorittamaan eteenpäin-tai taaksepäin-operaatiota
- FAT32-tiedostojärjestelmien tilarajoitukset ja muut syyt
jotta korjata tietokannan ja toipua tästä tilasta, sinun täytyy tehdä seuraavat vaiheet:
- aloitamme muuttamalla tilan tietokannan suorittamalla sp_resetstatus tallennettu menettely
EXEC sp_resetstatuksen TestDB'
- Aseta tietokanta ”hätä” – tilaan
muuta tietokantaa TestDB aseta hätä;
- Tarkista tietokannasta mahdolliset epäjohdonmukaisuudet
DBCC checkdb, jäljempänä'TestDB';
- jos kohtaat virheitä DBCC-vaiheen aikana, laita tietokanta välittömästi yhden käyttäjän tilaan alla olevan kyselyn avulla.:
ALTER DATABASE TestDB SET SINGLE_USER with ROLLBACK IMMEDIATE;
- myös tässä vaiheessa turvallisuussyistä suosittelemme, että teet varmuuskopion tietokannasta
- , kun olet tehnyt varmuuskopion tietokannasta, sinun tulisi jatkaa seuraavan kyselyn suorittamista. Mutta muista, että kun käytät seuraavaa kyselyä, kanssa REPAIR_ALLOW_DATA_LOSS parametri, suoritat yksisuuntainen toiminta, joka korjaa tietokannan, mutta kaikki toimet, jotka tehdään tämän prosessin aikana ei voida rullata takaisin. Ei ole ratkaisua saada takaisin edelliseen tilaan tietokannan, minkä vuoksi suosittelemme, että teet varmuuskopion ehdotimme edellisessä vaiheessa
DBCC CheckDB ("TestDB", REPAIR_ALLOW_DATA_LOSS);
- viimeinen kysely, joka sinun pitäisi suorittaa, on asettaa tietokanta usean käyttäjän tilaan
muuta tietokantaa TestDB asettaa MULTI_USER;
- viimeinen vaihe on päivittää tietokantapalvelimen ja tarkistaa, että yhteys tietokantaan toimii. Tämän jälkeen käyttäjillä pitäisi olla mahdollisuus muodostaa yhteys tietokantaan. Jos on mitään tietojen häviämisen voit palauttaa tietokannan, jonka aiemmin varmuuskopioitu