บทความ

กำลังแสดงโพสต์จาก พฤษภาคม, 2011

Solve: SSRS2008 R2 Extrem Slow, Bug Parameter with BETWEEN Command

สวัสดีครับ วันนี้ ผมมี ปัญหาและวิธีการแก้ไขปัญหา ของ SQL Server Reporting Service 2008 R2 SP1 มาเล่าให้ฟังครับ Environment Server ของ ผมคือ - Server OS : Windows 2008 R2 Ent. x64 - Hardware : PowerEdge 11G R610 8 core cpu, RAM: 16 GB, Disk raid:0 for OS Raid :10 for data and Raid 10 for log and Temp DB (Disk on SAN) - Network: 1 GB/s เอาเป็นว่า เครื่อง เทพสุดๆ Run SQL Server และ Reporting Service (Native Mode) แค่นั้น ครับ ผมเขียน Store Procedure รับ parameter 2 ตัว คือ @FromDate และ @ToDate Output เป็น Trasaction ตามวันที่ระบุ จาก from ถึง to ผมเขียน SQL Command โดยใช้ คำสั่ง SELECT col1, col2, amount FROM Trans WHERE TransDate BETWEEN @FromDate AND @ToDate ทำการทดสอบ Execute Store Prodecure ผ่าน Query Analyzer แล้ว ทำงานได้เร็วมาก ไม่ถึง 3 msec. (Data size 3 GB) แต่พอ ส่งให้ Reporting Service เพื่อ Display ใน Report ปรากฎว่า 5 นาทีผ่านไปยังไม่เสร็จครับ ผมทดสอบแล้ว ทดสอบอีก ประมาณ 10 กว่าครั้ง ก็ใช้เวลานานเหมือนเดิม ก็แสดงว่า ไม่ได้เป็นแค่เพียง ครั้งแรก เหมือนกับปัญหาของท...

กลับมาแล้วครับ Write Back to Link Server

รูปภาพ
ขออภัย สำหรับ หายไปนานเลย ครับ Project เริ่มเป็นรูปเป็น ร่างแล้ว เลยพอมีเวลามานั่งเขียน Blog ที่ผ่านมาเล่าแต่เรื่อง Select ข้อมูลจาก Link Server คราวนี้ ขอ เล่า การ Update, Insert, Delete บ้างครับ ที่เจอมา คือ หลังจากสร้าง Link Server ไปที่ Informix แล้ว ดึงข้อมูลได้ แต่ถ้า จะทำการ Update, Insert, Delete จะต้องเข้าไป Set ค่าบางอย่าง ที่ Link Server ครับ คือ เปิด SQL Management Studio -> Server Objects -> Linked Server -> Providers -> เลือก Provider ที่ใช้ (ของผม ผ่าน ODBC เลือำ MSDASQL) Click ขวาเลือก Properties แล้ว ทำการ Enable : Allow inprocess Enable : Non transacted updates แล้ว กด Ok จากนั้นทำการ ทดสอบ Insert, Delete ดู ด้วย Command ดังนี้ INSERT INTO OPENQUERY( [link_server] , 'select col1, col2, col3 from table1' ) VALUES ( 1,2,3 ); DELETE FROM OPENQUERY( [link_server] , 'select col1, col2, col3 from table1' ) WHERE col1=1; ส่วน Command Update นั้น ผมทำการ ทดสอบแล้ว ไม่สามารถ Update ได้ครับ จะ Error ประมาณ Server: Msg 7399, Level 16, State 1, ... กร...