Πώς να παρακολουθείτε SQL Server Ανάπτυξη βάσης δεδομένων χρησιμοποιώντας TSQL και Excel

Κοινή χρήση τώρα:

Η παρακολούθηση της ανάπτυξης της βάσης δεδομένων είναι ένας βασικός παράγοντας για τον προγραμματισμό των πόρων ενός διακομιστή. Χρησιμοποιήστε αυτό το σενάριο και δημιουργήστε μια κατανοητή αναφορά ανάπτυξης βάσης δεδομένων

Γιατί πρέπει να παρακολουθείτε την ανάπτυξη της βάσης δεδομένων

Εάν είστε διαχειριστής βάσης δεδομένων SQL και εάν δεν έχετε "SQL Server προγραμματισμός χωρητικότητας βάσης δεδομένων »στη βασική λίστα εργασιών σας, τότε μπορείτε να είστε σίγουροι ότι οι βάσεις δεδομένων στον διακομιστή σας θα γεμίσουν το χώρο του δίσκου σας σύντομα. Η παρακολούθηση του μεγέθους και της ανάπτυξης των βάσεων δεδομένων SQL είναι ένα από τα κύρια καθήκοντα του σχεδιασμού χωρητικότητας. Αυτό διασφαλίζει επίσης ότι υπάρχει αρκετός χώρος στο δίσκο για να αναπτυχθούν οι βάσεις δεδομένων σας.

DIY μέσω SQL Script και Excel

Σε αυτό το άρθρο, θα χρησιμοποιήσουμε το SQL και το Excel για να καταγράψουμε το μέγεθος των βάσεων δεδομένων SQL μαζί με το μοτίβο. Αυτό θα μας επιτρέψει να σχεδιάσουμε για άμεσες απαιτήσεις χώρου και επίσης να μας βοηθήσουν να κατανοήσουμε το χρονοδιάγραμμα κατά το οποίο υπάρχει μεγάλος όγκος.

Αυτή η διαδικασία υποδιαιρείται σε τέσσερα διαφορετικά βήματα, ώστε να μπορείτε να ακολουθήσετε χωρίς κανένα πρόβλημα.

Βήμα 1: Εκτελέστε αυτό το σενάριο σε ένα νέο παράθυρο ερωτήματος.

Η έξοδος θα έχει ονόματα βάσης δεδομένων ως κεφαλίδες σειράς και Μήνας ως κεφαλίδες στήλης. Οι τιμές που εμφανίζονται στην έξοδο είναι μέγεθος βάσης δεδομένων σε GB.

declare @v_count as integer, @do_count as integer, @v_month as varchar(20),@sql as varchar(5000)

create table [t_databases]
(
Database_Name varchar(200),
January       float(3),
February      float(3),
March  float(3),
April  float(3),
May    float(3),
June   float(3),
July   float(3),
August float(3),
September     float(3),
October       float(3),
November      float(3),
December      float(3),
)
create table t_databases_gateway
(
Database_Name varchar(200),
Database_Size float(3)
)
set @v_count = (select COUNT(*) from t_databases ) 
if @v_count = 0 
begin
insert into t_databases(Database_Name)
select name from sysdatabases 
 end
if @v_count <> 0 
 begin 
--this script captures the size of all databases. You can add a where clause to capture the size of specific database name 
 INSERT t_databases (Database_Name) 
 SELECT DISTINCT Name FROM sysdatabases cr LEFT JOIN t_databases c ON cr.Name = c.Database_Name WHERE c.Database_Name IS NULL 
 end 
 --select * from master.dbo.t_databases 
 --drop table t_databases 
 set @do_count = 1 
 while (@do_count <=12) 
 begin 
 set @v_month = DATENAME(m, str(@do_count) + '/1/2016') –change the year to 2017 or other year as per your requirement 
 truncate table master.dbo.t_databases_gateway 
 insert into master.dbo.t_databases_gateway select distinct
(msdb.dbo.backupset.[database_name]),max(msdb.dbo.backupset.[Backup_Size]/1073741824)
from msdb.dbo.backupset inner join master.dbo.t_databases on msdb.dbo.backupset.[database_name] = master.dbo.t_databases.[Database_Name] where
datepart(m,msdb.dbo.backupset.[backup_finish_date]) =  @do_count and datepart(yyyy,msdb.dbo.backupset.[backup_finish_date] ) = 2015 group by msdb.dbo.backupset.[database_name]
set @sql = 'update master.dbo.t_databases set ' + @v_month + ' = (select Database_Size from master.dbo.t_databases_gateway where master.dbo.t_databases.Database_Name = master.dbo.t_databases_gateway.Database_Name)'
exec (@sql)
set @do_count = @do_count + 1
end
select * from t_databases
drop table t_databases_gateway
drop table t_databases

Έξοδος:Μέγεθος βάσης δεδομένων εξόδου

Βήμα 2: Δημιουργήστε μια νέα παρουσία του Excel και αντιγράψτε την έξοδο από το προηγούμενο βήμα στο νέο σας φύλλο Excel.

Αντιγράψτε την έξοδο στο φύλλο Excel

Βήμα 3: Τώρα επιλέξτε τις δύο πρώτες σειρές στο φύλλο και εισάγετε ένα γράφημα γραμμής 2D.

Αυτό θα δημιουργήσει το διάγραμμα τάσεων για την επιλεγμένη βάση δεδομένων. Στο γράφημα, ο άξονας X θα δηλώνει μήνες και ο άξονας Υ θα δηλώνει το μέγεθος της βάσης δεδομένων σε GB.Επιλέξτε τις πρώτες δύο σειρές στο φύλλο και εισαγάγετε ένα γράφημα γραμμών 2D

Βήμα 4: Επιλέξτε ολόκληρα τα δεδομένα σύροντας το σύμβολο «συν» για να τα τυλίξετε.

Αυτό θα δείξει την τάση όλων των βάσεων δεδομένων στο γράφημα.Επιλέξτε Ολόκληρα τα δεδομένα

Εμφάνιση της τάσης όλων των βάσεων δεδομένων στο γράφημα

Εάν παραλείψετε το Βήμα 3 και εισαγάγετε ένα γράφημα γραμμής 2D επιλέγοντας ολόκληρο τον πίνακα, θα πάρετε ακόμα ένα γράφημα, αλλά ο άξονας X θα δηλώνει ονόματα βάσεων δεδομένων αντί για Μήνα, Αυτό δεν είναι το απαιτούμενο αποτέλεσμα.Παράλειψη Βήμα 3 και Εισαγωγή γραφήματος γραμμής 2D Επιλέγοντας τον Ολόκληρο πίνακα

Ο πίνακας εξόδου ενδέχεται να έχει ορισμένες τιμές NULL. Αυτό συμβαίνει επειδή το ιστορικό δημιουργίας αντιγράφων ασφαλείας της βάσης δεδομένων ενδέχεται να μην έχει καμία εγγραφή για τη βάση δεδομένων για τον συγκεκριμένο μήνα. Αυτό συνεπάγεται επίσης ότι το σενάριο αναφέρεται στο μέγεθος αντιγράφου ασφαλείας στον πίνακα ιστορικού αντιγράφων ασφαλείας για την παρακολούθηση της τάσης ανάπτυξης. Εάν κάποια από τις βάσεις δεδομένων σας δεν περιλαμβάνεται στο σχέδιο δημιουργίας αντιγράφων ασφαλείας, ο πίνακας εξόδου θα διατηρήσει το όνομα της βάσης δεδομένων, αλλά οι τιμές για όλους τους μήνες θα είναι NULL

Διορθώστε τη μεγάλη βάση δεδομένων

Αν δεν ακολουθήσατε την παραπάνω στρατηγική στο παρελθόν και η βάση δεδομένων σας είναι υπερβολική, τότε μπορεί να προκαλέσει διάφορα προβλήματα. Σε μια τέτοια περίπτωση, καλύτερα να βρείτε ένα SQL Server εργαλείο ανάκτησης αρχείων να λύσει το πρόβλημα αποτελεσματικά και αποδοτικά.

Εισαγωγή συγγραφέα:

Ο Neil Varley είναι ειδικός στην ανάκτηση δεδομένων στο DataNumen, Inc., η οποία είναι ο παγκόσμιος ηγέτης στις τεχνολογίες ανάκτησης δεδομένων, συμπεριλαμβανομένων επιδιορθώστε το πρόβλημα του Outlook και υπερέχουν προϊόντα λογισμικού ανάκτησης. Για περισσότερες πληροφορίες επισκεφθείτε www.datanumen.com

Κοινή χρήση τώρα:

Τα σχόλια είναι κλειστά.