Η παρακολούθηση της ανάπτυξης της βάσης δεδομένων είναι ένας βασικός παράγοντας για τον προγραμματισμό των πόρων ενός διακομιστή. Χρησιμοποιήστε αυτό το σενάριο και δημιουργήστε μια κατανοητή αναφορά ανάπτυξης βάσης δεδομένων
Γιατί πρέπει να παρακολουθείτε την ανάπτυξη της βάσης δεδομένων
Εάν είστε διαχειριστής βάσης δεδομένων 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.
Βήμα 3: Τώρα επιλέξτε τις δύο πρώτες σειρές στο φύλλο και εισάγετε ένα γράφημα γραμμής 2D.
Αυτό θα δημιουργήσει το διάγραμμα τάσεων για την επιλεγμένη βάση δεδομένων. Στο γράφημα, ο άξονας X θα δηλώνει μήνες και ο άξονας Υ θα δηλώνει το μέγεθος της βάσης δεδομένων σε GB.
Βήμα 4: Επιλέξτε ολόκληρα τα δεδομένα σύροντας το σύμβολο «συν» για να τα τυλίξετε.
Αυτό θα δείξει την τάση όλων των βάσεων δεδομένων στο γράφημα.
Εάν παραλείψετε το Βήμα 3 και εισαγάγετε ένα γράφημα γραμμής 2D επιλέγοντας ολόκληρο τον πίνακα, θα πάρετε ακόμα ένα γράφημα, αλλά ο άξονας X θα δηλώνει ονόματα βάσεων δεδομένων αντί για Μήνα, Αυτό δεν είναι το απαιτούμενο αποτέλεσμα.
Ο πίνακας εξόδου ενδέχεται να έχει ορισμένες τιμές NULL. Αυτό συμβαίνει επειδή το ιστορικό δημιουργίας αντιγράφων ασφαλείας της βάσης δεδομένων ενδέχεται να μην έχει καμία εγγραφή για τη βάση δεδομένων για τον συγκεκριμένο μήνα. Αυτό συνεπάγεται επίσης ότι το σενάριο αναφέρεται στο μέγεθος αντιγράφου ασφαλείας στον πίνακα ιστορικού αντιγράφων ασφαλείας για την παρακολούθηση της τάσης ανάπτυξης. Εάν κάποια από τις βάσεις δεδομένων σας δεν περιλαμβάνεται στο σχέδιο δημιουργίας αντιγράφων ασφαλείας, ο πίνακας εξόδου θα διατηρήσει το όνομα της βάσης δεδομένων, αλλά οι τιμές για όλους τους μήνες θα είναι NULL
Διορθώστε τη μεγάλη βάση δεδομένων
Αν δεν ακολουθήσατε την παραπάνω στρατηγική στο παρελθόν και η βάση δεδομένων σας είναι υπερβολική, τότε μπορεί να προκαλέσει διάφορα προβλήματα. Σε μια τέτοια περίπτωση, καλύτερα να βρείτε ένα SQL Server εργαλείο ανάκτησης αρχείων να λύσει το πρόβλημα αποτελεσματικά και αποδοτικά.
Εισαγωγή συγγραφέα:
Ο Neil Varley είναι ειδικός στην ανάκτηση δεδομένων στο DataNumen, Inc., η οποία είναι ο παγκόσμιος ηγέτης στις τεχνολογίες ανάκτησης δεδομένων, συμπεριλαμβανομένων επιδιορθώστε το πρόβλημα του Outlook και υπερέχουν προϊόντα λογισμικού ανάκτησης. Για περισσότερες πληροφορίες επισκεφθείτε www.datanumen.com





