sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan reduceres størrelsen af ​​en datafil i SQL Server (T-SQL)

I SQL Server, når du bruger Transact-SQL, kræver reduktion af størrelsen af ​​en datafil en anden syntaks til at øge den. For at reducere en filstørrelse ved hjælp af T-SQL, brug DBCC SHRINKFILE kommando, og angiv navnet på datafilen sammen med den størrelse, du gerne vil reducere den til.

Nedenfor er eksempler på reduktion af filstørrelsen af ​​en datafil i SQL Server ved hjælp af T-SQL.

Grundlæggende eksempel

Her er et grundlæggende eksempel på at reducere en datafils størrelse ved hjælp af T-SQL:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2, 5);
GO

Dette er nok ret selvforklarende. Først skifter vi over til databasen, hvis datafil vi vil ændre. Vi bruger derefter DBCC SHRINKFILE for at angive hvilken datafil, og hvilken filstørrelse den skal reduceres til. Dette er i MB, så vores eksempel vil reducere det til 5 MB.

Reducer den til standardfilstørrelsen

Hvis du ikke angiver en filstørrelse, reduceres filen til standardstørrelsen. Standardstørrelsen er den størrelse, der blev angivet, da filen blev oprettet.

Eksempel:

USE Solutions;
GO

DBCC SHRINKFILE (Solutions_dat_2);
GO

Trunker datafilen

Du kan afkorte datafilen ved at bruge TRUNCATEONLY argument.

Her er et eksempel:

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

Tøm en datafil

Du kan også tømme en datafil ved at bruge EMPTYFILE argument.

Eksempel:

DBCC SHRINKFILE (Solutions2, EMPTYFILE);  
GO 

Dette migrerer alle data fra den angivne fil til andre filer i samme filgruppe. Derfor skal du sørge for, at dette ikke er den eneste fil i filgruppen (ellers får du en fejl). EmptyFile forsikrer dig også om, at ingen nye data vil blive tilføjet til filen.

Når du har tømt filen, kan du fjerne den, hvis det er det, du vil gøre. Her er et eksempel på fjernelse af den tømte fil:

ALTER DATABASE Solutions  
REMOVE FILE Solutions2;  
GO 

Og vi kan kontrollere, at det er blevet fjernet ved at køre følgende:

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


  1. Administrer MySQL med phpMyAdmin på Ubuntu 9.10 (Karmic)

  2. Sådan bruger du Sum, Avg og Count i Select Statement - SQL Server / TSQL Tutorial Del 128

  3. Spotlight Cloud-understøttelse af Azure SQL DB-meddelelse (Preview)

  4. NCHR() Funktion i Oracle