Tag SQL Server

[MSSQL] มาปรับปรุง Query การตรวจสอบเรื่อง Lock ให้ดีขึ้น

จาก Blog ตอนที่แล้ว ผมได้เขียนไปเกี่ยวกับ [MSSQL] ตรวจสอบ Table ว่าถูก Lock หรือใช้งานโดย Application หรือไม่ ? จาก Query เดิม เรารู้แค่ว่า Table ไหน Lock เท่านั้น คราวนี้มาลองเพิ่มข้อมูลที่จำเป็น เพื่อให้ Dev หรือ DBA มาวิเคราะห์กันได้ง่ายขึ้นครีบ โดยข้อมูลที่มเพิ่มใน Query ได้แก่ Let’ s Go – ลองมาปรับ Query กัน จากตัว Query เดิม เราพบว่าข้อมูลหลายๆส่วน ในตัว…

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

Microsoft SQL Server

หลายๆพอใช้ Database ไป ผ่านไปนานเข้า ระบบฟ้องว่า Disk เต็ม พอเข้าไปดูอ้าวไฟล์ Log (.ldf) มันโตกว่าไฟล์ Database (.mdf) เสียอีก คราวนี้มาลองดูสาเหตุกัน สาเหตุที่เป็นไปได้ พอรู้สาเหตุแล้ว มาดูวิธีแก้บ้าง 📢 ปรับเปลี่ยนเลือก Recovery Mode ที่ใช้ครับ ลองพิจารณา Recovery Model จาก Blog ผม หรือจะถาม Google ก็ได้ครับ เมื่อได้ Recovery Model ที่ใช่แล้ว มาดูวิธีขั้นตอนการปรับแก้ครับ 📢 ลดขนาดของ Database Log File…

เมื่อ Column Index ใช้กับ MS SQL Server ไม่ได้ !!!

Microsoft SQL Server

หลังจากทีเขียน Code กับ Product ที่ใช้กับตัว DB2 มานาน คราวนี้มีโอกาสได้ย้ายบ้าน จริงไม่เชิงย้ายหรอกครับ แค่เอา Product ตัวเดิม จากที่มันใช้ได้กับ DB2 ไปใช้กับ MS SQL Server ให้ได้ครับ พอให้น้องที่ทำงานมาลองทำ POC ดู อ้าว Error Table มันมี Column ที่ชื่อว่า Index แล้วทางแก้หละ จะทำ view ครอบหลอกก็ไม่ได้และ มีทั้ง สิ่งที่ผมทำ มีดังนี้ครับ ที่ผมทำแบบนี้ เพราะ ต้องการใช้ตัว Code…

[SQL] การเขียน Query ให้สามารถรองรับ Config ได้

เดี๋ยวขออธิบายเนื้องานคร่าวๆ ก่อนนะครับ ตอนนี้ผมทำตัว ฺBOTDMS DataSet สำหรับ Export ARS ไปส่งให้ทีมบัญชี เพื่อส่งไปให้ Bank ชาติอีกทีนึครับ แล้วที่นี้มันมีข้อกำหนดที่ว่า เราไม่รู้ว่า ตัว FX แต่ละ Type ยังไม่รู้ว่าต้องส่ง หรือ ไม่ส่ง แต่ FX แต่ละสัญญาต้อง Map เป็นค่า BOT Code อะไรด้วย จาก Requirement ที่ไม่แน่นอนแบบนี้ ตาม Requirement ข้างต้น ผม ทำ Table Mapping ไว้…

สรุปงาน SQL Server 2014 in memory & MS Azure (24-Apr-15)

ดองไปนานสำหรับบทความนี้นะครับ (จริงทความส่วนใหญ่ ก็ดองไว้นะ 555) เข้าเรื่องดีกว่า คือ วันที่ 24 เมษายน 2558 ที่ผ่านมาเนี่ย ผมได้เข้าร่วมงาน SQLClub Meeting in Bangkok: 24.April.2015 โดยเนื้อหาของงานเป็นการนำเสนออยู่ 2 เรื่องครับ ได้แก่ SQL Server 2014 In-Memory OLTP โดยคุณ Nicolas Souquet สำหรับสรุปของในแต่ละหัวข้อ ผมขอสรุปคร่าวๆ ก่อนอื่นเลยขอเริ่มที่ SQL Server 2014 In-Memory OLTP  นะครับ Feature “In-Memory OLTP”…

[SQL Server] เติม SPACE ให้ Column ใน Fixed Length Text File

Microsoft SQL Server

Blog ตอนนี้ น่าจะดองมาปีกว่าๆ ตอนทำข้อมูลส่งระบบ PTI โดยจะต้องส่งเป็น Fixed Length Text File และทางเลือกที่ ผมใช้ทำ คือ การเขียน Store Procedure เพื่อส่งข้อมูลให้ Application ไปเขียน Text File ต่อไปครับ โดยก่อนที่ผมมแชร์ประสบการณ์ Fixed Length Text File คือ อะไร ผมขอเกริ่นนิดนึงกกันก่อนว่าเจ้า Fixed Length Text File คือ อะไร Fixed Length Text File…

[SQL Server] แก้ไขโครงสร้าง Table SSMS ขึ้น Saving changes is not permitted

Microsoft SQL Server

สำหรับ DEV หรือ DBA มือใหม่ เมื่อได้สร้าง Table แล้ว เกิดต้องมีเหตุ กลับเข้ามาแก้ไขโครงสร้างของ Table อาจจะเกิดการ Change Requirement (จริงๆ จะแก้อะไรมันก็มาจากกรณีนี้เยอะมาก 555) หรือ ปรับโครงสร้างเพื่อเพิ่ม Performance เป็นต้น จะพบว่าตัว SQL Server เอง มันไม่ยอมให้เราแก้ไข โดยมี Message แจ้ง ดังรูป ก่อนที่เราจะรู้วิธีการแก้ไข ผมว่าเรามารู้ถึงสาเหตุดีกว่า ทำไมตัว SQL Server ถึงไม่ให้ก่อนดีว่า เพราะเนื่องจากบาง Operation ต้องมีการ Re-Created…

[Database] ข้อควรระวังในการใช้ TABLOCKX

brass padlock on rusty metal wire

ก่อนอื่นเลยขอบอกเลยว่า ปัญหานี้เกิดจากความสะเพร่าของผมเอง (ยังดีที่ไม่ส่งโปรแกรมให้ลูกค้า ไม่งั้นยาว) เกิดจากการเขียน Query ที่ผิดพลาด ทำให้ Table ใน Database ถูก Lock ไม่ให้แก้ไข ซึ่งส่งผลให้ User คนอื่นๆทำงานไม่ได้ เดี๋ยวจะงงไปกันใหญ่ว่าทำไมผิดเขียนโปรแกรมแล้ว Table ดัน Lock ได้  ผมของอธิบายที่มากันก่อน ปัญหา การแก้ไข หมายเหตุ การ Lock แบบนี้จะเป็นแบบ Exclusive คือ บังคับให้ Table นั้นมีได้เพียง 1  Connection หรือ 1 User เท่านั้น…

NOTE: ตรวจสอบ User ก่อนว่า Instane มี User นี้ หรือป่าว ? ถ้าไม่ก็สร้าง

Microsoft SQL Server

ตรวจสอบ User ก่อนว่า Instane มี User นี้ หรือป่าว ? ถ้าไม่ก็สร้าง จัดการ user ของ DB + สิทธิ ปล. คำสั่งบางส่วนพวก Create user ของ InstanceGen มาจาก ผมได้เพิ่ม Store ตาม 2 ตัวใน DB ของ AKTB มันจะมี sp_help_revlogin / sp_hexadecimal ให้รันตัว sp_help_revlogin จะได้ SQL…