2008年9月30日 星期二
SQL定序
Cannot resolve collation conflict for equal to operation.
當你在建立DATABASE時可以選擇collation(定序),若你無法重建DATABASE,則可以調整每個TABLE中每個欄位的collation(定序)。
如果你跨DB join,則所有join的欄位定序都必須相同,否則就會出現你目前的錯誤,你可以進入Enterprise Manager中,選到你要的TABLE,按右鍵選擇Design Table,選到你要join的欄位,就可以設定collation(定序)。
當A與B的定序不同
合併讀取資時會因為定序值不同而出現錯誤訊息
Cannot resolve collation conflict for equal to operation
更改為以下後就可以直接抓取到資料
where A.username COLLATE Chinese_Taiwan_Stroke_CI_AS= B.username COLLATE Chinese_Taiwan_Stroke_CI_AS
2008年9月16日 星期二
IIS檔案上傳size限制
要求物件 錯誤 'ASP 0104 : 80004005' 不允許的操作,原因是web server的內定值被限制
以記事本開啟 C:\windows\sytem32\inetserv\metabase.xml
上傳限制:
找尋 AspMaxRequestEntityAllowed 字串
將 204800 (200K) 修改成你要的數字
下載限制:
找尋 AspBufferingLimit 字串
預設 4MB ,將它修改成你要的數字
該檔案由於被 IIS 系統使用中
請於 IIS 管理員中,於[本機電腦]上點右鍵
選擇[內容]進入後,將[啟用直接編輯 metabase 檔案] 勾選
即可變更metabase.xml檔案內容。
2008年9月12日 星期五
SQL2005 part4
從工作管理員看sqlserver.exe的記體使用量一直維持在131MB左右, 但可用記憶體剩2G多, 很怪! 另一台只有4G Ram的在工作管理員顯示吃到2.7G多(原因是開啟AWE後得從SQLSERVER: Total server memory看才正確!)
雖然很不想去動資料面, 畢竟這是廠商的職責, 不過看這樣子他們也是沒什麼招可玩了...
把自己學過的一點點東西拼湊起來急救看看, 先用sql profiler觀察一下, 大致是select幾個比較大的table時, cpu loading會衝到近滿載, 看了一下竟然沒建索引!! 自己照著畫面隨便建了幾個索引, 沒想到cpu loading馬上降下來!!
繼續把profiler錄下的語法拿到sql tuning advisor執行計畫跑看看, 工作成本變成原來的1/10, 感覺還滿爽的, 繼續再建幾個table的索引, 果然cpu好像吃了維骨力, 爬樓梯都不會喘了..傑克!這真是太神奇啦~~
更意外的是可用記憶體剩不到500MB啦(微軟建議/3gb跟AWE最好不要同時啟用, 以免造成OS記憶體不足, 這點有待觀察), performance monitor的SQLSERVER: Total server memory計數器數字也變成7G多, 看起來正常多了
A generic error occurred in GDI+
大部分原因是出在對該資料夾的寫入權限不足,或是沒有先產生該資料夾造成
-- 那你寫這什麼訊息啊! (/‵Д′)/~ ╧╧
微軟對該問題的KB
http://support.microsoft.com/?id=814675
2008年9月10日 星期三
SQL 2005 重要效能計數物件(Performance Counter)及建議值
列舉部份供參考:
| Object | Counter | Preferred Value |
| Memory | Available Mbytes | > 100MB |
| Paging File | %Usage | < 70% |
| Process (sqlservr) | %Privileged Time | < 30% of %Processor Time (sqlservr) |
| Processor | %Privileged Time | < 30% of Total %Processor Time |
| PhysicalDisk | Avg. Disk Sec/Read | < 8ms |
| PhysicalDisk | Avg. Disk sec/Write | < 8ms (non cached) < 1ms (cached) |
| SQLServer:Access Methods | Forwarded Records/sec | < 10 per 100 Batch Requests/Sec |
| SQLServer:Access Methods | FreeSpace Scans/sec | <10 per 100 Batch Requests/Sec |
| SQLServer:Access Methods | Full Scans / sec | (Index Searches/sec)/(Full Scans/sec) > 1000 |
| SQLServer:Access Methods | Workfiles Created/Sec | < 20 per 100 Batch Requests/Sec |
| SQLServer:Access Methods | Worktables Created/Sec | < 20 per 100 Batch Requests/Sec |
| SQL Server:Buffer Manager | Buffer Cache hit ratio | > 90% |
| SQL Server:Buffer Manager | Free list stalls/sec | < 2 |
| SQL Server:Buffer Manager | Lazy Writes/Sec | < 20 |
| SQL Server:Buffer Manager | Page Life Expectancy | > 300 |
| SQLServer:Buffer Manager | Page lookups/sec | (Page lookups/sec) / (Batch Requests/sec) < 100 |
| SQL Server:Locks | Lock Requests/sec | (Lock Request/sec)/(Batch Requests/sec) < 500 |
| SQLServer:SQL Statistics | SQL Compilations/sec | < 10% of the number of Batch Requests/Sec |
| SQLServer:SQL Statistics | SQL Re-Compilations/sec | < 10% of the number of SQL Compilations |
詳細資訊:
TechNet Webcast: SQL Server Performance Counter Guidance (Level 300)