ဒါတာေဘ့(စ္) ေပးေသာ ဒုကၡမ်ား

လြန္ခဲ့ေသာ ၆ ႏွစ္ခန္႔က သီရိလကၤာမွလာေသာ ဆရာႏွင့္စာသင္ရာတြင္ အႏွီ ဒါတာေဘ့(စ္)(database) ႏွင့္ စ၍ဒုကၡေရာက္ဖူးသည္။ US အေခၚ ေဒတာေဘ့(စ္) ႏွင့္ UK အေခၚ ဒါတာေဘ့(စ္) ၾကားတြင္ ဗ်ာမ်ားဖူးသည္။ ဆရာက ဒါတာေဘ့(စ္) ဆိုတာနဲ႔ ဒါဒါ(စိုးျမတ္နႏၵာ) ကိုပဲ ေျပးေျပးျမင္လုိက္တာပါပဲ။ (မွတ္ခ်က္ - အိမ္ေထာင္မက်ေသးပါ။)

အခုလည္း အႏွီ ဒါတာေဘ့(စ္) (သို႔) ေဒတာေဘ့(စ္) က ျပႆနာ ရွာျပန္သည္။ အလုပ္မွ Database အတြင္းတြင္ records အေရအတြက္ million ႏွင့္ ခ်ီ၍ရွိေလသည္။ database ကို backup လုပ္ရာတြင္ Log file ၏ size မွာ 6 GB ရွိေလသည္။ Microsoft SQL Server Management Studio မွ database file ၏ size ကို shrink လုပ္ရာ မေအာင္ျမင္ပဲ ရွိေနေလ၏။ ေနာက္ဆံုးတြင္မွ Microsoft knowledge base မွ အေျဖရ၏။ အေျဖမွာကား

backup log [database_name] with truncate_only
dbcc SHRINKFILE([LogFileName], [Size])

example:

backup log Matrix with truncate_only
dbcc SHRINKFILE(Matrix_LogLatest, 2)

http://support.microsoft.com/kb/272318

ေနာက္ထပ္ေပးေသာျပႆနာမွာ table ၁ခုတည္းတြင္ record အေရအတြက္ million ႏွင့္ခ်ီ၍ရွိေသာေၾကာင့္
report ထုတ္ရန္ေရးရေသာ query မ်ားတြင္ အလြန္ၾကာတတ္သည္။ ထုိျပႆနာကို ရွင္းရန္မွာ -
SQL query ၏ where clause တြင္ အသံုးမ်ားေသာ column မ်ားကို index ေဆာက္ရန္ျဖစ္သည္။ ထိုသို႔ index ေဆာက္ထားပါက မိနစ္ခ်ီ၍ၾကာတတ္ေသာ query မ်ားမွာ စကၠန္႔ႏွင့္ပင္ျပီးႏိုင္သည္။ ထိုသို႔ေသာ နမူနာမ်ားကို SQL Server Tuning e-book မ်ားႏွင့္ SQL Server related web site မ်ားမွရရွိႏိုင္ပါသည္။

ဒါတာေဘ့(စ္) မွ ေပးေသာ ျပႆနာမ်ားကင္းေ၀းၾကပါေစ။


အထက္ပါ database ၏ log ကို ခ်ံဳ႕ေသာ dbcc command သည္ SQL Server 2005 အထိသာ အသံုးျပဳႏိုင္ပါသည္။
SQL Server 2008 တြင္ ေအာက္ပါအတုိင္း ျပဳလုပ္ႏိုင္ပါသည္။

USE SampleDB;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE SampleDB
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (2, 1); -- here 2 is the file ID for trasaction log file,you can also mention the log file name (dbname_log)
GO
-- Reset the database recovery model.
ALTER DATABASE SampleDB
SET RECOVERY FULL;
GO

Comments

  1. ေက်းဇူးရွင္ေလး သိေသာ တတ္ေသာ ပညာရပ္မ်ားကို မ်ားမ်ားမွ်ေ၀ႏိုင္ပါေစဗ်ာ

    ReplyDelete

Post a Comment