ms sql server 2005 การ Backup และ Restore database Schedule

00:27 เขียนโดย QA Optimization - Performance and Stability

บทความนี้ สำหรับ ผู้ที่ ใช้ Ms sql server 2000 หรือ 2005 ที่ต้องการ Backup database ทุกวัน หรือ ต้องการ Restore Database ทุกวัน แล้วขี้เกียจทำนะครับ (อย่างผมเอง)

ขั้นแรก ก่อนอื่น เราต้อง เปิดใช้งาน service SqlserverAgent ก่อนนะครับ เพราะเราจะใช้ job schedule ทำงาน โดยการตั้งเวลา
เมื่อเปิด service sqlserveragent เรียบร้อยแล้ว ใช้ Script ดังนี้
สำหรับการ Backup Schedule

declare @CurDD VARCHAR(15)
declare @Path nvarchar(200)
select @CurDD = CONVERT(VARCHAR, GETDATE(), 112)

if @CurDD is not NULL
begin
set @Path=‘D:\MSSQL\MSSQL\backup\’+@CurDD
BACKUP DATABASE [ชื่อดาต้าเบส]
TO DISK = @Path WITH NOFORMAT, NOINIT,
NAME = N’ชื่อดาต้าเบส-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD,
STATS = 10

end

เมื่อใส่ script ที่ job schedule แล้ว ที่ผม hilight สีแดงเอาไว้ เปลี่ยน path ที่เก็บไฟล์ Backup ว่าจะให้วางไว้ที่ไหนนะครับ โดยชื่อไฟล์ จะเป็น วันที่ yyyyMMdd ตาม select @CurDD = CONVERT(VARCHAR, GETDATE(), 112) นะครับ
(เรื่องการจัด format datetime ใน sqlserver)

ทีนี้เราก็สามารถ กำหนดเวลาได้แล้วนะครับว่าจะให้ ทำงาน backup ดาต้าเบส ตอนกี่โมง สบายเลยทีเดียว
===========================================
สำหรับการตั้ง Restore Database Schedule
declare @CurDD VARCHAR(15)
declare @Path nvarchar(200)
select @CurDD = CONVERT(VARCHAR, GETDATE(), 112)

if @CurDD is not NULL
begin
set @Path=‘D:\MSSQL\MSSQL\backup\’+@CurDD
RESTORE DATABASE [ชื่อดาต้าเบส]
FROM DISK = @Path
WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10
end

เราก็ใช้ คำสั่ง restore Database ชื่อดาต้าเบส นะครับ ก็ ที่ hilight สีแดงไว้ ก้อเปลี่ยน ซะด้วยนะครับ ว่า path ของไฟลื backup ที่จะเอามา restore นั้น อยู่ตรงไหน

0 ความคิดเห็น:

แสดงความคิดเห็น