Cách giám sát SQL Server Tăng trưởng cơ sở dữ liệu bằng TSQL và Excel

Chia sẻ ngay bây giờ:

Theo dõi sự phát triển của cơ sở dữ liệu là một yếu tố quan trọng trong việc lập kế hoạch tài nguyên của máy chủ. Sử dụng tập lệnh này và tạo báo cáo tăng trưởng cơ sở dữ liệu dễ hiểu

Tại sao bạn cần theo dõi sự phát triển của cơ sở dữ liệu

Nếu bạn là quản trị viên Cơ sở dữ liệu SQL và nếu bạn không có “SQL Server lập kế hoạch dung lượng cơ sở dữ liệu” trong danh sách nhiệm vụ chính của bạn, thì bạn có thể chắc chắn rằng cơ sở dữ liệu trên máy chủ của bạn sẽ sớm lấp đầy dung lượng đĩa của bạn. Theo dõi kích thước và sự phát triển của cơ sở dữ liệu SQL là một trong những nhiệm vụ chính của Lập kế hoạch năng lực. Điều này cũng đảm bảo rằng có đủ dung lượng trên đĩa để cơ sở dữ liệu của bạn phát triển.

Tự làm qua SQL Script và Excel

Trong bài viết này, chúng tôi sẽ sử dụng SQL và Excel để nắm bắt kích thước của cơ sở dữ liệu SQL cùng với mẫu. Điều này sẽ cho phép chúng tôi lập kế hoạch cho các yêu cầu về không gian Sắp xảy ra và cũng giúp chúng tôi hiểu dòng thời gian trong đó có khối lượng lớn.

Quá trình này được chia nhỏ thành bốn bước khác nhau để bạn có thể làm theo mà không gặp bất kỳ sự cố nào.

Bước 1: Thực thi tập lệnh này trên cửa sổ truy vấn mới.

Đầu ra sẽ có tên cơ sở dữ liệu làm tiêu đề hàng và Tháng làm tiêu đề Cột. Các giá trị hiển thị trong đầu ra là kích thước cơ sở dữ liệu tính bằng 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

Đầu ra:Kích thước cơ sở dữ liệu đầu ra

Bước 2: Tạo một phiên bản Excel mới và sao chép Kết quả từ bước trước vào trang tính Excel mới của bạn.

Sao chép đầu ra vào trang tính Excel

Bước 3: Bây giờ, chọn hai hàng đầu tiên trên trang tính và chèn biểu đồ đường 2D.

Thao tác này sẽ tạo biểu đồ xu hướng cho cơ sở dữ liệu đã chọn. Trong Biểu đồ, Trục X sẽ biểu thị tháng và Trục Y sẽ biểu thị kích thước cơ sở dữ liệu tính bằng GB.Chọn hai hàng đầu tiên trên trang tính và chèn biểu đồ đường 2D

Bước 4: Chọn toàn bộ dữ liệu bằng cách kéo biểu tượng 'dấu cộng' để bao lấy dữ liệu đó.

Điều này sẽ hiển thị xu hướng của tất cả các cơ sở dữ liệu trên biểu đồ.Chọn toàn bộ dữ liệu

Hiển thị xu hướng của tất cả cơ sở dữ liệu trên biểu đồ

Nếu bạn bỏ qua Bước 3 và chèn biểu đồ đường 2D bằng cách chọn toàn bộ bảng, bạn sẽ vẫn nhận được biểu đồ nhưng trục X sẽ biểu thị tên Cơ sở dữ liệu thay vì Tháng,Đây không phải là đầu ra bắt buộc.Bỏ qua bước 3 và chèn biểu đồ đường 2D bằng cách chọn toàn bộ bảng

Bảng đầu ra có thể có một số giá trị NULL. Điều này xảy ra vì lịch sử sao lưu cơ sở dữ liệu có thể không có bất kỳ bản ghi nào cho cơ sở dữ liệu trong tháng cụ thể đó. Nó cũng ngụ ý rằng tập lệnh đề cập đến kích thước sao lưu trong bảng lịch sử sao lưu để theo dõi xu hướng tăng trưởng. Nếu bất kỳ cơ sở dữ liệu nào của bạn không được bao gồm trong gói sao lưu, bảng Đầu ra sẽ vẫn giữ tên cơ sở dữ liệu nhưng các giá trị cho tất cả các tháng sẽ là NULL

Sửa cơ sở dữ liệu quá khổ

Nếu trước đây bạn không tuân theo chiến lược trên và cơ sở dữ liệu của bạn quá khổ, thì nó có thể gây ra nhiều vấn đề khác nhau. Trong trường hợp như vậy, bạn nên tìm một SQL Server công cụ phục hồi tập tin để giải quyết vấn đề một cách hiệu quả và hiệu quả.

Giới thiệu tác giả:

Neil Varley là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm sửa lỗi Outlook và các sản phẩm phần mềm phục hồi excel. Để biết thêm thông tin, hãy truy cập www.datanumennăm

Chia sẻ ngay bây giờ:

Được đóng lại.