sql >> Database >  >> RDS >> Sqlserver

Hoe de grootte van een gegevensbestand in SQL Server (T-SQL) te verkleinen

Als u in SQL Server Transact-SQL gebruikt, heeft het verkleinen van een gegevensbestand een andere syntaxis nodig dan het vergroten ervan. Om een ​​bestandsgrootte te verkleinen met T-SQL, gebruikt u de DBCC SHRINKFILE commando, en geef de naam van het gegevensbestand op, samen met de grootte waartoe je het wilt verkleinen.

Hieronder staan ​​voorbeelden van het verkleinen van de bestandsgrootte van een gegevensbestand in SQL Server met behulp van T-SQL.

Basisvoorbeeld

Hier is een eenvoudig voorbeeld van het verkleinen van een gegevensbestand met T-SQL:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2, 5);
GO

Dit is waarschijnlijk vrij duidelijk. Eerst schakelen we over naar de database waarvan we het gegevensbestand willen wijzigen. We gebruiken dan DBCC SHRINKFILE om op te geven tot welk gegevensbestand en tot welke bestandsgrootte het moet worden teruggebracht. Dit is in MB, dus ons voorbeeld zal het verkleinen tot 5 MB.

Verklein het tot de standaard bestandsgrootte

Als u geen bestandsgrootte opgeeft, wordt het bestand verkleind tot de standaardgrootte. De standaardgrootte is de grootte die is opgegeven toen het bestand werd gemaakt.

Voorbeeld:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2);
GO

Het gegevensbestand afkappen

U kunt het gegevensbestand inkorten met de TRUNCATEONLY argument.

Hier is een voorbeeld:

USE Solutions;  
GO  
DBCC SHRINKFILE ('Solutions', TRUNCATEONLY);
GO

Een gegevensbestand leegmaken

U kunt een gegevensbestand ook leegmaken met behulp van de EMPTYFILE argument.

Voorbeeld:

DBCC SHRINKFILE (Solutions2, EMPTYFILE);  
GO 

Dit migreert alle gegevens van het opgegeven bestand naar andere bestanden in dezelfde bestandsgroep. Daarom moet je ervoor zorgen dat dit niet het enige bestand in de bestandsgroep is (anders krijg je een foutmelding). EmptyFile zorgt er ook voor dat er geen nieuwe gegevens aan het bestand worden toegevoegd.

Nadat u het bestand hebt geleegd, kunt u het verwijderen als u dat wilt. Hier is een voorbeeld van het verwijderen van het geleegde bestand:

ALTER DATABASE Solutions  
REMOVE FILE Solutions2;  
GO 

En we kunnen controleren of het is verwijderd door het volgende uit te voeren:

USE Solutions;  
GO  
SELECT file_id, name, type_desc, physical_name, size, max_size  
FROM sys.database_files ;  
GO


  1. Begin met een hoofdletter van elk woord, in bestaande tabel

  2. SQL Server Collection Inventory Script -1

  3. Waarom heb je datamodellering nodig?

  4. DB-besturing nadert zijn dood