其實早在 Entity Framework 4.0 之前就已經提供了從 ObjectContext 呼叫 預儲程序 (Stored Procedure) 的能力,不過早期的 Entity Framework V2 版本支援度不夠,以致於只要是這個預儲程序的回傳值的型別不是 實體 (Entity) 的話,就會無法直接從 ObjectContext 進行叫用,這個架構上的問題直到 V4 這個版本才正式解決,以下就是從 Entity Framework 呼叫預儲程序的方法。
... 繼續閱讀 ...
前天公司的開發用資料庫主機的硬碟異常,為了拯救資料所以我把整個資料庫主機重灌了,安裝好之後意外的把資料庫裡的本機管理者登入權限移除 (BUILTIN\Administrators),隔天公司其他人由於原本的帳號都登入不了,因此改用 sa 嘗試登入 (重灌後密碼變了),結果卻嘗試到連 sa 帳戶都被鎖定,你說我該怎樣解決呢?^^
... 繼續閱讀 ...
昨天試著準備一台含有 SQL Server 的 VHD 基礎磁碟,在主機與資料庫都安裝設定好且都測試無誤後使用 sysprep 一般化處理過,試圖準備出一個非常乾淨且內含 SQL Server 的基礎磁碟,不過在開機完並設定伺服器基本參數後發現了我的 SQL Server 2005 的 SQL Server Agent 服務無法啟動,花了些時間才釐清問題,因此留下筆記。
... 繼續閱讀 ...
由於開發人員的電腦環境都比複雜的,像我們公司內部就有架設 AD ( Active Directory ) 而登入到客戶的 VPN 環境下也有自己的 AD,像我之前寫過的【主機於 AD 環境下設定 VPN 時需注意 DNS 設定是否正確】文章就是因為撥接上 VPN 之後所發生的問題,原本以為問題就這樣解決,但是事實並非如此,當我撥接上 VPN 之後若要再用 Windows 驗證的方式連接公司內部 SQL Server 時,卻會發生【 無法產生 SSPI 內容。 (Microsoft SQL Server) 】的錯誤,直到剛剛才找到解決之道。
... 繼續閱讀 ...
今天有個客戶的資料庫發生了異常的鎖定狀況,但並不是鎖死 (Deadlocked) 的情況,所以必須要進一步分析才能知道問題的主因,不過在分析的過程中卻遇到了一個問題,那就是雖然知道是哪一條連線(SPID)出問題,但卻不知道應該如何快速查出這條有問題的連線實際執行的 T-SQL 為何,唯有查出這條 T-SQL 實際執行的內容我才能找出應用程式中的哪一段程式出錯,這個技巧算是非常實用喔!
... 繼續閱讀 ...
今天在客戶端發現資料庫中存留有一些重複的垃圾資料,因此想透過 T-SQL 指令直接刪除重複的資料,不過一般透過常見透過 GROUP BY 的方式刪除重複資料卻不適用於今天的狀況,因為我們資料表的主索引鍵 (Primary Key) 是 uniqueidentifier 類型,不能透過 MAX 彙總函示運算,這時就要利用 OVER 子句並搭配 PARTITION BY 語法才能幫我完成任務。
... 繼續閱讀 ...
在有多個應用程式使用相同 SQL 登入帳號存取 SQL Server 資料庫時,經常會無法在 SQL Server 管理介面中分析連線來源到底是誰,例如同時有一個網站與另一個 Windows 服務同時都在運作並連接資料庫的時候。遇到這種情況如果當資料庫發生負載過重時經常無法有效區別出到底是哪個應用程式發生問題,這時就可以利用今天的技巧來協助分析。
... 繼續閱讀 ...
今天去客戶那邊教了一堂 SQL Server 2008 R2 Reporting Services 基礎課程,雖然短短三個小時能教的東西不多但重點應該都點到了,而且快速上手之後只要有資料在手,透過內建的報表產生器 ( Report Builder ) 應該隨時都很迅速的製作出報表,算是非常方便的報表開發工具,以下就是使用報表產生器快速上手的密技。
... 繼續閱讀 ...
一般來說透過 SQL Server 2008 R2 的安裝界面在安裝的過程就能將 Reporting Services 的組態給設定好,不過也有可能在事後修改 Reporting Services 的組態設定,設定過程也算十分直覺,比較有可能出問題的地方應該就是有些專有名詞看不懂之類的,不過就算再怎麼不懂,按圖施工應該也是能成功的,以下就是設定的過程圖示。
... 繼續閱讀 ...