Моніторинг зростання бази даних є ключовим фактором планування ресурсу сервера. Скористайтеся цим сценарієм і створіть легкий для розуміння звіт про зростання бази даних
Чому потрібно стежити за зростанням баз даних
Якщо ви адміністратор бази даних SQL і якщо у вас немаєSQL Server планування ємності бази даних »у вашому списку ключових завдань, тоді ви можете бути впевнені, що бази даних на вашому сервері досить скоро заповнять ваш простір на диску. Відстеження розміру та зростання баз даних SQL є одним із основних завдань планування потужності. Це також гарантує, що на диску достатньо місця для зростання баз даних.
Зроби сам за допомогою SQL Script та Excel
У цій статті ми будемо використовувати SQL та Excel для фіксації розміру баз даних SQL разом із шаблоном. Це дозволить нам спланувати найближчі космічні вимоги, а також допоможе нам зрозуміти часову шкалу, протягом якої є великий обсяг.
Цей процес підрозділяється на чотири різні етапи, щоб ви могли виконувати його без жодних проблем.
Крок 1: Виконайте цей сценарій у новому вікні запиту.
Вихідні дані матимуть назви баз даних як заголовки рядків, а місяць - як заголовки стовпців. Значення, що відображаються у вихідних даних, - це розмір бази даних у ГБ.
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 позначатиме місяці, а вісь Y - розмір бази даних у ГБ.
Крок 4: Виберіть усі дані, перетягнувши символ «плюс», щоб обгорнути їх.
Це покаже тенденцію всіх баз даних на графіку.
Якщо пропустити крок 3 і вставити двовимірну лінійну діаграму, вибравши всю таблицю, ви все одно отримаєте діаграму, але вісь X буде позначати імена бази даних замість місяця, це не є необхідним результатом.
Вихідна таблиця може мати деякі значення NULL. Це трапляється тому, що історія резервного копіювання бази даних може не мати жодного запису для бази даних за той конкретний місяць. Це також означає, що сценарій посилається на розмір резервної копії в таблиці історії резервних копій для відстеження тенденції зростання. Якщо будь-яка з ваших баз даних не включена в план резервного копіювання, у таблиці виводу все ще буде вказано ім'я бази даних, але значення для всіх місяців будуть НУЛЬНИМИ
Виправте велику базу даних
Якщо ви раніше не дотримувались вищезазначеної стратегії, а ваша база даних є великою, це може спричинити різні проблеми. У такому випадку вам краще знайти SQL Server інструмент відновлення файлів ефективно і ефективно вирішити проблему.
Вступ автора:
Ніл Варлі - фахівець з відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновити проблему Outlook - - та програмні продукти Excel для відновлення. Для отримання додаткової інформації відвідайте WWW.datanumen.com





