Как контролировать SQL Server Рост базы данных с использованием TSQL и Excel

Поделись сейчас:

Мониторинг роста базы данных является ключевым фактором при планировании ресурсов сервера. Используйте этот скрипт и создайте простой для понимания отчет о росте базы данных

Зачем вам нужно отслеживать рост базы данных

Если вы являетесь администратором базы данных SQL и у вас нет «SQL Server планирование емкости базы данных» в вашем списке основных задач, то вы можете быть уверены, что базы данных на вашем сервере довольно скоро заполнят ваше дисковое пространство. Отслеживание размера и роста баз данных SQL является одной из основных задач планирования емкости. Это также гарантирует, что на диске будет достаточно места для роста ваших баз данных.

Сделай сам с помощью SQL Script и Excel

В этой статье мы будем использовать SQL и Excel для захвата размера баз данных SQL вместе с шаблоном. Это позволит нам спланировать неизбежные потребности в пространстве, а также поможет нам понять временную шкалу, в течение которой существует большой объем.

Этот процесс разделен на четыре разных этапа, чтобы вы могли без проблем выполнить его.

Шаг 1: Выполните этот сценарий в новом окне запроса.

На выходе будут имена баз данных в виде заголовков строк и Месяц в качестве заголовков столбцов. Значения, показанные в выходных данных, представляют собой размер базы данных в ГБ.

объявить @v_count как целое, @do_count как целое, @v_month как varchar(20),@sql как varchar(5000) создать таблицу [t_databases] ( Database_Name varchar(200), январь с плавающей запятой(3), февраль с плавающей запятой(3), Мартовский плавающий(3), апрельский плавающий(3), майский плавающий(3), июньский плавающий(3), июльской плавающий(3), августовский плавающий(3), сентябрьский плавающий(3), октябрьский плавающий(3), ноябрьский плавающий (3), декабрь float(3), ) создать таблицу t_databases_gateway ( Database_Name varchar(200), Database_Size float(3)) установить @v_count = (выбрать COUNT(*) из t_databases ), если @v_count = 0 начать вставлять в t_databases( Database_Name) выберите имя из sysdatabases end if @v_count <> 0 begin -- этот сценарий фиксирует размер всех баз данных. Вы можете добавить предложение where для захвата размера конкретного имени базы данных. 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') – изменить год на 2017 или другой год по вашему требованию обрезать таблицу master.dbo.t_databases_gateway вставить в master.dbo.t_databases_gateway выбрать отдельный (msdb.dbo.backupset.[database_name]),max(msdb.dbo.backupset.[Backup_Size]/1073741824) из msdb.dbo.backupset внутреннее соединение master.dbo.t_databases на msdb.dbo.backupset.[database_name] = master.dbo.t_databases.[Database_Name], где datepart(m,msdb.dbo.backupset.[backup_finish_date]) = @do_count и datepart(yyyy,msdb.dbo.backupset.[backup_finish_date] ) = группа 2015 по msdb.dbo.backupset.[database_name] set @sql = 'update master.dbo.t_databases set ' + @v_month + ' = (выберите Database_Size from master.dbo.t_databases_gateway, где 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: Теперь выберите первые две строки на листе и вставьте двухмерную линейную диаграмму.

Это создаст диаграмму тенденций для выбранной базы данных. На диаграмме ось X будет обозначать месяцы, а ось Y — размер базы данных в ГБ.Выберите первые две строки на листе и вставьте двухмерную линейную диаграмму

Шаг 4: Выберите все данные, перетащив символ «плюс», чтобы охватить их.

Это покажет тенденцию всех баз данных на графике.Выберите все данные

Показать тренд всех баз данных на графике

Если вы пропустите шаг 3 и вставите двухмерную линейную диаграмму, выбрав всю таблицу, вы все равно получите диаграмму, но ось X будет обозначать имена баз данных вместо месяца. Это не обязательный результат.Пропустите шаг 3 и вставьте двухмерную линейную диаграмму, выбрав всю таблицу

Таблица вывода может иметь некоторые значения NULL. Это происходит потому, что в истории резервного копирования базы данных может не быть записей для базы данных за этот конкретный месяц. Это также означает, что сценарий обращается к размеру резервной копии в таблице истории резервного копирования, чтобы отслеживать тенденцию роста. Если какая-либо из ваших баз данных не включена в план резервного копирования, выходная таблица по-прежнему будет содержать имя базы данных, но значения для всех месяцев будут NULL.

Исправить слишком большую базу данных

Если вы не следовали вышеуказанной стратегии в прошлом, и размер вашей базы данных слишком велик, это может вызвать различные проблемы. В таком случае лучше найти SQL Server инструмент для восстановления файлов для эффективного и эффективного решения проблемы.

Об авторе:

Нил Варли — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая исправить проблему Outlook и программные продукты для восстановления Excel. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

4 ответа на «Как контролировать SQL Server Рост базы данных с использованием TSQL и Excel».

  1. Я просто не мог покинуть ваш сайт, прежде чем сказать, что мне очень нравится стандартная информация, которую человек предоставляет вашим посетителям? Будет снова регулярно, чтобы исследовать перекрестную проверку новых posts

  2. Это такой позор, я не могу заставить это работать для моей системы 2012 года.
    Я пробовал просматривать вещи - изменив параметр года на 2021.
    Я получаю ноль против всех результатов.

  3. Невероятная новость. Обычно я никогда не комментирую онлайн-журналы, но ваша статья убедительна до такой степени, что я никогда не останавливаюсь, чтобы сказать что-то об этом. Вы работаете посильно, так держать. Можете посмотреть эту статью, может поможет 🙂

Оставьте комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *