由於開發人員的電腦環境都比複雜的,像我們公司內部就有架設 AD ( Active Directory ) 而登入到客戶的 VPN 環境下也有自己的 AD,像我之前寫過的【主機於 AD 環境下設定 VPN 時需注意 DNS 設定是否正確】文章就是因為撥接上 VPN 之後所發生的問題,原本以為問題就這樣解決,但是事實並非如此,當我撥接上 VPN 之後若要再用 Windows 驗證的方式連接公司內部 SQL Server 時,卻會發生【 無法產生 SSPI 內容。 (Microsoft SQL Server) 】的錯誤,直到剛剛才找到解決之道。
... 繼續閱讀 ...
最近遇到一個 SQL Server 連線問題,管理 SQL Server 資料庫的人一直從特定壹台主機得到【建立具有整合式安全性的連接時 SSPI 交握失敗,其錯誤碼為 0x8009030c; 此連接已經關閉。 [CLIENT: 192.168.xx.xxx]】的錯誤訊息,你知道的,身為一個專業人士遇到沒見過的錯誤訊息第一件事就是上網搜尋有沒有人問過相關問題,不過當這中文訊息查到的訊息少個可憐,外加所有資料都是沒有解答的討論,你會怎麼辦?是的,我跟你一樣,先企圖翻譯成英文再去查,通常會有滿意的答案!
... 繼續閱讀 ...
SQL Server 提供的 Database Mail 功能非常好用,設定也很簡單,不過有在使用的人一定會遭遇到運作記錄過大的問題 ( Database Mail 紀錄 ),因此當到了需要清除的時候,就可以參考此篇文章說明進行記錄清除等作業。另一個使用的機會就是當有大量 Database Mail 郵件被產生或因為 SMTP 異常導致失敗時若需要批次刪除這些大量郵件,也可以透過系統內建的預儲程序進行刪除,以下是我的資料庫管理筆記。
... 繼續閱讀 ...
Visual Studio 2010 Premium 企業版 的 資料庫開發 功能非常的強大,可提供完整資料庫的變更管理並進一步達到版本控管的目的,但在做 結構描述比較 (即資料庫結構比對) 時若使用預設的資料結構選項會有些小問題,主要是正式機資料庫與測試機資料庫因為環境不一致所造成的小差異會導致在做結構描述比較時讓目的資料庫發生異常,例如登入權限消失、資料庫無法存取、…等狀況,所以對於資料庫專案需要同時套用於多種不同資料庫環境時,就必須要能忽略一些資料庫結構比對的項目才能順利的操作。
... 繼續閱讀 ...
我發現許多人對使用 LINQ 執行 JOIN 查詢並不是那麼的熟悉,而且語法也不見得像 T-SQL 那樣直覺,但事實上只是我們比較熟悉 T-SQL 的語法與資料庫架構而已,當我們換成 ORM (Object-relational mapping) 技術後所有對資料的操作必須全部改以「物件」與「實體」來思考,所以在這轉換的過程經常轉不過去,連我自己也有時會忘記怎麼寫,也經常利用 Linq Samples and the Sample Query Explorer 幫我查出適當的寫法。
... 繼續閱讀 ...
今天有個客戶的資料庫發生了異常的鎖定狀況,但並不是鎖死 (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 ) 應該隨時都很迅速的製作出報表,算是非常方便的報表開發工具,以下就是使用報表產生器快速上手的密技。
... 繼續閱讀 ...