მონაცემთა ბაზის ზრდის მონიტორინგი საკვანძო ფაქტორია სერვერის რესურსის დაგეგმვისას. გამოიყენეთ ეს სკრიპტი და შექმენით ადვილად გასაგები მონაცემთა ბაზის ზრდის ანგარიში
რატომ გჭირდებათ მონაცემთა ბაზის ზრდის მონიტორინგი
თუ თქვენ ხართ 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 Axis აღნიშნავს თვეებს და Y Axis მიუთითებს მონაცემთა ბაზის ზომას გბ-ში.
ნაბიჯი 4: აირჩიეთ მთლიანი მონაცემი „პლუს“ სიმბოლოს გადათრევით მის მოსახვევად.
ეს აჩვენებს გრაფიკის ყველა მონაცემთა ბაზის ტენდენციას.
თუ გამოტოვებთ მე-3 საფეხურს და ჩასვამთ 2D ხაზოვან დიაგრამას მთელი ცხრილის არჩევით, მაინც მიიღებთ დიაგრამას, მაგრამ X ღერძი მიუთითებს მონაცემთა ბაზის სახელებს თვის ნაცვლად, ეს არ არის საჭირო გამომავალი.
გამომავალი ცხრილი შეიძლება ჰქონდეს NULL მნიშვნელობები. ეს იმიტომ ხდება, რომ მონაცემთა ბაზის სარეზერვო ისტორიას შეიძლება არ ჰქონდეს რაიმე ჩანაწერი მონაცემთა ბაზისთვის ამ კონკრეტული თვისთვის. ეს ასევე გულისხმობს, რომ სკრიპტი ეხება სარეზერვო ასლის ზომას სარეზერვო ისტორიის ცხრილში, რათა თვალყური ადევნოთ ზრდის ტენდენციას. თუ რომელიმე თქვენი მონაცემთა ბაზა არ შედის სარეზერვო გეგმაში, გამომავალი ცხრილი კვლავ შეინახავს მონაცემთა ბაზის სახელს, მაგრამ ყველა თვის მნიშვნელობები იქნება NULL.
დიდი ზომის მონაცემთა ბაზის შესწორება
თუ წარსულში არ მიჰყვებით ზემოთ მოცემულ სტრატეგიას და თქვენი მონაცემთა ბაზა დიდი ზომისაა, მაშინ ამან შეიძლება გამოიწვიოს სხვადასხვა პრობლემები. ასეთ შემთხვევაში ჯობია იპოვო ა SQL Server ფაილის აღდგენის ინსტრუმენტი პრობლემის ეფექტურად და ეფექტურად გადაჭრაზე.
ავტორი შესავალი:
ნილ ვარლი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის Outlook-ის პრობლემის შეკეთება და Excel-ის აღდგენის პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად





