2007-08-08 01:55 AM 1 20,557
Transaction (Process ID 60) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction. 之...
2007-08-04 01:04 AM 3 20,353
朋友想在SQL Server中進行UrlEncode,原本想用SQLCLR包System.Web.HttpUtility.UrlEncode,但似乎SQLCLR裡不能匯入System.Web[註],後來雖然找到了Peter DeBetta用T-SQL寫的UrlEncode UDF,但處理中文有問題。...
2007-07-20 07:29 AM 22 51,336
遇到一個可以應用SQL 2005 PIVOT新功能的好例子,拿出來分享一下。 分析IIS Log時,我希望統計每一秒鐘不同執行結果(Status Code=200, 304, 401, 404, 500 ...)的次數,由IISLog匯入而成的Table可以找到LogTime與StatusCode兩...
2007-07-13 11:22 AM 1 9,091
之前我有介紹過在SQL 2005的維護計劃中,若要清除過期檔案得另外加設Maintenance Cleanup Task。 後來接到網友回應,提到資料庫備份到獨立子目錄時(Create a sub-directory for each database)的清理問題,由於原先也沒深入研究過,就順勢剖析...
2007-06-12 08:11 AM 2 11,443
我寫了一個SQLCLR的UDF(User Defined Function),對傳入的字串做了些處理再傳回: 1: [Microsoft.SqlServer.Server.SqlFunction] 2: public static SqlString DoSomething(SqlS...
2007-06-01 08:40 PM 4 17,766
今天匯入一個Excel 工作表到SQL 2005時,為了省空間,我沒依它建議,將每個欄位都設成nchar(255),而是一一決定用nvarchar, varchar或char,指定適當的長度,有些非NULL的欄位也一併加上不允許NULL的限制以求嚴謹。 開始匯入後,我收到以下的錯誤訊息: Messa...
2007-05-30 01:38 PM 0 8,655
資料庫要從SQL 2000搬到SQL 2005,我最慣用的手法是: 1) 將SQL 2000的DB Detach2) MDF, LDF檔案Copy到SQL 2005主機3) 在SQL 2005上Attach4) 移除新Attach上去DB中的原User資料(不然建立User Mapping時會因為U...
2007-05-23 01:14 AM 1 11,860
SQL 2005中的Common Table Expression(CTE)(註1)是很酷的新功能,比Temporay Table輕便(不用Create Table),又比Derived Table(註2)更耐用(建好後可以反覆使用),更不用說它還支援遞迴式參考的花式用法。 想當初在Beta版時代我...
2007-05-23 12:04 AM 4 31,001
從SQL 2000時代,相信不少人就知道運用Derived Table的技巧,將一段特定條件的查詢結果當作一個資料表來處理,讓整個查詢語句變得簡潔,且不必付出操弄暫存資料表的額外成本。不過,Derived Table與暫存資料表間還是有些差別,暫存資料表在建立後,可以反覆查詢,而Derived Ta...
2007-05-17 12:14 PM 15 30,738
之前用SSIS在做ORACLE與SQL間資料搬移時,最痛恨遇到NVarchar跟Unicode Code問題了。 明明是NVarchar(SQL)搬到NVarchar2(ORACLE),兩邊都Support Unicode,但SSIS都老會要求指定Data Flow Destination的Code...
2007-04-28 12:54 AM 0 8,520
最近要對付一個每天狂長的痴肥資料庫,由於要保全交易相關證據供日後追查,資料表必須保存往來交換的XML原始檔案。XML格式向來以冗長囉嗦聞名,加上每日交易量愈來愈大,資料庫面臨空間不足及備份管理的壓日益沈重。於是我決定雙管齊下改善這個問題: 第一,將過期資料定期搬到另一個資料庫,就可以採行較寬鬆的備份...
2007-04-23 05:13 PM 13 30,330
正在寫一段由SqlDataReader取回資料逐一處理的程式,由於資料筆數很多,我就用了以下的程式,先小小Read()個三筆試算,就Close SqlDataReader及SqlConnection結束作業。 static void Test(){ using (SqlConnection ...
2007-04-17 11:46 PM 0 7,138
今天發現正式主機上的ASP.NET 2.0程式傳回以下錯誤:Stack Trace:[SqlException (0x80131904): New request is not allowed to start because it should come with valid transactio...
2007-04-10 08:11 PM 6 12,586
奈米(nanometer)科技最有趣的一點在於當物質的粒子小到一定程度時,物質的特性會迥異於原本巨觀尺度下的物理、化學及生物特性。以無人不愛的黃金為例,當它被製成金奈米粒子(nanoparticle)時,顏色不再是金黃色而呈紅色,說明了光學性質因尺度的不同而有所變化。又如石墨因質地柔軟而被用來製作鉛...
2007-03-29 06:04 PM 0 19,148
今天跟同事討論用T-SQL查資料表中最大值的方法,一群人總共想出三種: SELECT TOP 1 + ORDER BY, SELECT MAX, 再來是用CURSOR的FETCH LAST。三種做法,哪一個最有效率呢? 初步想起來,用CURSOR是最笨重的,肯定最慢。剩下的兩種,MAX()是Aggr...
2007-03-15 03:00 PM 0 20,643
.NET新推出的TransactionScope提供了更簡便封裝Transaction的寫法。今天試著從我的Windows 2003 用TransactionScope包裝一段對SQL 2005 @ Windows 2000的程式碼時,卻連闖三關才達陣! 首先,我收到這個錯誤: System.Run...