Thaiadmin

[กรณีศึกษา] สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ i-pond

  • *****
  • 87
  • 0
  • เพศ: ชาย
- เวลาที่เราจะ Backup ต้อง Back พวก Nortwind , pub , master , model , msdb ด้วยหรือเปล่า หรือ Backup เฉพาะก้อนที่เราสร้างขึ้นเท่านั้น
- Database Maintenance Plans คือการ Backup ใช่หรือเปล่าครับ
- ระหว่างทำ Schedule ผมทำตามกระทู้ที่สอน โดยทำใน Database Maintenance Plans แต่ admin คนเก่าไม่ได้ทำในนี้แต่ไปทำใน log แทน
มันต่างกันหรือเปล่าครับ
- และเราต้อง Backup log ด้วยหรือไม่ครับ

มีโครงการว่าจะลง windows ใหม่เนื่องจากตัวเก่าเหลือเนื้อที่ 600 mb จึงขอศึกษาเรื่อง Backup ไว้ก่อน เรียนผู้รู้ช่วยชี้แจงทีครับ
ขอบคุณครับ
admin มือใหม่เพิ่งจับ database
« แก้ไขครั้งสุดท้าย: 22 สิงหาคม 2006, 09:04:36 โดย วีบี พ่อลูกอ่อน »
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ SamaKitty VB

  • Global Develop Leader
  • *****
  • 2,949
  • 177
  • เพศ: ชาย
  • ไม่ใช่คนเก่ง ไม่ใช่คนดี ไม่ใช่คนพิเศษ ไม่ใช่..!!
    • Thaiadmin.org Power by : VBNeverdie.com
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #1 เมื่อ: 17 มิถุนายน 2006, 15:48:10 »
- เวลาที่เราจะ Backup ต้อง Back พวก Nortwind , pub , master , model , msdb ด้วยหรือเปล่า หรือ Backup เฉพาะก้อนที่เราสร้างขึ้นเท่านั้น

ควรสำรอง เฉพาะ master , model , msdb� เผื่อกรณีระบบมีปัญหา จะได้ Restore กลับมาใช้ได้]

- Database Maintenance Plans คือการ Backup ใช่หรือเปล่าครับ

การ Backup เป็นส่วนหนึ่งของ Database Maintenance ครับ ประกอบไปด้วย
� � การกระชับ ข้อมูล Update Data Optimization Information
� � การตรวจสอบความสมบูรณ์ Check Database Integrity
� � การสำรองข้อมูล Database Backup Plan
� � การสำรองการเคลี่อนไหวเปลี่ยนแปลง Transaction Log Backup Plan

ซึ่งหลังจากจัดการ Plan เสร็จแล้ว จะกลายไปเป็นส่วนหนึ่งของ SQL Server Agent ครับ ในส่วนของ Jobs


- ระหว่างทำ Schedule ผมทำตามกระทู้ที่สอน โดยทำใน Database Maintenance Plans แต่ admin คนเก่าไม่ได้ทำในนี้แต่ไปทำใน log แทน
มันต่างกันหรือเปล่าครับ
- และเราต้อง Backup log ด้วยหรือไม่ครับ

ทำตามวิธีผมป่าวหว่า... http://www.thaiadmin.org/board/index.php?topic=16494� น่ะ ตามนี้ป่าวว
ถ้าใช่ คุณต้องอ่านเพื่อเป็นแนวทาง เท่านั้นครับ ส่วนการทำงานจริงๆ ต้องพิจารณาความเหมาะสมอีกหลายๆ ด้าน เช่น
ความถี่ ในการสำรองข้อมูล และ วิธีการที่จะจัดเก็บข้อมูลที่สำรองไว้ ครับ

การ Backup Database ต่างจากการ Backup Transaction Log ตรงที่
� � การ Backup Database จะเป็นการสำรองข้อมูล ทั้งหมด หลังจากที่ระบบได้ทำการ Commit Transaction จนถึง ณ เวลาที่ดำเนินการแล้ว� จะได้เป็น ไฟล์ *.BAK
� � การ Backup Transaction Log� เป็นการสำรองคำสั่งการทำงาน คือ คำสั่งใดๆ ที่มีผลต่อการเปลี่ยนแปลงของ ฐานข้อมูล จะได้เป็น ไฟล์ *.TRN

ถามว่า จำเป็นมั้ย� ตอบว่า จำเป็นครับ เพราะ จะทำให้เราสามารถ เก็บการเปลี่ยนแปลง ของฐานข้อมูล ได้ตลอดเวลา เพื่อความปลอดภัยของข้อมูล และนำมาใช้งานได้ ในภายหลัง

ตัวอย่าง ลำดับของการทำการ Backup Database และ Transaction Log

FULL Database Backup� � � Sunday� � 00.01 pm.
Clear Transaction LOG� �หลังจากนั้น
Transaction Backup� � � � � � �EveryDay� 23.00 pm.
Clear Transaction LOG� �หลังจากนั้น


คือ ทำการสำรองข้อมูล ทุกๆ วันอาทิตย์ ตอน เที่ยงคืน หนึ่ง นาที� (ของคืนวันเสาร์)
และ หลังจาก สำรองเสร็จ ก็สั่ง Clear Transaction ทิ้ง เพื่อ ลดพื้นที่
และ สำรอง Transaction Log ทุกๆ วัน ตอน ห้าทุ่ม เพื่อเก็บ การเปลี่ยนแปลง จากการทำงาน ในแต่ละวัน
และ หลังจาก สำรองเสร็จ ก็สั่ง Clear Transaction ทิ้ง เพื่อ ลดพื้นที่


หาก ข้อมูลเกิดมีปัญหา หรือต้องการนำไปใช้งานอื่นๆ เช่น ทำข้อมูลไว้ทดสอบระบบ
ก็สามารถ Restore FULL Backup ล่าสุดที่มี� �แล้วตามด้วย Transaction หลังจากนั้น จนถึง วันปัจจุบัน ได้ครับ

หากมีพื้นที่ในการจัดเก็บไฟล์ *.BAK อย่างเหลือเฟือ ก็สามารถ ทำ FULL Backup ได้ทุกๆวันครับ
โดยที่ ทำ Backup Transaction ทุกๆ ชั่วโมง (ถี่ขึ้นมาหน่อย) เพื่อความปลอดภัยของข้อมูลครับ


มีโครงการว่าจะลง windows ใหม่เนื่องจากตัวเก่าเหลือเนื้อที่ 600 mb จึงขอศึกษาเรื่อง Backup ไว้ก่อน เรียนผู้รู้ช่วยชี้แจงทีครับ

หากเป็นไปได้ แนะนำให้ ใช้การ COPY Folder ที่เก็บตัว Database ออกไว้ก่อน จะดีกว่า โดยดูที่ นามสกุลของไฟล์
*.MDF   Master Database File
*.NDF   Secondary Database File
*.LDF    Transaction Log File

หรือ ดูจาก




และ



เพื่อดูว่า Database แต่ละก้อน เก็บอยู่ที่ Folder ไหน  ดูให้หมดทุกตัว แล้ว Stop SQL Service เพื่อทำการ COPY DATABASE ออกไปไว้ที่อื่น
ควรจะสำรวจระบบเก่าไว้ด้วยนะครับ ว่า มีการปรับแต่ง อะไรไว้บ้าง  และเปิด Service ที่ MODE ไหน
หลังจาก ติดตั้งระบบปฏิบัติการแล้ว และลง SQL + SP3 หรือ 4 แล้ว และปรับแต่งอื่นๆ แล้ว
จึงค่อย COPY Database กลับคืนที่ แล้ว Attach Database เข้าสู่ระบบ
และสร้าง User SQL พร้อมกับ กำหนด Security ต่างๆ
ทดสอบระบบ แล้วจึงเปิดให้เครื่องลูกข่ายทั้งหมด ทำงานตามปกติ ครับ

 :) 8) ::)

« แก้ไขครั้งสุดท้าย: 17 มิถุนายน 2006, 16:02:05 โดย วีบี พ่อลูกอ่อน »
Hi... Welcome to Thaiadmin.org
Power by VBNeverDie.Com

SMF Mod & Template Modify, Hosting, Chat Room, Joomla Web, Flash Header, Images Decorate

ขออภัย ถ้าไม่ตอบ PM ครับ : กรุณา ถามตอบในบอร์ด

ออฟไลน์ i-pond

  • *****
  • 87
  • 0
  • เพศ: ชาย
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #2 เมื่อ: 18 มิถุนายน 2006, 00:39:19 »
ควรสำรอง เฉพาะ master , model , msdb� เผื่อกรณีระบบมีปัญหา จะได้ Restore กลับมาใช้ได้]

ใน Server ผมมี DB 2 ก้อนก้อนนึง มี master แต่อีกก้อนไม่มีมันแตกต่างกันหรือเปล่าครับ ( เราต้อง Backup ทั้งหมดในส่วนของ db ถูกหรือไม่ครับ


เพื่อดูว่า Database แต่ละก้อน เก็บอยู่ที่ Folder ไหน� ดูให้หมดทุกตัว แล้ว Stop SQL Service เพื่อทำการ COPY DATABASE ออกไปไว้ที่อื่น
ควรจะสำรวจระบบเก่าไว้ด้วยนะครับ ว่า มีการปรับแต่ง อะไรไว้บ้าง� และเปิด Service ที่ MODE ไหน
หลังจาก ติดตั้งระบบปฏิบัติการแล้ว และลง SQL + SP3 หรือ 4 แล้ว และปรับแต่งอื่นๆ แล้ว
จึงค่อย COPY Database กลับคืนที่ แล้ว Attach Database เข้าสู่ระบบ
และสร้าง User SQL พร้อมกับ กำหนด Security ต่างๆ
ทดสอบระบบ แล้วจึงเปิดให้เครื่องลูกข่ายทั้งหมด ทำงานตามปกติ ครับ

 :) 8) ::)

เราสามารถ export user ออกมาได้หรือไม่ครับ หรือว่าแค่เรา backup ใน db ก็มี user ตามมาด้วยหรือเปล่าครับ

ขอบคุณมากครับคุณ วีบี พ่อลูกอ่อน ช่วยให้ผมกระจ่างขึ้นมากเลยครับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ insanity

  • *****
  • 1,793
  • 77
  • เพศ: ชาย
  • Life would be much easier if I had the source code
    • http://jullapol.blogspot.com
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #3 เมื่อ: 18 มิถุนายน 2006, 15:26:04 »
ผมมีความเห็นที่แตกต่างเล็กน้อย สำหรับเรื่องการ Clear log น่ะครับ  ขอแชร์นิดนึงละกันครับ   8)

คือ ถ้ามีการ backup log แล้ว ผมคิดว่าไม่ต้องทำการ truncate log ก็ได้  เนื่องจากว่า การ backup log จะทำให้ sql server สามารถ reuse พื้นที่ของไฟล์ log ที่ได้ทำการ backup ไปแล้วได้   

และถ้าบังเอิญระหว่างที่ backup log กับ truncate (clear log) ดันมี transaction ระหว่างนั้น เจ้า log ของ transaction นั้น ก็จะสาบสูญไปเลยนะ  เช่น
-  backup log  ตอน 23.00  แล้ว
-  truncate ตอน 23.01     --> log ของ transaction ตอน 23.00-23.01 จะถูกเคลียร์หายไป  เป็นผลให้ log ที่ backup เอาไว้ อาจจะไม่สามารถเอามา restore ต่อ ๆ กันได้

และการลดขนาดของไฟล์ log  ที่มีขนาดใหญ่ ควรใช้การวางแผน backup log เป็นระยะ ๆ แทน   ไม่ควรใช้การ truncate ทิ้งไปเลย  ไม่อย่างนั้น เวลา database fail ขึ้นมา จะไม่มี log เอาไว้ใช้ในการ recover ได้



สำหรับ Database maintenance plan
============================

ควรจะแยก  job หริอ maintenance plan ของพวก system database (พวก master, model, msdb)  ออกจาก user database ที่คุณสร้างเอง  เพราะว่า
1.  พวก system database พวกนี้ไม่ได้ update บ่อยนัก   backup บ่อย ๆ ไปก็เท่านั้น
2.  system database ( ตัว master  มั๊ง) ไม่สามารถ backup log ได้  (คงเป็นเพราะมันไม่มี log มั๊ง... จำไม่ได้แล้วหละ ประมาณนี้แหละ )   ดังนั้น ถ้าคุณเอาไปไว้รวมไว้ใน job หรือ plan  ที่มีการ backup log จะทำให้เกิด error ได้


(คำตอบของผมมีความเสี่ยง ผู้อ่านควรศึกษารายละเอียดให้ดีก่อนตัดสินใจเชื่อ  ::))


ออฟไลน์ SamaKitty VB

  • Global Develop Leader
  • *****
  • 2,949
  • 177
  • เพศ: ชาย
  • ไม่ใช่คนเก่ง ไม่ใช่คนดี ไม่ใช่คนพิเศษ ไม่ใช่..!!
    • Thaiadmin.org Power by : VBNeverdie.com
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #4 เมื่อ: 19 มิถุนายน 2006, 11:29:32 »
ผมมีความเห็นที่แตกต่างเล็กน้อย สำหรับเรื่องการ Clear log น่ะครับ� ขอแชร์นิดนึงละกันครับ� �8)

ยินดีครับ ยินดี ผมก็ไม่ได้เก่งซักแค่ไหนหรอก ก็อาศัยทำบ่อยๆ แล้วเปรียบเทียบข้อดีข้อเสียของการทำในแต่ละอย่างอ่ะครับ :)

สำหรับ Database maintenance plan
============================
ควรจะแยก� job หริอ maintenance plan ของพวก system database (พวก master, model, msdb)� ออกจาก user database ที่คุณสร้างเอง� เพราะว่า
1.� พวก system database พวกนี้ไม่ได้ update บ่อยนัก� �backup บ่อย ๆ ไปก็เท่านั้น
2.� system database ( ตัว master� มั๊ง) ไม่สามารถ backup log ได้� (คงเป็นเพราะมันไม่มี log มั๊ง... จำไม่ได้แล้วหละ ประมาณนี้แหละ )� �ดังนั้น ถ้าคุณเอาไปไว้รวมไว้ใน job หรือ plan� ที่มีการ backup log จะทำให้เกิด error ได้
(คำตอบของผมมีความเสี่ยง ผู้อ่านควรศึกษารายละเอียดให้ดีก่อนตัดสินใจเชื่อ� ::))

ที่บอกมา น่ะ� ใช่เลยครับ� ;D� ควรแยก JOB ออกมาต่างหาก และก็ system database� (ตัว master ) จะไม่ยอมให้ Backup Transaction Log ครับ

ผมมีความเห็นที่แตกต่างเล็กน้อย สำหรับเรื่องการ Clear log น่ะครับ� ขอแชร์นิดนึงละกันครับ�� 8)

คือ ถ้ามีการ backup log แล้ว ผมคิดว่าไม่ต้องทำการ truncate log ก็ได้� เนื่องจากว่า การ backup log จะทำให้ sql server สามารถ reuse พื้นที่ของไฟล์ log ที่ได้ทำการ backup ไปแล้วได้� �

และถ้าบังเอิญระหว่างที่ backup log กับ truncate (clear log) ดันมี transaction ระหว่างนั้น เจ้า log ของ transaction นั้น ก็จะสาบสูญไปเลยนะ� เช่น
-� backup log� ตอน 23.00� แล้ว
-� truncate ตอน 23.01� �� --> log ของ transaction ตอน 23.00-23.01 จะถูกเคลียร์หายไป� เป็นผลให้ log ที่ backup เอาไว้ อาจจะไม่สามารถเอามา restore ต่อ ๆ กันได้

และการลดขนาดของไฟล์ log� ที่มีขนาดใหญ่ ควรใช้การวางแผน backup log เป็นระยะ ๆ แทน�� ไม่ควรใช้การ truncate ทิ้งไปเลย� ไม่อย่างนั้น เวลา database fail ขึ้นมา จะไม่มี log เอาไว้ใช้ในการ recover ได้

การ Turecate Log หรือ Clear LOG ควรทำตอนที่ไม่มีคนทำงานครับ
หาก ไม่ทำการ Clear LOG หลังจากการ Backup ก็สามารถทำได้ครับ แต่ LOG จะโตขึ้นเรื่อยๆ เพราะจะเป็นการสะสม Transaction Log จากเริ่มต้น ที่มี� จนถึงปัจจุบันที่มันเก็บเลยทีเดียว
และการ Restore Transaction Log จากการทำแบบนี้ ก็ ใช้ Backup Transaction Log ตัวล่าสุด ที่มีตัวเดียว เพราะ จะมีข้อมูล Transaction Log ของก่อนหน้านี้ อยู่ด้วย เนื่องจากเราไม่ได้เคลียร์ทิ้งครับ

คำถามคือ� เมื่อไหร่ เราจะทำการเคลียร์ Transaction Log ที่มีขนาดมหึมา นี้ลง
::) :P
« แก้ไขครั้งสุดท้าย: 19 มิถุนายน 2006, 14:10:26 โดย วีบี พ่อลูกอ่อน »
Hi... Welcome to Thaiadmin.org
Power by VBNeverDie.Com

SMF Mod & Template Modify, Hosting, Chat Room, Joomla Web, Flash Header, Images Decorate

ขออภัย ถ้าไม่ตอบ PM ครับ : กรุณา ถามตอบในบอร์ด

ออฟไลน์ insanity

  • *****
  • 1,793
  • 77
  • เพศ: ชาย
  • Life would be much easier if I had the source code
    • http://jullapol.blogspot.com
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #5 เมื่อ: 19 มิถุนายน 2006, 21:58:55 »

คำถามคือ� เมื่อไหร่ เราจะทำการเคลียร์ Transaction Log ที่มีขนาดมหึมา นี้ลง ::) :P

คำตอบ ก็คือ ไม่ต้อง truncate log หรือ clear log ครับ� � �:P� � �(� อ้าวไหงอยู่ดี ๆ ตอบแบบนี้ )

เพียงแค่เรา backup log อย่างสม่ำเสมอ� log มันจะไม่โตไปกว่า ขนาดของ log ที่จำเป็นต้องใช้ระหว่างช่วงที่เรายังไม่ได้ backup log� �และมันจะไม่เกิดการสะสมนะ� ( backup log นะครับ ไม่ใช่ backup database )

เช่น ถ้าเรา backup log ทุก ๆ� 6 ชม.� �ถ้าเราทำแบบนี้ได้ ขนาดของ log ไฟล์ ก็จะไม่ใหญ่เกินกว่าจำนวน transaction ที่เกิดขึ้นในช่วง 6 ชม.

เพราะว่า หลังจากมีการ backup log เกิดขึ้น sql server จะทำการ truncate ส่วนของ log� ที่ไม่ได้ ซึ่งก็คือ transaction ที่ complete ไปเรียบร้อยทั้งหมดแล้ว ( อธิบาย : ผมคิดว่ามันคือ log พวกที่ commit แล้วก็ write ลง disk เรียบร้อยแล้ว ซึ่ง log พวกนี้จะไม่ถูกใช้ใน recovery process ) ดังนั้น ในไฟล์ log จะเหลือแต่ transaction ที่ยังไม่ complete เท่านั้น

หลังจากนั้น sql server ก็จะ reuse พื้นที่ disk ส่วนที่ ได้มาจากการ truncate log อัตโนมัตินี้ ในการบันทึก log ต่อไป เพื่อไม่ให้ ไฟล์ log ใหญ่ และกินพื้นที่มากขึ้นเรื่อย ๆ

ดังนั้น ถ้า log ไฟล์ โตเร็ว� �ก็ให้ backup log ให้ถี่ขึ้น� (� ไม่ใช่ให้ truncate log ให้ถี่ขึ้นนะ )

อ้างอิงจาก Book online น่ะครับ

"When SQL Server finishes backing up the transaction log, it automatically truncates the inactive portion of the transaction log. This inactive portion contains completed transactions and so is no longer used during the recovery process. Conversely, the active portion of the transaction log contains transactions that are still running and have not yet completed. SQL Server reuses this truncated, inactive space in the transaction log instead of allowing the transaction log to continue to grow and use more space. "

และจาก book online ยังมีต่ออีกว่า

"Although the transaction log may be truncated manually, it is strongly recommended that you do not do this, as it breaks the log backup chain. Until a full database backup is created, the database is not protected from media failure. Use manual log truncation only in very special circumstances, and create a full database backup as soon as practical."


ดังนั้น เวลาไฟล์ log โต ๆ ขึ้นไป เราควรที่จะ backup log มากกว่าที่ จะไปทำการ truncate log แล้วก็ shrink� � ::)




การ Turecate Log หรือ Clear LOG ควรทำตอนที่ไม่มีคนทำงานครับ

ใช้ backup log ครับ.. ไม่ต้องกังวลกับการระวังว่าต้องทำตอนไม่มีคนทำงาน�  ::)
« แก้ไขครั้งสุดท้าย: 19 มิถุนายน 2006, 22:04:14 โดย insanity »

ออฟไลน์ SamaKitty VB

  • Global Develop Leader
  • *****
  • 2,949
  • 177
  • เพศ: ชาย
  • ไม่ใช่คนเก่ง ไม่ใช่คนดี ไม่ใช่คนพิเศษ ไม่ใช่..!!
    • Thaiadmin.org Power by : VBNeverdie.com
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #6 เมื่อ: 20 มิถุนายน 2006, 08:44:15 »
หุหุหุหุ
อย่าเชื่อใคร ถ้าคุณยังไม่ได้ทดลอง ด้วยตนเองครับ
::) :P ^-^
ดังนั้น ถ้า log ไฟล์ โตเร็ว� �ก็ให้ backup log ให้ถี่ขึ้น� (� ไม่ใช่ให้ truncate log ให้ถี่ขึ้นนะ )
...
...
ดังนั้น เวลาไฟล์ log โต ๆ ขึ้นไป เราควรที่จะ backup log มากกว่าที่ จะไปทำการ truncate log แล้วก็ shrink� � ::)
ผมก็เคยทำ แต่ขนาดมันไม่ลดลง ถ้าเป็นไปได้ ลองเอาวิธีทึ่คุณ insanity  ทำแล้วได้ผลอย่างที่คุณ insanity  ว่ามาทั้งหมด มาทำเป็น Document ให้เพื่อนๆ ได้อ่าน จะดีมากๆ เลยครับ
ที่ผมว่ามาทั้งหมด อ่ะ ผมไม่เคยเปิดอ้างอิง จาก Book Online เลยซักครั้ง
ทดสอบด้วยตนเอง ทั้งสิ้น   ลองพิจารณาจากรูป นะครับ



จะเห็นได้ว่า วงกลมสีน้ำเงิน เป็น Bacup Transaction Log ที่เกิดขึ้น หลังจากที่ Clear LOG หลังจากการทำ Backup Database แบบ Complite
วงกลม สีแดง คือ การ Bacup Transaction Log  อย่างเดียว  ขนาดจะเพิ่มขี้นอย่างมหาศาล
ถ้า มันเพิ่มขึ้น ในขนาดที่เท่าๆ กัน ผมจะมั่นใจว่า มัน ลดขนาดหลังจากที่ Backup LOG
แต่นี่ ไม่ลดเลย และจะโตขึ้น ทุกๆ วัน ก็เลยไม่มั่นใจว่า มันเป็นเช่นนี้แล้ว จะทำ ฉันท์ใดดี
  :D
« แก้ไขครั้งสุดท้าย: 20 มิถุนายน 2006, 09:05:33 โดย วีบี พ่อลูกอ่อน »
Hi... Welcome to Thaiadmin.org
Power by VBNeverDie.Com

SMF Mod & Template Modify, Hosting, Chat Room, Joomla Web, Flash Header, Images Decorate

ขออภัย ถ้าไม่ตอบ PM ครับ : กรุณา ถามตอบในบอร์ด

ออฟไลน์ insanity

  • *****
  • 1,793
  • 77
  • เพศ: ชาย
  • Life would be much easier if I had the source code
    • http://jullapol.blogspot.com
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #7 เมื่อ: 20 มิถุนายน 2006, 20:45:44 »
คุณ วีบี ฯ

ลองเปลี่ยนเป็น backup log ทุก� ๆ 3 ชม.� ดูนะครับ� �ลองดูผลสัก 1-2 วัน ก็น่าจะรู้แล้วหละ� � �( โดยไม่ clear log นะ)

หรือ ถ้าอยากดูเร็ว ๆ แล้ว database มี transaction ตลอดเวลา ก็เอา backup log ทุก ๆ 0.5 ชม.� แล้วดูสัก 3 ชม� ก็ได้ครับ

ดูจากชื่อไฟล์ คุณคงจะใช้ Database maintenancce plan ซึ่งก็น่าจะเหมือนกับที่ผมทำอยู่� เพราะว่าโดยตัวมันเองไม่มี option อะไรเกี่ยวกับการ backup log มากนัก ดังนั้น วิธีที่คุณใช้อยู่ กับที่ผมใช้คิดว่าเหมือนกันนะ

ทีนี้ทำไมจากรูปมันเหมือนกับว่า log มันไม่ลดขนาด เท่าที่นึกออกตอนนี้ก็คือ
1. ใช้ backup log .... with no_truncate� � � --> ประเด็นนี้อยากจะตัดไป เพราะว่าถ้าใช้ maintenance plan� � มันไม่มีแบบนี้ให้เลือก�
2. backup log ใน maintenance plan มี error เกิดขึ้น

ของผม backup log ทุก 3 ชม. ขนาดไฟล์เป็นแบบนี้น่ะครับ� (ไฟล์ .trn )

12.00� � � 14.0� � �MB
15.00� � � �6.5� � �MB
18.00� � �13.5� � � MB
21.00� � � �2.5� � �MB
00.00� � �65.0� � �MB� �
03.00� � �70.0� � �MB� �

(ขอโทษด้วย ไม่สะดวกกับการเอารูปมาให้ดู)

ออฟไลน์ SamaKitty VB

  • Global Develop Leader
  • *****
  • 2,949
  • 177
  • เพศ: ชาย
  • ไม่ใช่คนเก่ง ไม่ใช่คนดี ไม่ใช่คนพิเศษ ไม่ใช่..!!
    • Thaiadmin.org Power by : VBNeverdie.com
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #8 เมื่อ: 21 มิถุนายน 2006, 12:09:12 »
ตอนนี้ ผมทดลองปรับเปลี่ยน ให้มีการ Backup Transaction ทุกๆ 1� ชั่วโมง เพื่อดูว่า เป็นไป ตามที่ คุณ insanity� แนะนำหรือไม่
ดูจากรูปนะครับ


หลังจากทำ Full Backup Database เมื่อ 09.45 น.

Transaction Backup เมื่อ 10.00 น.

Transaction Backup เมื่อ 11.00 น.


ที่น่าแปลกใจ หรือผมไม่เข้าใจ หรือเข้าใจผิดก็ไม่ทราบ� คือว่า ขนาดของ LOG Size มันไม่ได้ลดขนาดลงหรือ ผมทำอะไรผิดป่าวหว่า

เมื่อ พิจารณา ผลการ Backup ก็พบผลเป็นที่น่าพอใจ ในเรื่องของ ขนาดไฟล์ ที่เกิดขึ้น

09.45� �*.BAK� � 1,108,633,088 bytes
10.00� �*.TRN� � � � � 1,793,536 bytes
11.00� �*.TRN� � � � � 3,104,256 bytes


ผมเข้าใจว่า TRN 10.00 น.� จะมีข้อมูล LOG หลังจาก Full Backup มาจนถึง 10.00 น.
แต่ ไม่เข้าใจ ว่า อันที่เป็น 11.00 น. นี่ มีข้อมูลตั้งแต่ 10.00 น. ถึง 11.00 น.� หรือว่า มีข้อมูล ตั้งแต่ 9.45 เป็นต้นมา จนถึง 11.00 น.

รบกวน มาชี้แจงแถลงไข อีกทีนะครับ คุณ insanity� หรือ Expert ท่านอื่นๆ ก็ได้ครับ ที่รู้จริง และมี ทฤษฎีประกอบ จักขอบพระคุณอย่างสูง
แต่ที่แน่ๆ คือ ผมทดลอง เพื่อ จะเป็นประโยชน์ต่อมือใหม่ ทุกๆ คนครับ
ตลอดวันนี้ จะพยายาม เอาข้อมูลแต่ละช่วงเวลา มา Update ครับ เพื่อจะได้ดูเป็นการเปรียบเทียบความแตกต่าง



เมื่อ: 21 มิถุนายน 2006, 11:24:01
Log ที่ไม่ได้ Backup เมื่อ 11.30 น.


Transaction Backup เมื่อ 12.00 น.


Transaction Backup เมื่อ 13.00 น.


ขนาดไฟล์ ที่เกิดขึ้น
12.00� �*.TRN� � � � � 810,496 bytes
13.00   *.TRN       2,514,432 bytes

ผมมั่นใจแล้วล่ะ ว่าเป็นการ Backup LOG ในแต่ละช่วงเวลาจริงๆ ครับ

« แก้ไขครั้งสุดท้าย: 21 มิถุนายน 2006, 13:20:01 โดย วีบี พ่อลูกอ่อน »
Hi... Welcome to Thaiadmin.org
Power by VBNeverDie.Com

SMF Mod & Template Modify, Hosting, Chat Room, Joomla Web, Flash Header, Images Decorate

ขออภัย ถ้าไม่ตอบ PM ครับ : กรุณา ถามตอบในบอร์ด

ออฟไลน์ insanity

  • *****
  • 1,793
  • 77
  • เพศ: ชาย
  • Life would be much easier if I had the source code
    • http://jullapol.blogspot.com
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #9 เมื่อ: 21 มิถุนายน 2006, 19:25:25 »

ผมเข้าใจว่า TRN 10.00 น.� จะมีข้อมูล LOG หลังจาก Full Backup มาจนถึง 10.00 น.



ตามความเข้าใจของผมนะ

Backup log มันจะได้ ไฟล์ TRN ที่มีข้อมูล log ต่อจากการ Backup log ครั้งที่แล้ว (ครั้งล่าสุด) จนถึงปัจจุบัน  (ไม่นับ clear log หรือ truncate log นะครับ อันนั้นมันเหมือน ตัดทิ้งไปเลย) 

ดังนั้น TRN 10.00 น.   จะมีข้อมูล LOG หลังจาก Full Backup ก็ต่อเมื่อ  เราได้ Backup log ไปพร้อมกับ Full Backup ณ เวลา 9.45 น. ด้วยแล้ว  ไม่อย่างนั้น มันควรจะเก็บข้อมูลตั้งแต่ Backup log ครั้งล่าสุด  หรือ ตั้งแต่ การ clear log (truncate log )  ล่าสุด     ???

ส่วนเรื่องขนาด log ไฟล์ไม่ลดลงนี่ มันหมายถึงไฟล์ไหนอ่ะงง   ถ้าหมายถึง LDF ล่ะก็มันควรเป็นเช่นนั้น  เพราะว่าเราไม่ได้ไป shrink file มัน   

การ shrink ไฟล์ log  มีข้อเสียอย่างหนึ่ง คือ  เวลา log มันโตขึ้นจนไฟล์ไม่พอแล้ว นอกจากจะเสียเวลาที่มันจะต้องใช้ขยายไฟล์แล้ว ก็อาจจะทำให้เกิด fragment ได้อีก

( คิดเล่นๆ  :  ดังนั้น ไฟล์ log เนี่ย เราน่าจะกำหนดขนาดแต่แรกไปเลยให้มันพอเก็บ transaction ในช่วงระหว่างการ backup log   และไม่ควร shrink มันจะได้ไม่ต้องมายืด ๆ หด ๆ เรื่อย ๆ   )  <--- ไม่รู้ว่าเป็นอุดมคติเกินไปรึเปล่า ก็ใครมันจะไปรู้ฟะว่า transaction จะเกิดเท่าไหร่       :P

bobbadboy

Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #10 เมื่อ: 23 มิถุนายน 2006, 13:30:29 »
เวลาสร้าง backup ลองดูที่ tab 'Options' มี choice ว่า 'Remove inactive entries from transaction log'
ซึ่งปกติ default จะ check ไว้คับ แต่ถ้าเอาออก มันก็จะไม่ truncate log ที่ inactive ทิ้งให้อัตโนมัติอ่ะคับ
ลองตรวจดูนะคับ :-[

ออฟไลน์ i-pond

  • *****
  • 87
  • 0
  • เพศ: ชาย
Re: สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #11 เมื่อ: 25 มิถุนายน 2006, 21:37:27 »
ขอบคุณทุกท่านเลยครับที่มาช่วยแชร์ ประสบการณ์กัน

ต้องยกนิ้วให้เลยครับ O0 O0

แต่บอกได้คำเดียวครับว่า " มึน "
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ โน

  • ****
  • 26
  • 0
  • เพศ: ชาย
Re: [กรณีศึกษา] สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #12 เมื่อ: 19 กุมภาพันธ์ 2007, 14:36:46 »
สุดยอดเลย ขอบคุณมากคับ ช่วยได้เยอะมาก พอดีเพิ่มจะมาจับ SQL server
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

beeone

Re: [กรณีศึกษา] สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #13 เมื่อ: 28 มิถุนายน 2007, 10:10:50 »
set เป็น simple กับป่ะ หรือ auto shrink กันป่ะ

Error

Re: [กรณีศึกษา] สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #14 เมื่อ: 19 พฤศจิกายน 2007, 11:38:42 »
รูปที่อยู่ในกระทู้ ต่างๆ หายไปไหนแล้วอ่ะคับ

ออฟไลน์ rukawa

  • *****
  • 800
  • 18
  • เพศ: ชาย
  • TH@min Membership
    • rukawa club
Re: [กรณีศึกษา] สงสัยเกี่ยวกับเรื่อง Backup ของ SQL2000
« ตอบกลับ #15 เมื่อ: 14 มีนาคม 2008, 15:01:12 »
เยี่ยมเลย กำลังงงๆ สับสนเรื่อง log เหมือนกัน  ลองเทสๆ แล้วมาแชร์กันนะ 

เดิมทีผมทำที่เก่า  หลัง fullbackup แล้วผมก็ shink ทิ้งเหมือนกันอะ   พอมาอ่านนี้ชักลังเลและ  ::)
เสียดายกระทู้เก่าๆ รูปหายหมดเลยอ่า.. บางอันเลยงงๆ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย