databasewachstumsmonitor

Ich habe eine database namens ABCD von 100 GB Größe, die zu 100% voll in den nächsten 6 Monaten gehen wird. Ich muss den Endbenutzern mitteilen, dass die database in den nächsten 6 Monaten vollständig wächst und einen Auftrag für zusätzliche Lagerung erteilt.

In diesem Szenario wurde der DBCC-Befehl verwendet, um das databasewachstum zu überprüfen und den Wachstumsverlauf des databases zu parsing? In vor 6 Monaten?

Sie können die Größe der einzelnen databasedateien (Protokoll und datadateien) mithilfe der Systemkatalogansicht sys.database_files überwachen

Unten ist ein Beispiel, das eine Tabelle erstellt und dann die Ergebnisse dieser Informationen für jede database speichert. Sie können dann die data ausgeben, um Excel zu sagen, um das Wachstum über den aufgezeichneten timeraum zu verfolgen. Sie könnten sogar Ihre Wachstumsrate prognostizieren.

 IF OBJECT_ID('DatabaseFiles') IS NULL BEGIN CREATE TABLE DatabaseFiles ( ID int identity(1,1) not null primary key, CreatedDate datetime not null default getDate(), DatabaseID int not null, DatabaseName varchar(50) not null, FileID int not null, FileName varchar(50) not null, SizeInMB numeric(12,6), FilePath varchar(150) not null, FileType varchar(10) not null ) END --Get the current database file size information for each database on the server EXECUTE sp_msforeachdb 'INSERT INTO DatabaseFiles(DatabaseID,DatabaseName,FileID,FileName,SizeInMB,FilePath,FileType) SELECT DB_ID(''?''), DB_NAME(DB_ID(''?'')), file_id, name, CAST(((SIZE * 8.00)/1024.00) AS DECIMAL(18,2)) AS SizeInMB, physical_name, type_desc FROM [?].sys.database_files ' 

sys.allocation_units :

 select sum(total_pages)*8192 as size_used_in_bytes from ABCD.sys.allocation_units; 

Überwachen Sie diese Abfrage. Es wird die gesamte Größe (zugeteilt) in der database berichten.