Category MS SQL Server

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

Microsoft SQL Server

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

สรุปงาน 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 Azure Machine Learning โดยคุณ Peter Myers สำหรับสรุปของในแต่ละหัวข้อ ผมขอสรุปคร่าวๆ ก่อนอื่นเลยขอเริ่มที่ SQL Server 2014…

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

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

[SQL] Multiplication Aggregate (คูณ Column เดียวกัน)

หลายคนอาจจะสงสัยว่า SQL มันก็นำมาคูณได้อยู่แล้วนี่ เอา Column A x Column B ก็จบ แต่ถ้าผมเปลี่ยนโจทย์หละลองทำการคูณในเหมือน Function SUM ใน SQL นะครับ ทวนความรู้กันก่อน Function SUM ของ SQL คือ การหาผลรวมของข้อมูลใน Column เดียวกัน ถ้าเราทำ Function MUL หรือ MULTIPLY ใน SQL คือ การหาผลคูณของข้อมูลใน Column เดียวกัน เมื่อเข้าใจ Concept แล้วไปลองทำ ผมค้นพบความโหดร้าย…

[SQL Server] ไม่สามารถแก้ไขโครงสร้าง Table ใน SQL Server Management Studio (SSMS) ได้

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 ได้  ผมของอธิบายที่มากันก่อน ปัญหา ปัญหา คือ เราต้องตรวจสอบการ Accept Transaction ของลูกค้า ว่าได้ถูก Accept โดยพนักงานไป หรือไม่ แต่ปัญหามันเกิดว่าเครื่องแรกกด Accept ไปแล้ว แต่เครื่องที่ 2 ไม่เห็นทำให้เกิดการ…

[SQL SERVER] Invalid character value for cast specification

Microsoft SQL Server

วันนี้ผมแก้ App เก่าๆของที่บริษัทแล้วเกิดเจอปัญหา Invalid character value for cast specification ตอนนั้นไล่ข้อมูลแทบตาย เจอมวลมหา Function Call และไปพบว่ามันผิดที่วันที่ (Date) ที่มีการจัด Format ผิด โดยไอ้เจ้าปัญหา Invalid character value for cast specification มันมีความหมายว่าข้อมูลทางเราเป็น input ส่งให้ Database แล้วตัว DBMS เองไม่สามารถแปลงข้อมูล และเก็บลงฐานข้อมูลได้นั้น ซึ่งสาเหตุอาจจะเกิดจากหลายๆสาเหตุ เช่น ข้อมูลประเภท Date ที่ Format ผิด หรือข้อมูลประเภท…

[MSSQL] Database log file คือ อะไร

Microsoft SQL Server

สำหรับฐานข้อมูลของทุกๆค่าย ตัวเนื้อของ Database มีไฟล์ที่สำคัญอยู่ 2 ตัว  ได้แก่ คราวนี้มาดูที่ตัวของ MS SQL บ้างดีกว่า ว่าไฟล์กลุ่มนี้มีอะไรบ้าง จากหัวเรื่อง Blog นี้จั่วหัวในเรื่องของ Database Log File ไว้ เรามาดูกันดีกว่ามันมีการทำงานอย่างไร เริ่ม Database ทำงาน รู้แล้วว่าอะไร ที่มันต้อง Log บ้าง คราวนี้ลองมาดูโครงสร้างแบบ Logical(Virtual Log) ของ Log กัน โดย Log แต่ละตัวมี ID ประจำของมัน ก็ คือ…