อาทิตย์นี้เจอ DB อยู่ 1 ก้อน มีขนาด mdf ประมาณ 105GB (เหลือ free ประมาณ 40GB) ส่วน ldf 30GB (เหลือ free > 28GB) ซึ่ง ldf นั้นสามารถ shrink ได้ปกติ ก็เลย shrink เหลือ 5GB และ set autogrowth ให้มัน growth ทีละ 1GB แทน
แต่ mdf นั้น หลังจากได้สั่ง shrink ให้เหลือ 75GB แล้ว run คำสั่งไป 2 ชม. ก็ error ไม่สามารถ shrink ได้
วิธีที่ทดลอง shrink mdf ใหม่ ก็คือ แทนที่จะ shrink ทีเดียวเลย 30GB ก็เปลี่ยนเป็นทะยอย shrink จาก 105GB --> 100GB --> 95GB --> .... ซึ่งก็ทำให้สามารถ shrink ได้สำเร็จผ่านไปได้ด้วยดี
Saturday, April 25, 2009
Monday, March 23, 2009
แก้ไข Job ไม่ได้ หลังเปลี่ยนชื่อ Server (MS SQL 2000)
Error จะขึ้นว่า Error 14274: Cannot add, update, or delete a job (or its steps or schedules) that originated from an MSX server.
วิธีแก้ไขตาม Web ของ MS (http://support.microsoft.com/kb/281642) จะให้ทำการ แก้ชื่อ Server กลับไปชื่อเดิม -> สร้าง Script ของ Job -> ลบ Job ทิ้ง -> เปลี่ยนชื่อ Server เป็นชื่อใหม่ -> Run script ที่สร้างไว้เพื่อสร้าง Job ใหม่ ซึ่งไม่ค่อยสะดวกเท่าไหร่ และทำให้เกิด downtime ด้วย
แต่ มีอีกวิธีหนึ่งซึ่งจะสะดวกกว่า ก็คือ เราสามารถแก้ไข ด้วยการ update ข้อมูลชื่อ Server ที่ field : originating_server ใน Table : msdb.dbo.sysjobs ซึ่งหลังจาก update แล้ว ก็จะสามารถแก้ไข Job ได้ตามปกติ
วิธีแก้ไขตาม Web ของ MS (http://support.microsoft.com/kb/281642) จะให้ทำการ แก้ชื่อ Server กลับไปชื่อเดิม -> สร้าง Script ของ Job -> ลบ Job ทิ้ง -> เปลี่ยนชื่อ Server เป็นชื่อใหม่ -> Run script ที่สร้างไว้เพื่อสร้าง Job ใหม่ ซึ่งไม่ค่อยสะดวกเท่าไหร่ และทำให้เกิด downtime ด้วย
แต่ มีอีกวิธีหนึ่งซึ่งจะสะดวกกว่า ก็คือ เราสามารถแก้ไข ด้วยการ update ข้อมูลชื่อ Server ที่ field : originating_server ใน Table : msdb.dbo.sysjobs ซึ่งหลังจาก update แล้ว ก็จะสามารถแก้ไข Job ได้ตามปกติ
Wednesday, March 18, 2009
ปัญหา Export pdf ใน Crystal Reports ของ Visual Studio 2005 แล้ว Font Size เล็กลง
ปัญหาที่พบนี้เจอกับ ASP.NET ซึ่ง pdf ที่ Export ออกมา มีขนาด Font ที่เล็กลงกว่าปกติ และทดลองทำตาม วิธีแก้ไขที่เจอใน Web ด้วยการ update ด้วยไฟล์ dbex10win_en.zip และ แก้ Registry HKEY_CURRENT_USER\SOFTWARE\Crystal Decisions\10.0\Crystal Reports\Export\PDF โดยแก้ไขค่า ForceLargerFonts ชนิด REG_DWORD เป็น 1 แล้วก็ยังมีปัญหาอยู่
ผมเข้าใจว่าเหตุที่วิธีข้างต้นใช้งานไม่ได้ เป็นเพราะว่า Crystal Reports (CR) ที่มากับ VS2005 จะเป็น version 10.2 แต่วิธีแก้ไขดังกล่าว เป็นของ CR 10.0
สำหรับวิธีแก้ไขของ CR ใน VS2005 แล้วใช้งานได้สำเร็จ มีดังนี้
1. copy ไฟล์ 2 ไฟล์ ตามรายการไปไว้ที่ C:\Program Files\Common Files\Crystal Decisions\2.0\bin โดยใช้ไฟล์
- crtslv.dll version 8.6.1.726 วันที่ 2003/07/25
- ExportModeller.dll version 8.6.2.440 วันที่ 2003/07/28
ซึ่งทั้ง 2 ไฟล์นี้ มาจาก CR 8.5
2. สั่ง run regsvr32 สำหรับไฟล์ dll 2 ไฟล์ในข้อ 1
- regsvr32 "C:\Program Files\Common Files\Crystal Decisions\2.0\bin\crtslv.dll"
- regsvr32 "C:\Program Files\Common Files\Crystal Decisions\2.0\bin\ExportModeller.dll"
3. copy ไฟล์ crxf_pdf.dll ไปไว้ที่ C:\Program Files\Common Files\Business Objects\2.7\Bin โดยใช้ไฟล์
- crxf_pdf.dll version 9.2.0.565
( ไม่ต้อง run regsvr32)
4. Restart IIS ใหม่
- net stop w3svc
- net start w3svc
(ใช้งานบน Windows Server 2003 Standard + framework 2.0 + CRRedist2005_x86.msi )
ผมเข้าใจว่าเหตุที่วิธีข้างต้นใช้งานไม่ได้ เป็นเพราะว่า Crystal Reports (CR) ที่มากับ VS2005 จะเป็น version 10.2 แต่วิธีแก้ไขดังกล่าว เป็นของ CR 10.0
สำหรับวิธีแก้ไขของ CR ใน VS2005 แล้วใช้งานได้สำเร็จ มีดังนี้
1. copy ไฟล์ 2 ไฟล์ ตามรายการไปไว้ที่ C:\Program Files\Common Files\Crystal Decisions\2.0\bin โดยใช้ไฟล์
- crtslv.dll version 8.6.1.726 วันที่ 2003/07/25
- ExportModeller.dll version 8.6.2.440 วันที่ 2003/07/28
ซึ่งทั้ง 2 ไฟล์นี้ มาจาก CR 8.5
2. สั่ง run regsvr32 สำหรับไฟล์ dll 2 ไฟล์ในข้อ 1
- regsvr32 "C:\Program Files\Common Files\Crystal Decisions\2.0\bin\crtslv.dll"
- regsvr32 "C:\Program Files\Common Files\Crystal Decisions\2.0\bin\ExportModeller.dll"
3. copy ไฟล์ crxf_pdf.dll ไปไว้ที่ C:\Program Files\Common Files\Business Objects\2.7\Bin โดยใช้ไฟล์
- crxf_pdf.dll version 9.2.0.565
( ไม่ต้อง run regsvr32)
4. Restart IIS ใหม่
- net stop w3svc
- net start w3svc
(ใช้งานบน Windows Server 2003 Standard + framework 2.0 + CRRedist2005_x86.msi )
Sunday, February 22, 2009
การ Reset registry ของ Excel ให้เป็นค่า Default ใหม่
บางครั้ง เราจะเจอเหตุการณ์ที่ เมื่อ Double Click เจ้าไฟล์ *.xls จากใน Explorer แล้ว ตัวโปรแกรม Excel จะเปิดขึ้นมา แต่ว่า มันไม่เปิดไฟล์ที่เราเรียกให้ แต่หากว่า เราเปิดไฟล์ *.xls จากเมนูของ Excel ที่ File -> Open จะสามารถเปิดไฟล์ได้ปกติ
หนึ่งในวิธีแก้ไข ก็คือ การ Reset registry ของ Excel ให้กลับสู่ค่า Default เหมือนกับตอนเพิ่งติดตั้งโปรแกรมเสร็จ ซึ่งคำสั่ง ก็คือ
1. ปิดโปรแกรม Excel ก่อน
2, Excel /unregserver จากนั้น ก็
3. Excel /regserver
โดยที่ 2-3 ทำเพื่อเป็นการ Reset registry ของ Excel
หนึ่งในวิธีแก้ไข ก็คือ การ Reset registry ของ Excel ให้กลับสู่ค่า Default เหมือนกับตอนเพิ่งติดตั้งโปรแกรมเสร็จ ซึ่งคำสั่ง ก็คือ
1. ปิดโปรแกรม Excel ก่อน
2, Excel /unregserver จากนั้น ก็
3. Excel /regserver
โดยที่ 2-3 ทำเพื่อเป็นการ Reset registry ของ Excel
Friday, January 23, 2009
ความหมายในชื่อของ computer virus
โดยทั่วไปผู้ผลิต Antivirus จะตั้งชื่อ virus โดยประกอบไปด้วยส่วนต่าง ๆ คือ prefix + ชื่อ + suffix ซึ่งแต่ละส่วนมีความหมายดังนี้
Prefix
ตรง prefix จะบ่งบอกถึงชนิดของ virus หรือ malware เช่น
- W32 หรือ Win32 จะหมายถึง virus ที่ติดต่อกับ Windows-32 bit ( Windows 95/98,Me,NT4,2000,2003,XP)
- W95 หมายถึง virus ที่ติดต่อกับ Windows 95/98
บางครั้งผู้ผลิต Antivirus อาจจะกำหนด prefix เพื่อระบุถึงลักษณะของอาการ เช่น
- TROJ หมายถึง Trojan house
- I-Worm หมายถึง Internet/email worm
- OM หมายถึง MS Office macro virus และ ตัวอย่างของ prefix ของ macro virus อื่น ๆ ก็เช่น W97M, WM, X2KM ซึ่งจะระบุถึง version ของ Office หรือ โปรแกรมในชุดของ Office ด้วย เช่น X2KM ก็คือ macro virus ที่ติดต่อกับ Excel 2000
Name
ต่อจาก prefix ก็จะเป็นชื่อของ virus ซึ่งโดยทั่วไปมักจะแยกจาก prefix ด้วยเครื่องหมาย underscore,(_) จุด หรือ slash (/) เช่น W32/Bagle ก็คือ virus ชื่อ Bagle
Suffix
ส่วนท้ายของชื่อ virus ซึ่งจะแยกจากชื่อของ virus ด้วยเครื่องหมายจุด จะใช้สำหรับบอกถึงความแตกต่างของ virus ที่อยู่ในตระกูล/สายพันธุ์เดียวกัน ที่เกิดตาม ๆ กันมา เช่น W32/Bagle.A , W32/Bagle.B
ซึ่งการตั้งขื่อ จะตั้งเรียงตาม A- Z เช่น Bagle.A, Bagle.B , .. Bagle.Z จนครบ แล้วจึงเริ่มใหม่เป็น Bagle.AA, Bagle.AB ต่อไปเรื่อย ๆ
Modifier
ในบางครั้ง จะมีการเพิ่ม modifier ต่อท้าย suffix เพื่ออธิบายรายละเอียดเพิ่มเติมของชนิด virus เช่น
- @mm หมายถึง mass-mailing email worm
- @dl หมายถึง downloader
จากข้อมูลทั้งหมด ถ้าเราเห็น virus ที่ชื่อ W32/Bagle.BB@mm เราก็จะบอกได้ว่า เป็น virus แบบ mass-mailing ที่พัฒนามาจากตระกูล Bagle ซึ่งติดต่อกับ Windows 32-bit
Virus ตัวหนึ่ง อาจจะมีชื่อหลายชื่อก็ได้ ซึ่งในการหาข้อมูลเกี่ยวกับ virus ตัวหนึ่ง ๆ นั้น เราจะต้องเข้าใจว่ามันอาจจะถูกเรียกชื่อแตกต่างกัน ตามผู้ผลิต Antivirus แต่ละราย ดังนั้น ในการค้นหาข้อมูลของ virus เราอาจจะต้องอ้างอิงถึงผู้ผลิต Antivirus ด้วย
ตัวอย่างเช่น หากจะต้องการหาข้อมูลของ Bagle.AT ได้อย่างถูกต้อง เราอาจจะต้องเพิ่มชื่อของผู้ผลิต Antiviurs เข้าไปด้วย เพราะ virus ตัวนี้มีชื่อเรียกที่หลากหลาย เช่น
- Trend Micro เรียก WORM_BAGLE.AT
- Sophos เรียก W32/Bagle-AU
- McAfee เรียก W32/Bagle.bb@mm
- Computer Associates เรียก Win32.Bagle.AQ
- Kaspersky เรียก I-Worm.Bagle.at
- หรือ บางครั้ง อาจจะเจอชื่อเรียกที่แตกต่างกันเลย เช่น Symantec เรียกว่า W32.Beagle.AW@mm
ที่มา : http://antivirus.about.com/od/whatisavirus/a/virusnames.htm
Prefix
ตรง prefix จะบ่งบอกถึงชนิดของ virus หรือ malware เช่น
- W32 หรือ Win32 จะหมายถึง virus ที่ติดต่อกับ Windows-32 bit ( Windows 95/98,Me,NT4,2000,2003,XP)
- W95 หมายถึง virus ที่ติดต่อกับ Windows 95/98
บางครั้งผู้ผลิต Antivirus อาจจะกำหนด prefix เพื่อระบุถึงลักษณะของอาการ เช่น
- TROJ หมายถึง Trojan house
- I-Worm หมายถึง Internet/email worm
- OM หมายถึง MS Office macro virus และ ตัวอย่างของ prefix ของ macro virus อื่น ๆ ก็เช่น W97M, WM, X2KM ซึ่งจะระบุถึง version ของ Office หรือ โปรแกรมในชุดของ Office ด้วย เช่น X2KM ก็คือ macro virus ที่ติดต่อกับ Excel 2000
Name
ต่อจาก prefix ก็จะเป็นชื่อของ virus ซึ่งโดยทั่วไปมักจะแยกจาก prefix ด้วยเครื่องหมาย underscore,(_) จุด หรือ slash (/) เช่น W32/Bagle ก็คือ virus ชื่อ Bagle
Suffix
ส่วนท้ายของชื่อ virus ซึ่งจะแยกจากชื่อของ virus ด้วยเครื่องหมายจุด จะใช้สำหรับบอกถึงความแตกต่างของ virus ที่อยู่ในตระกูล/สายพันธุ์เดียวกัน ที่เกิดตาม ๆ กันมา เช่น W32/Bagle.A , W32/Bagle.B
ซึ่งการตั้งขื่อ จะตั้งเรียงตาม A- Z เช่น Bagle.A, Bagle.B , .. Bagle.Z จนครบ แล้วจึงเริ่มใหม่เป็น Bagle.AA, Bagle.AB ต่อไปเรื่อย ๆ
Modifier
ในบางครั้ง จะมีการเพิ่ม modifier ต่อท้าย suffix เพื่ออธิบายรายละเอียดเพิ่มเติมของชนิด virus เช่น
- @mm หมายถึง mass-mailing email worm
- @dl หมายถึง downloader
จากข้อมูลทั้งหมด ถ้าเราเห็น virus ที่ชื่อ W32/Bagle.BB@mm เราก็จะบอกได้ว่า เป็น virus แบบ mass-mailing ที่พัฒนามาจากตระกูล Bagle ซึ่งติดต่อกับ Windows 32-bit
Virus ตัวหนึ่ง อาจจะมีชื่อหลายชื่อก็ได้ ซึ่งในการหาข้อมูลเกี่ยวกับ virus ตัวหนึ่ง ๆ นั้น เราจะต้องเข้าใจว่ามันอาจจะถูกเรียกชื่อแตกต่างกัน ตามผู้ผลิต Antivirus แต่ละราย ดังนั้น ในการค้นหาข้อมูลของ virus เราอาจจะต้องอ้างอิงถึงผู้ผลิต Antivirus ด้วย
ตัวอย่างเช่น หากจะต้องการหาข้อมูลของ Bagle.AT ได้อย่างถูกต้อง เราอาจจะต้องเพิ่มชื่อของผู้ผลิต Antiviurs เข้าไปด้วย เพราะ virus ตัวนี้มีชื่อเรียกที่หลากหลาย เช่น
- Trend Micro เรียก WORM_BAGLE.AT
- Sophos เรียก W32/Bagle-AU
- McAfee เรียก W32/Bagle.bb@mm
- Computer Associates เรียก Win32.Bagle.AQ
- Kaspersky เรียก I-Worm.Bagle.at
- หรือ บางครั้ง อาจจะเจอชื่อเรียกที่แตกต่างกันเลย เช่น Symantec เรียกว่า W32.Beagle.AW@mm
ที่มา : http://antivirus.about.com/od/whatisavirus/a/virusnames.htm
Friday, October 3, 2008
ปัญหาการใช้ ADO อ่านข้อมูลจาก Excel แล้ว Field ที่เป็น Mixed data types อ่านค่าผิดเป็น Null หรือ Empty
ปัญหานี้มาจาก ADO จะต้องทำการ Scan ข้อมูลแต่ละ Columnใน Excel worksheet (โดยไม่เกี่ยวกับ Format) โดย Default แล้วจะทำการ Scan ข้อมูลจำนวน 8 rows เพื่อกำหนด data type ดังนั้น หากใน Column มีข้อมูลปนกัน เช่น Text กับ Number ก็อาจจะทำให้เกิดการอ่านค่าผิดได้ และค่าที่ผิดก็จะอ่านได้เป็น Null หรือ Empty
วิธีการแก้ไข ก็คือ ให้แก้ไขค่า Registry
HKLM\Software\Microsoft\Jet\4.0\Engines\Excel
โดยกำหนดค่า TypeGuessRows ซึ่งเป็นชนิด REG_DWORD ให้เป็น 0 (ค่า TypeGuessRows นี้ มีค่า Default = 8 และ สามารถกำหนดค่าได้ระหว่าง 0-16)
สำหรับรายละเอียดของการอ่านข้อมูลจากไฟล์ Excel โดยใช้ ADO สามารถดูได้จาก Link ด้านล่างนี้
How To Use ADO with Excel Data from Visual Basic or VBA
วิธีการแก้ไข ก็คือ ให้แก้ไขค่า Registry
HKLM\Software\Microsoft\Jet\4.0\Engines\Excel
โดยกำหนดค่า TypeGuessRows ซึ่งเป็นชนิด REG_DWORD ให้เป็น 0 (ค่า TypeGuessRows นี้ มีค่า Default = 8 และ สามารถกำหนดค่าได้ระหว่าง 0-16)
สำหรับรายละเอียดของการอ่านข้อมูลจากไฟล์ Excel โดยใช้ ADO สามารถดูได้จาก Link ด้านล่างนี้
How To Use ADO with Excel Data from Visual Basic or VBA
Thursday, October 2, 2008
Show hidden files and folders ไม่ยอม Show
หลังจากที่มี Virus จาก Flash drive หลุดมาอาละวาดในเครื่องได้สัก 2 สัปดาห์ก่อน มาวันนี้ผมจึงค่อยพบว่า เครื่องมันไม่แสดง Hidden files และ Folders จริง ๆ แล้วมันก็ไม่น่าจะแก้ยาก แต่ปัญหามันอยู่ที่พอไปเลือก Show hidden files and folders ที่ Folder options ให้มัน Show พอปิด Screen ไป แล้วเปิดใหม่ มันก็กลับคืนไปเป็น Do not show hidden files and folders เอง
วิธีแก้ไขที่แก้ไขสำเร็จ คือ
1. เปิด Regedit แล้วเข้าไปที่
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
2. หา "CheckedValue" ซึ่งเป็นชนิด REG_DWORD แล้วกำหนดค่าให้เป็น 1
3. ทดลองกลับไปแก้ไข Show hidden files and folders ใหม่ ซึ่งควรจะกลับเป็นปกติแล้ว
วิธีแก้ไขที่แก้ไขสำเร็จ คือ
1. เปิด Regedit แล้วเข้าไปที่
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
2. หา "CheckedValue" ซึ่งเป็นชนิด REG_DWORD แล้วกำหนดค่าให้เป็น 1
3. ทดลองกลับไปแก้ไข Show hidden files and folders ใหม่ ซึ่งควรจะกลับเป็นปกติแล้ว
Subscribe to:
Posts (Atom)