วันอังคารที่ 26 มกราคม พ.ศ. 2553

How to identify your SQL Server version and edition

วิธี ตรวจสอบ SQL Server Version
How to identify your SQL Server version and edition
------------------------------------------------------
ใช้ Query นี้ในการตรวจสอบได้เลยครับ

SELECT SERVERPROPERTY('productversion') as Version, SERVERPROPERTY ('productlevel') as ServicePack, SERVERPROPERTY ('edition') as ServerEdition


ตัวอย่าง
2005.90.1399 SQL Server 2005 RTM
2005.90.2047 SQL Server 2005 Service Pack 1
2005.90.3042 SQL Server 2005 Service Pack 2
2005.90.4035 SQL Server 2005 Service Pack 3

2008R2 10.50.4000.0 Service Pack2
2008    10.0.1600.22    RTM    Enterprise Edition (64-bit)
2008    10.0.2531.0      Service Pack1


The standard product version format for SQL Server is MM.nn.bbbb.rr where each segment is defined as:
MM - Major version
nn - Minor version
bbbb - Build number
rr - Build revision number



SQL Server Analysis Service SP3 Fixed

FIX: A SSAS 2005 or SSAS 2008 server crashes when you run a Multidimensional Expressions query that uses the CDBL function in a calculated member

Event Type: Error
Event Source: .NET Runtime 2.0
Error ReportingEvent
Category: None
Event ID: 1000
Date: 1/12/2010
Time: 4:20:17 P
MUser: N/A
Computer: OLAPSERVER

Description:Faulting application msmdsrv.exe, version 9.0.4035.0, stamp 492b1bb9, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51cdd, debug? 0, fault address 0x0000000000027ded.

จากปัญหาที่พบจากการ Install Service pack3 ใน MSSQL 2005 นั้น
ทำให้ MDX Query ที่เคยเขียนไว้ในรายงานทำให้ระบบ Crash กล่าวคือ
เมื่อทำการ Run Query ดังกล่าวจะทำให้ SSAS Service down เลยทีเดียว
ได้ค้นหาสาเหตุอยู่ครึงวันจึงได้ไปเจอว่า มันคือ BUG ของ Service Pack3 นั่นเอง - -"
(เนื่องจาก MDX Query ที่ได้เคยเขียนไว้ ณ ขณะนั้นใช้ Service Pack2)

วิธีการแก้ไขให้ไป Download ตัว Fix จากเว็บ Microsoft แล้วทำการ Install ครับ
Document : http://support.microsoft.com/default.aspx/kb/977309
Download : http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=976951&kbln=en-us
เลือก File ให้ตรงกับ OS / Version ด้วยนะครับ

วันอังคารที่ 12 มกราคม พ.ศ. 2553

The request failed or the service did not respond in a timely fashion

The request failed or the service did not respond in a timely fashion

In this case , SQL Server Analysis services is stoped by MDX Query.
Whitin SQL Server Service Pack3 bug.
That issue when runing Multidimensional Expressions query(MDX) that uses the CDBL function in a calculated member.

In this scenario, the Analysis Services server may crash. Additionally, the following events are logged in the Application log:


Case 1
Event Type: Error
Event Source: MSSQLServerOLAPService
Event Category: (256)
Event ID: 22

Description:The description for Event ID ( 22 ) in Source ( MSSQLServerOLAPService ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Internal error: An unexpected exception occured..


Case2
Event Type: Error
Event Source: .NET Runtime 2.0 Error Reporting
Event Category: None
Event ID: 1000

Description:Faulting application msmdsrv.exe, version 9.0.4035.0, stamp 492b1bb9, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51cdd, debug? 0, fault address 0x0000000000027ded.


In my case, Analysis Service is stoped and can not restart .
The error mesage always popup "The request failed or the service did not respond in a timely fashion " that make me confuse.
To restart server , that's not a good solutions.
To solve facing problem just do only End process dw20.exe
and then Analysis service can start correctly.
Good luck.

วันพุธที่ 6 มกราคม พ.ศ. 2553

MDXParameter , Capture Parameters value from MDX Query

จากการใช้งาน SQL Server Profiler ในการ Trace Query ต่าง ๆ นั้น
ให้ผลที่น่าพอใจพอสมควร แต่ในกรณีที่มีการรัน MDX Query ผ่าน Reporting Service
แล้วมีการ Input paramters ลงไป จะ Track Paramerters values ไม่ได้

เมื่อได้ลอง Search ดูก็ได้พบ Free Tool ตัวนึงมีชื่อว่า MDXParameter จากเว็บ Codeplex
ซึ่งมีความสามารถในการ Trace & Replace parameters values ทำให้เราสามารถนำ Query
มาทำการวิเคราะห์ต่อไปได้ ซึ่งถือว่ามีประโยชน์ดีทีเดียว อีกทั้งยังมีการ Export ข้อมูลที่ Trace
มาได้ลงใน MSSQL Server ได้ด้วย แต่ก็ยังมีข้อเสียคือไม่มี Column ที่เก็บ MDX Query ที่
ได้ Replace parameter แล้วลงไปด้วย ทำให้การนำไปใช้งานในต่อค่อนข้างจะยาก เพราะ
อย่างกรณีที่ทำการ Research เรื่องนี้คือต้องการที่จะนำ MDX Query ที่ User ได้รันไปทำ
CUBE Warm UP เพื่อประสิทธิภาพในการใช้งานครั้งต่อไป

ขั้นตอนการใช้งานหลังจาก Download มาแล้ว
* แนะนำให้รันที่ SSAS Server เพราะจาการทดสอบรันจาก Client แล้ว Point IP Addr ไปที่
Server แล้วตอน View Query เกิด Error ขึ้น
1 Run -- > MDXParameter.exe แล้ว Config ค่าต่าง ๆ ดังนี้
- SSAS Server for tracing = localhost (คือ SSAS Server ที่ต้องการ Trace Query)
- SQL Server = localhost (คือ DB Server ที่ต้องการ Point ไปเพื่อสร้าง Table)
- Database Name to save trace = QueryLog (คือ Database Name )
- Table Name to save trace = MDXTraceQuery (คือ Table Name ที่ต้องการ save trace data)
2 Click strat trace button รันไปจนกว่าจะพอใจ แล้วกด Stop ในระหว่างนี้ Program จะไม่ Show data
ใด ๆ ทั้งสิ้นจนกว่าจะกด Stop trace
3 เลือก Query ที่ต้องการดู (ให้เลือก Replace Parameter ด้วย)


Reference Site http://mdxparameter.codeplex.com/

วันศุกร์ที่ 18 ธันวาคม พ.ศ. 2552

SSAS Debuging via FlightRecorder

ตั้งแต่ Analysis Service 2005 ขึ้นไปมี feature ที่สามารถ Tracking การทำงานของของ OLAP
มีชื่อว่า FilghtRecorder ปกติแล้ว Service นี้จะ Start โดยอัตโนมัติ หาก Service นี้ไม่ Start
อาจเกิดจากการ Set properties ของ Server ที่ Disable ไว้
สามารถตรวจสอบได้ที่
  • Analysis Server Properties --> Log \ FlightRecord\Enabled
  • Change value to "ture"

ขั้นตอนการเปิด Setup เพื่อให้ FlightRecorder ทำงาน

  1. Open file --> C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\flightrecordertracedef.xml เพื่อทำการเปลี่ยนแปลงข้อมูล Template ให้ตรงตามต้องการ โดยใช้ Text editor เตรียมไว้
  2. สร้าง Trace template ใหม่โดยใช้ SQL Server Profiler แล้วเลือก Event ที่ต้องการ track
  3. Save file ที่ได้ แล้วใช้ Text editor เปิดไฟล์เพื่อ Copy code ในส่วนของ Event ที่ต้องการ ()
  4. Paste code ที่ Copy มาในข้อ 3 แทนที่ของส่วน Event ในไฟล์ flightrecordertracedef.xml และ Save file
  5. ทำการ Restart SSAS
  6. ไฟล์ Log ที่ได้คือ
  • FlightRecorderBack.trc เป็น History ไฟล์
  • FlightRecorderCurrent.trc เป็น Currently ไฟล์

ใช้ SQL Server Profiler ในการ View trace file

Site Reference http://patrice-truong.spaces.live.com/blog/cns!62BC7696F42B5!181.entry?ccr=1978