วันศุกร์ที่ 29 เมษายน พ.ศ. 2554

Select multiple rows from single row data

Select multiple rows (records) from single row(record) data
กรณีที่ต้องการ Select ให้ได้จำนวน Record ตามจำนวนที่กำหนดเช่น

Name   | Qty
-----------
Dave   | 25
Nathan | 10
Chaim  | 8

คือต้องการให้ Dave ออกมา 25 Records , Nathan 10 Records และ Chaim 8 Records
วิธีทำโดยไม่ต้องเขียน Cursor ให้ยุ่งยากครับ ไปเจอมาจาก Stack Overflow
Ref site : http://stackoverflow.com/questions/5808083/get-multiple-records-from-one-record



;WITH T(Name,Qty) AS
(
SELECT 'Dave',25 union all
SELECT 'Nathan',10 union all
SELECT 'Chaim',8
), Numbers AS
(
SELECT number
FROM master..spt_values
WHERE   type='P' AND number > 0
)
SELECT Name
FROM T
JOIN Numbers ON  number  <= Qty

วันจันทร์ที่ 11 เมษายน พ.ศ. 2554

Move tempdb in SQL Server

USE tempdb
GO
EXEC sp_helpfile
GO



USE master
GO
ALTER DATABASE tempdb
    MODIFY FILE (NAME = tempdev, FILENAME = 'D:\SQL Databases\tempdb.mdf')
GO
ALTER DATABASE tempdb
    MODIFY FILE (NAME = templog, FILENAME = 'D:\SQL Databases\templog.ldf')
GO

วันจันทร์ที่ 28 มีนาคม พ.ศ. 2554

Reporting Service 2008 R2 , IE Not response when change parameters.

จากการทดสอบ Upgrade จาก SQL 2005 --> SQL 2008 R2
พบว่ารายงานที่เคยรันได้ปกติใน 2005 กลับไม่สามารถรันได้ใน 2008 R2 
ปัญหาที่พบคือ IE กิน CPU อย่างมากและก็ Not responseไป  ซึ่งได้ Search หาข้อมูลจากเว็บไมโครซอฟแล้ว
พบ Article นี้ซึ่งระบุว่าเป็น Bug   http://support.microsoft.com/kb/2276203
และต้องไป Download HotFix CU3 ที่  http://support.microsoft.com/kb/2261464
ได้ทดสอบ Install Hotfix นี้แล้วแต่แล้วปัญหาที่พบก็ยังไม่หายไป
ซึ่งตอนนี้ก็ยังไม่ทราบว่าจะแก้ปัญหานี้อย่างไร ทำให้การทดสอบเพื่อจะ Migrate ระบบจาก 2005 เป็น 2008 R2 ต้องติดปัญหาอยู่ตรงจุดนี้
และยังมีอีก Link หนึ่งที่มีผู้ใช้พบปัญหานี้ แต่ทาง Microsoft ยังไม่ได้มีคำตอบที่ชัดเจนแต่อย่างได 
-->  http://connect.microsoft.com/SQLServer/feedback/details/605780/ssrs-2008-r2-parameters-slow-response

หากท่านใดเคยพบปัญหานี้ รบกวน Post บอกหน่อยนะครับ
และถ้าผมพบวิธีแก้ปัญหานี้ผมจะ Post วิธีแก้ปัญหาโดยเร็วที่สุดครับผม


******* รวม Cumulative Update   1-6 for SQL Servier 2008 R2


 http://support.microsoft.com/kb/981356


###########PROBLEM SOLVED ##############
Download Commulative Update7 for SQL 2008 R2 

วันอังคารที่ 22 มีนาคม พ.ศ. 2554

Reporting Service, Deploy the operation has timeout

- Run Regedit
- Open  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- Add new DWORD Value
- Naming -->MaxRequestBytes 
- Input --> 5242880  for value  set it to a value of 5242880 (5MB). (This number can be
raised or lowered).
- Restart server (best advise)
 or restart SSRS Service and go to cmd prompt run "net stop http" then "net start http".

Ref site : http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/0130046d-9313-483c-b7b8-90d915f1c048

วันพุธที่ 16 มีนาคม พ.ศ. 2554

Run SSIS Package from command prompt.

1 .Open command prompt
2 .Use dtexec utility
3. C:\  dtexec  /f   d:\ssis\myPackage.dtsx /de password999

/f = file dir
/de = decrypt password

If you have both 2005 and 2008 , you have to specify which version to be run.
By default is 2005
This is example for using dtexec of 2008 version

Run command prompt and specified Dtexec path like this
"C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /f   d:\ssis\myPackage.dtsx /de password999

Ref site . http://msdn.microsoft.com/en-us/library/ms162810.aspx
Ref site . http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/744957ad-038a-46ba-aa70-0adab03a5f4d/