[MSSQL] แก้ปัญหา Database Log File โตไม่หยุด

Microsoft SQL Server

หลายๆพอใช้ Database ไป ผ่านไปนานเข้า ระบบฟ้องว่า Disk เต็ม พอเข้าไปดูอ้าวไฟล์ Log (.ldf) มันโตกว่าไฟล์ Database (.mdf) เสียอีก คราวนี้มาลองดูสาเหตุกัน สาเหตุที่เป็นไปได้ เลือก Recovery Model ที่ไม่เหมาะสม ไม่มีการจัดเก็บ Backup Log ออกมา พอไปตั้งให้ Log มัน Auto Grow แล้วมันเลยบวมครับ พอรู้สาเหตุแล้ว มาดูวิธีแก้บ้าง ปรับเปลี่ยนเลือก Recovery Mode ที่ใช้ครับ โดยลองพิจารณ์ Recovery Model จาก Blog ผม หรือจะถาม Google ก็ได้ครับ เมื่อได้ Recovery Model ที่ใช่แล้ว มาดูวิธีขั้นตอนการปรับแก้ครับ เข้าไปที่ SQL Server Management Studio (SSMS) อย่างน้อยเป็น Windows Authentication หรือใช้ User ที่มีสิทธินการจัดการ DB ครับ ในหน้าจอ Object Explorer browse เลือก Database คลิกขวาที่ Database ที่เลือก >> Properties >> Options หาในส่วนของ Recovery Model เลือกให้เหมาะสมกับการใช้งาน กด OK ลดขนาดของ Database Log File (.ldf) Shrink Database ตามวิธีการ เข้าไปที่ SQL Server Management Studio (SSMS) ในหน้าจอ Object Explorer browse เลือก Database คลิกขวาที่ Database ที่เลือก Tasks >>…

สรุปงาน Microsoft Enterprise Roadmap Update with Data Amp

พอดีหัวหน้าติดธุระ ผมเลยได้มาฟังงานนี้ครับ Microsoft Enterprise Roadmap Update with Data Amp โดยจัดขึ้นที่ห้อง Royal Maneeya Ballroom, Renaissance Bangkok Ratchaprasong Hotel ครับ ลองมาดูแต่ละช่วงกันเลยดีกว่าครับ Keynote Session: Microsoft Data Amp Data is Electricity ข้อมูลมันเยอะมาก มองว่ามันไหลมาอย่างไฟฟ้าเลย ตอนนี้เป็นยุคของ Big Data & Data Science & Cloud ตัว Data Solution (จริงๆ ในงานเค้าใช้ MS SQL 2017 แต่ผมว่ามันพูดกว่านั้น 555) ทั้งตัว MS SQL 2017 และ Azure Document DB(NoSQL ของ Microsoft) ซึ่งนิยามได้ 3 คำ คือ Intelligent – ไม่ใช่ที่ฝั่ง Application สามารถทำได้ตั้งแต่ใน Database เลย Trusted – มีเทคโนโลยี Alway Crypt / รองรับ Cert มากมาย / Grow with your need Flexible – รองรับเกือบทุก OS (Windows, Linux) อันไหนไม่รองรับใช้ Docker ได้/ Azure Streamlined Migration Keynote Session: MS SQL 2017 ไม่รู้เขียนยังไง เอางี้ดีกว่าซื้อ 1 ได้ถึง 4 ได้แก่ OLTP,…

ให้ Chula Mail ส่งต่อ E-mail เข้ามาที่ Gmail

เนื่องจากปัญหาหลายๆอย่าง อาทิ เช่น เมล์จุฬา มันมีเวลาเปิด/ปิดของ Server หรือ Set Sync เข้ากับ App Mail ในมือถือยาก ตอนนี้ผมเลยใช้วิชาให้ Chula Mail ส่งต่อ E-mail เข้ามาที่ Gmail สำหรับวิธีการ ดูตามขั้นตอนเลยครับ เข้าระบบ Chula Mail  ก่อนครับ จากนั้นไปที่ Option และเลือก Forwarded E-mail Address ครับ ระบบพามาอีกหน้าจอนึงครับ โดยสามารถ เพิ่ม E-mail – พิมพ์ในช่อง Forward Address จากนั้นกด Add to List เอา E-mail ลบออกได้ครับ – เลือก Check box หน้าชื่อ E-mail แล้วกด Remove from List จากนั้นรอครับ เดวพอถึงเวลาตัว ChulaForward เมล์นี้มาให้ตามเมล์ที่กำหนดไว้ครับ ใน Gmail อาจจะหล่นไปอยู่ในส่วนของ Update ก็ได้ครับ ใครที่ติดปัญหามาลองทำกันดูครับ ^____^

[FV] ลองใช้ LTL ใน Promela

ช่วงนี้หลังจากทำ Term Project เกี่ยวกับระบบ Lift ผมเลยอยากจดไว้ก่อนว่าตัวโปรแกรม SPIN GUI ที่เขียนโดยภาษา Promela สามารถทวนสอบ Linear time Temporal Logic(LTL) ได้อย่างไรครับ โดยทำตามขั้นตอน ดังนี้ สิ่งที่ต้องมี Promela Code – ที่เขียน Model ที่ต้องการทวนสอบ LTL – ชุดคำสั่งที่ให้สำหรับการทวนสอบ ว่า Model เรามีคุณลักษณะที่ต้องการ หรือป่าว ขั้นตอนการทวนสอบ LTL ใน Spin GUI ทำการเขียนคำสั่ง LTL ตัวอย่าง ต้องการตรวจสอบว่าประตูลิฟต์ของช่องที่ 1 ในทุกๆชั้น สามารถเปิดได้ไม่เกิน 1 ตัว หรือปิดทั้งหมด ที่ใช้ <= 1 เพราะ มีกรณีที่ลิฟต์ปิดหมดทุกตัว และลิฟต์เปิดได้ 1 ตัว สามารถเขียนคำสั่ง ได้ ดังนี้ #define firstElevatorSiloSafedoors (firstElevatorDoorOpen[0] + firstElevatorDoorOpen[1] + firstElevatorDoorOpen[2] + firstElevatorDoorOpen[3] + firstElevatorDoorOpen[4] + firstElevatorDoorOpen[5] + firstElevatorDoorOpen[6] + firstElevatorDoorOpen[7]<= 1) ltl { [] firstElevatorSiloSafedoors } หมายเหตุ: ในส่วนของการ #define ไม่ต้องใส่ ; ต่อท้าย Save Code และกดปุ่ม Syntax Check ดังรูป หลังจากกดปุ่ม Syntax Check แล้ว Spin ตรวจสอบโปรแกรมที่เขียนขึ้นสร้าง Model…

[CUSE] ผ่านไปแล้วหนึ่งเทอมสำหรับการเรียนปริญญาโท

วันนี้วันที่ 21 พ.ค. 2560 วันสุดท้ายของในการเรียน นำเสนอ ทำ Project ของเทอมที่ 1 แล้ว มาสรุปดีกว่า ผ่านไป 5 เดือน ได้ทำอะไรไปบ้างครับ เริ่มที่เรื่องการของการเรียนก่อนเลย สำรับการเรียนที่นี้ภาคนอก กับภาคใน เรียนเท่าๆกันครับ โดยสำหรับในเทอมนี้วิชาที่ผมลงทะเบียนไว้ 4 ตัว มีดังนี้ Software Design & Development (SDD) สิ่งที่ควรรู้มาก่อน – แผนภาพ UML, พออ่าน Code รู้เรื่อง และเข้าใจ สิ่งที่เรียน – เรียนจากภาพใหญ่ไปเล็ก โดยมีสิ่งที่สนใจ ดังนี้ครับ Quality Attribute ที่มีผลกับการ Architecture ของระบบ จากนั้นมีดูกันว่า Architecture มีกี่แบบอันไหน เหมาะกับการอะไร ลงลึกไปอีกนิด คือ ทำ Use Case Realization(ทำให้มันเป็นจริง) เพือที่ได้ ตอนนี้ เรารู้ว่าอะไรเป็น Boundary / Control หรือ Entity มาสนใจ Entity และ โดยใช้ Analysis Pattern มาเสริม โดยดูจากชนิดของ Entity ว่า People / Places / Things หรือ Event และหา Pattern ที่เหมาะสม และเติมเต็มให้สมบูรณ์ เมื่อปรับปรุง Enity แล้วถัดมามองว่า Code จริง กับ Database ต้องเขียนอย่างไร ตอนท้ายสุดนี้ลงมาที่ Level ที่ลึกสุด คือ ในระดับ Coding ที่เรารู้ถึง Bad…

[CR] ลองใช้บริการ City Glide

วันนี้หลังสอบ Software Metric ผมก็ไปทำงานวิชา Software Design & Dev ต่อ หลังจากทำงานเสร็จ วางแผนกลับบ้าน โดยนั่งใต้ดิน โผล่มาที่สุขมวิท แวะกินข้าวที่ Terminal แล้วไปต่อ BTS ลงที่บางหว้าจากนั้นค่อยนั่ง Taxi กลับบ้านครับ แผนเปลี่ยนตอนหลังจากกินข้าวแหละ บังเอิญเห็นรถเมล์สาย 511 เข้า สุดท้ายเลยเปลี่ยนใจ มาลองใช้เปิด City Glide ซึ่งตัว  City Glide เป็นของ Plan B ททำธุรกิจเกี่ยวข้องโฆษณาครับ เห็นว่าเร่มมี Ads บนรถเมล์แล้วด้วย ผมเข้าใจว่าคงใช้ GPS + สัญญาณอินเตอร์เนตของตู้แสดงโฆษณาที่เอาไปติดบนรถเมล์มาให้หาตำแหน่งของรถครับ กลับเข้าเรื่องเดิมดีกว่า ผมลองดูว่ารถ 511 คันถัดไปมาแถวนี้ตอนกี่โมง พอลองกดๆ ไม่นานเลย 4 นาทีเอง ลองดูและกันครับ โดยสำหรับขั้นตอนการใช้ City Glide มีจั้นตอนง่ายๆ ดังนี้ เข้าเว็บ www.cityglide.com (ฟรี) มันมีให้ Login ในกรณีนี้ผมใช้ Facebook Login ครับ จากนั้นเข้ามาสู่หน้าจอค้นหา ตรงนี้สามารถเลือกได้ว่า หาจากตำแหน่ง หรือหาจากสายรถเมล์ครับ ในกรณีนี้ผมเลือกสายรถเมล์ จากนั้นจิ้มเลือกป้ายรถเมล์ที่อยู่ใกล้กับเราที่สุดเลยครับ รอครับ ระหว่างนี้ัตัวเว็บมี Update เวลาครับ ได้ขึ้นสักที แม้ว่าเวลาจะเวลารอ Late ไปเท่านึง คือ 8 นาทีครับ เข้าใจว่ารถคงติดพวกไฟแดง      

[CR] Starbucks ลอกเมนูชาเขียว Starbucks คนก่อนหน้า

พอดีช่วงนี้นัดทำ Term Project กับนัดติวหนังสือครับ ปกติที่ๆนัดเจอกัน ถ้าไม่ใช่ในจุฬาฯแล้ว คงหนีไม่พน้พวกร้านกาแฟต่างๆครับ ด้านที่ส่วนตัวนั้นเป็นคนที่ไม่ชอบกินกาแฟครับ (กินทีไรระบบขับช่ายทำงานดีมากกกก) ก็เลยสั่งชาเขียวครับ แต่ปกติผมจำเมนูไม่ได้อยู่แล้วครับ เลยใช้วิธีลอกคนก่อนหน้าครับ ถ้าเป็นพวกชาเขียว ฮ่าๆ มันเลยเป็นทีมาของเมนูสุดหวานครับ ชาเขียวปั่นจัดเต็มครับ โดยข้างในมี ราคารวม 260 บาทครับ เป็นค่าลอกที่แพงพอสมควรเลยครับ

[PM] Brooks (1975)-“If you throw more people onto a late software project, you will make it later”

พอดีช่วงนี้ใกล้สอบ Software Metric แต่มันมีบทนึงที่ออกสายไปทาง PM โดยวิชา PM ให้แนวคิด(Concept) ส่วน Software Metric ทำให้แนวคิดนั้นวัดได้ มีตัวเลข หรือระะดับครับ สำหรับ Blog ตอนนี้ ผมเขียนไปในส่วนของ Brooks ในที่นี่หมายถึง Brooks’ Law ขึ้น คือ Adding manpower to a late software project makes it later. (If you throw more people onto a late software project, you will make it later) ซึ่งถ้าเราตีความ “การเพิ่มคนเข้าไปใน Project ที่ช้า มันจะทำให้มันยิ่งช้ากว่าเดิม” Q: ทำไมคุณ Brooks ถึงคิดแบบนั้นหละ ? A: Quote นี้น่าจะสื่อดีที่สุด “Nine women can’t make a baby in one month.” ผู้หญิงเก้าคนไม่สามารถให้กำเนิดลูกได้ในหนึ่งเดือน โดยเหตุผลคุณ ฺBrooks  บอกนั้น เพราะว่า เราเข้าใจว่า คน สามารถ แลกกับ เวลา ได้ แต่การ Estmation จริงๆแล้ว เราดูเวลา(Duration) หรือ แรงงานที่ลงไป(Effort) ก่อนหละ เราเข้าใจว่า งานที่ทำอย่างในบริบทนี้ เป็นงานด้าน Software Development เราสามารถแบ่งแยกงาน Task ได้ชัดเจน 100% เราเข้าใจว่า ทุกคนมี Skill เท่ากัน และสามารถสื่อสารกันได้หมด…

[CR] เครื่องบันทึกเสียง Sony ICD-UX560F

หลังๆมาผมพบว่าใช้วิธีการอัดเสียงเยอะมาก ตั้งแต่ พอดีช่วยปลายปี 2559 มีมหกรรม ช๊อปช่วยชาติ ไม่เกิน 15,000 บาท เพื่อเอาไปลดหย่อนภาษีครับ ผมเลยตัดสินใจว่าจะเปลี่ยนจากเดิมที่ใหญ่ Tablet Samsung Galaxy Tab A มาเป็นเครื่องบันทึกเสียงครับ งบไม่เกิน 3,500 บาท สำหรับยี่ห้อที่สนใจของผมมี Sony กับ Olympus ครับ แต่พอไปดูจริงแล้ว Olympus แพงเกินงบไปเลย เลยเหลือ Sony ร่นที่มี 3 รุ่น ดังนี้ สำหรับผม เลือกตัว ICD-UX560F ราคา 3,340 บาท ครับ มองว่าเป็นของขวัญจาก Santa เวลาผ่านไปเนิ่นนาน ตอนนี้มาถึง 2017-05-05 แล้ว มารีวิวดีกว่าครับ ว่าใช้ไปแล้ว เป็นยังไงบ้าง สำหรับผมเครื่องอัดมันดีกว่าครับ โดยลองมาดูข้อสังเกตุ แต่ละข้อกันครับ

[C#] How to Get property name from object

งานของผมใช้ Dapper แล้วปัญหามันมีอยู่ว่าตอนสร้าง predicate(เงื่อนไข) มันต้องเอาชื่อ Property ไป Where ทำให้มันมีความเสี่ยงมาก ถ้าแก้ชื่อ Property แล้ว Refactor ไม่ครบครับ ผมเลยทำ Helper มาเพื่อช่วยให้มันไป Get ชื่อ Property จากตัว Object ซะเลยครับ ได้มาเป็น Update 2019-05-23 จากแบบที่สอง เราสามารถใช้ nameof ได้เลยครับ ตัวอย่าง ตามนี้เลย แถม Code สั้นกระชับด้วย สำหรับถ้าใครอยากอ่าน Step การ Research ของผม ตามนี้เลยครับ แบบที่ 1: Get Property with create an instance – ตัวอย่างการใช้งานครับ Trade-off: ปัญหาของแบบแรก คือ ต้องมีการ new Object ขึ้นมาครับ เสีย Cost มาแก้เป็นแบบที่สองดีกว่า แบบที่ 2: Get Property without create an instance – ตัวอย่างการใช้งานครับ จบไปแล้วกับ Blog ในสาย Coding ที่ทิ้งห่างไปนานพอสมควร หลังจากที่เริ่มเรียน ป โท ครับ