Friday, August 15, 2014

Back Up and Restore of SQL Server

ഡേറ്റാബേസിന്റെ ബാക്കപ്പ് എടുത്ത് റീസ്റ്റോർ ചെയ്യുന്നതെങ്ങനെ??

1.ബാക്കപ്പ് ::  How to Backup Database in SQL Server - Create a Full Back up of Database

DB : SQL Server 2008 R2

സ്റ്റെപ് 1 . 
ബാക്കപ്പ് എടുക്കേണ്ട ഡേറ്റാബേസിൽ റൈറ്റ്ക്ലിക്ക് ചെയ്യുമ്പോൾ കിട്ടുന്ന മെനുവിൽ നിന്ന് റ്റാസ്കിൽ നിന്ന് ബാക്കപ്പ് എന്നതിൽ ക്ലിക്ക് ചെയ്യുക. 
DataBase(right Click) - Tasks-Back Up...



സ്റ്റെപ് 2.
ബാക്കപ്പ് ഡേറ്റാബേസ് എന്ന് പേരുള്ള ഒരു വിൻഡോ ഓപ്പണായി വരുന്നു. ഈ വിൻഡോയിൽ ബാക്കപ്പ് ഡെസ്റ്റിനേഷൻ ഭാഗത്ത് ഡെസ്റ്റിനേഷൻ ഫോൾഡർ/ലൊക്കെഷൻ പറഞ്ഞു കൊടുക്കുക. മുമ്പ് എടുത്ത ഡെറ്റാബേസിന്റെ ഡെസിറ്റിനേഷൻ ലൊക്കേഷൻ അവിടെ ഡിഫോൾട്ട് ആയി കാണിച്ചിട്ടൂണ്ടാവും. അത് റിമോവ് ചെയ്ത് ആഡ് ബട്ടണിൽ ക്ലിക്ക് ചെയ്ത് പുതിയ ഡെസ്റ്റിനേഷൻ ലൊക്കെഷൻ നൽകാം. 


ഇവിടെ ശ്രദ്ധിക്കേണ്ട ഒരു കാര്യം ഉണ്ട്. ഡെസ്റ്റിനേഷൻ പാത്ത് പറഞ്ഞു കൊടുത്തതിനു ശേഷം ഫയ്ല് നെയിം(ബാക്കപ്പ് ഫയലിന് നമ്മൾ നൽകുന്ന പേര്) നൽകുമ്പോൾ അതിന്റെ എക്സ്റ്റൻഷനായി .bak എന്ന് നൽകുന്നത് നന്നായിരിക്കും . 

സ്റ്റെപ് 3.
ഡെസ്റ്റിനേഷൻ ലൊക്കേഷൻ കൊടുത്തതിനു ശേഷം ഒകെ ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക. Progress ബാർ 100% കാണിച്ചു കഴിയുമ്പോൾ ഒരു മെസേജ് ബോക്സ് പ്രത്യക്ഷപ്പെടും. നിങ്ങൾ പറഞ്ഞു കൊടുത്ത ലൊക്കേഷനിൽ ഡേറ്റാബേസിന്റെ ബാക്കപ്പ് ഉണ്ടായിരിക്കും. (4,5)



2. റിസ്റ്റോർ :: How to Restore MS SQL Server 2008 Database Backup File ?

സ്റ്റെപ് 1. ബാക്കപ്പ് ചെയ്ത ഡേറ്റാബേസ് പുതിയ ഒരു ഡെറ്റാബേസിലാക്കാണ് റിസ്റ്റോർ ചെയ്യേണ്ടതെങ്കിൽ അതിനായി ഒരു പുതിയ ഡേറ്റാബേസ് ഉണ്ടാക്കുക 


സ്റ്റെപ് 2 : ഡേറ്റാബേസിൽ റൈറ്റ്ക്ലിക്ക് ചെയ്യുമ്പോൾ കിട്ടുന്ന മെനുവിൽ നിന്ന് റ്റാസ്കിൽ നിന്ന് റിസ്റ്റോറിൽ നിന്ന് ഡേറ്റാബേസ് എന്നതിൽ ക്ലിക്ക് ചെയ്യുക.


സ്റ്റെപ് 3 : റീസ്റ്റോർ ഡേറ്റാബേസ് എന്ന ഒരു വിൻഡോ പ്രത്യക്ഷപ്പെടും. To Database എന്ന ഭാഗത്ത് നിങ്ങൾക്ക് ഏത് ഡേറ്റാബേസിലാക്കാണോ ബാക്കപ്പ് റീസ്റ്റോർ ചെയ്യേണ്ടത് ആ ഡേറ്റാബേസിന്റെ പേരായിരിക്കൂം(നിങ്ങൾ റൈറ്റ് ക്ലിക്ക് ചെയ്ത ഡേറ്റാബേസിന്റെ പേര്). Source for REstore എന്ന ഭാഗത്ത് From Database, From device എന്നിങ്ങനെ രണ്ട് റേഡിയോ ബട്ടൺ ഉണ്ടാവും. നമുക്ക് റീ സ്റ്റോർ ചെയ്യേണ്ടത് നമ്മൾ നേരത്തെ എടുത്തു വച്ചിരിക്കുന്ന ബാക്കപ്പ് ആയതുകൊണ്ട് From device എന്ന റേഡിയോ ബട്ടൺ സെലക്റ്റ് ചെയ്തതിനുശേഷം ബാക്കപ്പിന്റെ ലൊക്കെഷൻ പറഞ്ഞു കൊടുക്കണം. 

Back Up Location ല് Add ബട്ടൺ ക്ലിക്ക് ചെയ്യുമ്പോൾ Locate BackUp file എന്നൊരു വിൻഡോ ഓപ്പണായി വരും.ഡിഫോൾട്ടായി എസ്ക്യുൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള പാർട്ടീഷനിലെ പ്രോഗ്രാം ഫയലിൽ നിന്ന് MS SQL - Backup എന്ന പാത്തായിരിക്കും കാണീക്കുന്നത്. അത് മാറ്റി നമ്മുടെ ബാക്കപ്പ് ഫയൽ ഇരിക്കൂന്ന ലൊക്കെഷന്റെ പാത്ത് നൽകണം. ഒരു കാര്യം ശ്രദ്ധിക്കേണ്ടത് , ബാക്കപ്പ് ഫയലിനു പേര് നൽകിയപ്പോൾ .bak എന്ന് നൽകിയിട്ടീല്ലങ്കിൽ ബാക്കപ്പ് ഫോൾഡറിൽ ആ ഫയ്ല് കാണിക്കുകയില്ല. അപ്പോൾ Files of Type ല് BackUp Files എന്നുള്ളത് മാറ്റ്യി All Files (.*) എന്നാക്കുക. അപ്പോൾ നിങ്ങളുടെ ബാക്കപ്പ് ഫയൽ കാണാൻ കഴിയും.ഫയൽ സെലക്റ്റ് ചെയ്തതിനു ശേഷം ഒകെ ബട്ടൻ ക്ലിക്ക് ചെയ്യുക. 


സ്റ്റെപ് 4
വീണ്ടും നമ്മൾ Restore Database എന്ന വിൻഡോയിൽ തിരികെ എത്തി. അവിടെ കാണിക്കുന്ന ഡേറ്റാബേസിന്റെ ഭാഗത്ത് Restore എന്ന ചെക് ബോക്സ് സെലകറ്റ് ചെയ്തതിനുശേഷം (ടിക് ഇട്ടതിനു ശേഷം) ഒകെ ബട്ടൺ ക്ലിക്ക് ചെയ്യുക.

ഇത്രയും കൊണ്ട് ഡേറ്റാബേസ് റീസ്റ്റോർ ആകേണ്ടതാണ്, പക്ഷേ നിങ്ങളുടെ സിസ്റ്റത്തിലെ ഡേറ്റാബേസ് തന്നെയാണ് ബാക്കപ്പ് എടുത്ത് മറ്റൊരു പുതിയ ഡേറ്റാബേസിലേക്ക് റീസ്റ്റോർ ചെയ്യുന്നത് എന്നതുകൊണ്ട് താഴെയുള്ള ചിത്രത്തിലെപ്പോലെ ഒരു എറർ ഉണ്ടാകാം.

സ്റ്റെപ് 5
  നമ്മൾ ബാക്കപ്പ് എടുത്ത ഡെറ്റാബേസിന്റെ .mdf, .ldf എന്നീ ഫയലുകൾ തന്നെ പുതിയ ഡേറ്റാബേസിന്റെ .mdf, .ldf ഫയലുകളായി സെർവർ കണക്കാക്കുന്നതുകൊണ്ടാണ് ഈ എറർ ഉണ്ടാകുന്നത്. പുതിയ ഡെറ്റാബേസിന്റെ .mdf, .ldf ഫയലുകൾ സെ;അക്റ്റ് ചെയ്താൽ ഈ എറർ മാറും .Restore Database എന്ന വിൻഡോയിൽ Options എന്നൊരു ടാബ് ഉണ്ട്. അതിൽ ക്ലിക്ക് ചെയ്യുമ്പോൾ ഡെറ്റബേസിന്റെ .mdf, .ldf ഫയൽ ലൊക്കെഷൻ കാണിക്കും. അവിടെ നിന്ന് ലൊക്കെഷൻ മാറ്റി കൊടുക്കുക.     .mdf, .ldf എന്നീ ഫയലുകളുടെ ലൊക്കെഷൻ ഇങ്ങനെ മാറ്റിക്കൊടുക്കുക. (ചിത്രം നോക്കുക)


സ്റ്റെപ് 6
.mdf, .ldf ഫയലുകളുടെ ലൊക്കെഷൻ സെലക്റ്റ് ചെയ്ത് കൊടുത്തതിനു ശേഷം Restore OPtions ലെ ആദ്യത്തെ ഓപ്ഷൻ ടിക്ക് ചെയ്യുക (ഡേറ്റാബേസിൽ ഓവർ റൈറ്റ് ചെയ്യാൻ വേണ്ടിയാണ് ഇത് സെലക്റ്റ് ചെയ്യുന്നത്). ഇതിനു ശേഷം ഒക്കെ അടിക്കുക. ഡേറ്റാബേസ് റീസ്റ്റോർ ആയി എന്നുള്ള മെസേജ് ബോക്സ് പ്രത്യക്ഷപ്പെടൂം. ഇനി ഡേറ്റാബേസ് ഒന്ന് റിഫ്രഷ് ചെയ്തിട്ട് റീസ്റ്റോർ ചെയ്ത ഡേടാബേസിൽ നോക്കുക. പഴയ ഡേറ്റാബേസിലെ എല്ലാ ടേബിളും, പ്രൊസീജിയറും ഒക്കെ പുതിയ ഡേറ്റാബേസിൽ ഉണ്ടാവും.

മുന്നറിയിപ്പ് :: ഉപയോഗിച്ചുകൊണ്ടിരിക്കൂന്ന ഡേറ്റാബേസിൽ ആദ്യം പണി പഠിക്കരുത്  :)

No comments: