1. Leeg het logboek DUMP TRANSACTIEBIBLIOTHEEKNAAM MET NO_LOG 2. Kort het transactielogboek af: De naam van de BACKUP LOG-database is MET NO_LOG 3. Verklein databasebestanden (Als je ze niet comprimeert, krimpen de databasebestanden niet.) Enterprise Manager - Klik met de rechtermuisknop op de database die je wilt comprimeren - Alle taken - Database verkleinen - Bestand verkleinen --Selecteer logbestand--Selecteer verkleinen tot XXM in de verkleinmethode, hier geeft je een minimaal M-getal dat verkleind kan worden, voer dit getal direct in, en je kunt bevestigen --Selecteer databestand--Selecteer verkleinen tot XXM in de krimpmethode, hier krijg je een minimaal M-getal dat verkleind kan worden, voer dit getal direct in en je kunt bevestigen Het kan ook met SQL-statements worden gedaan --Verklein de database DBCC SHRINKDATABASE (Klantprofiel) --Verklein het opgegeven databestand, 1 is het bestandsnummer, dat met deze instructie kan worden opvraagd: selecteer * uit sysfiles DBCC SHRINKFILE(1) 4. Om de minificatie van logbestanden te maximaliseren (in het geval van SQL 7.0 kan deze stap alleen worden uitgevoerd in de query-analyzer) a. Databases scheiden: Enterprise Manager - Server - Database - Rechtsklik - Database loskoppelen b. Het LOG-bestand op mijn computer verwijderen c. Aanvullende databases: Enterprise Manager - Server - Database - Rechtsklik - Database toevoegen Deze methode genereert een nieuwe LOG, die slechts meer dan 500K groot is Of gebruik code: Het volgende voorbeeld maakt de pubs los en voegt vervolgens een bestand van de pubs toe aan de huidige server. a. Scheiding E X E C sp_detach_db @dbname = 'publicaties' b. Verwijder logbestanden c. Aanvullende toevoegingen E X E C sp_attach_single_file_db @dbname = 'publicaties', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf' 5. Om in de toekomst automatisch te krimpen, voer je de volgende instellingen uit: Enterprise Manager - Server - Rechtsklik op database - Eigenschappen - Opties - Selecteer "Auto verkleinen" --SQL-instructie-instelling: E X E C sp_dboption 'databasenaam', 'autoshrink', 'TRUE' 6. Als je wilt voorkomen dat het in de toekomst te veel groeit Enterprise Manager - Server - Rechtsklik Database - Eigenschappen - Transactielogboek --beperk bestandsgroei tot xM (x is de maximale databestandsgrootte die je toestaat) --SQL-instructie-instelling: Database database naam wijzigen wijzigen bestand(naam=logische bestandsnaam,maxsize=20) Speciale opmerking: Volg alsjeblieft de stappen, doe de volgende stappen niet zonder de vorige stappen Anders kan het je database beschadigen. Het wordt over het algemeen niet aanbevolen om stap 4 en 6 te volgen Stap 4 is niet veilig en kan de database beschadigen of gegevens verliezen Stap 6 Als het logboek de bovengrens bereikt, zal de databaseverwerking in de toekomst falen en kan alleen worden hersteld nadat het log is opgeschoond.
Daarnaast biedt het een eenvoudigere methode, ik heb het vaak geprobeerd en raad je aan het te gebruiken. Makkelijkere manier: 1。 Rechts: Het venster Database-eigenschappen - Failback Model - is ingesteld op Eenvoudig 2。 Bouw alle taken van de database rechts op - verklein de database 3。 Rechts: Bouw het database-eigenschappenvenster - Failback-model - ingesteld op Large Volume Logging |