The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

介紹好用網站:Microsoft | 語言入口網站 (微軟的翻譯對照表)

最近遇到一個 SQL Server 連線問題,管理 SQL Server 資料庫的人一直從特定壹台主機得到【建立具有整合式安全性的連接時 SSPI 交握失敗,其錯誤碼為 0x8009030c; 此連接已經關閉。 [CLIENT: 192.168.xx.xxx]】的錯誤訊息,你知道的,身為一個專業人士遇到沒見過的錯誤訊息第一件事就是上網搜尋有沒有人問過相關問題,不過當這中文訊息查到的訊息少個可憐,外加所有資料都是沒有解答的討論,你會怎麼辦?是的,我跟你一樣,先企圖翻譯成英文再去查,通常會有滿意的答案!

... 繼續閱讀 ...

如何清除 SQL Server 的 Database Mail 紀錄與發送失敗郵件

SQL Server 提供的 Database Mail 功能非常好用,設定也很簡單,不過有在使用的人一定會遭遇到運作記錄過大的問題 ( Database Mail 紀錄 ),因此當到了需要清除的時候,就可以參考此篇文章說明進行記錄清除等作業。另一個使用的機會就是當有大量 Database Mail 郵件被產生或因為 SMTP 異常導致失敗時若需要批次刪除這些大量郵件,也可以透過系統內建的預儲程序進行刪除,以下是我的資料庫管理筆記。

... 繼續閱讀 ...

Visual Studio 2010 資料庫專案 - 結構描述比較選項設定筆記

Visual Studio 2010 Premium 企業版 資料庫開發 功能非常的強大,可提供完整資料庫的變更管理並進一步達到版本控管的目的,但在做 結構描述比較 (即資料庫結構比對) 時若使用預設的資料結構選項會有些小問題,主要是正式機資料庫測試機資料庫因為環境不一致所造成的小差異會導致在做結構描述比較時讓目的資料庫發生異常,例如登入權限消失、資料庫無法存取、…等狀況,所以對於資料庫專案需要同時套用於多種不同資料庫環境時,就必須要能忽略一些資料庫結構比對的項目才能順利的操作。

... 繼續閱讀 ...

分享幾個 LINQ to SQL 執行各種 Join 查詢的技巧

我發現許多人對使用 LINQ 執行 JOIN 查詢並不是那麼的熟悉,而且語法也不見得像 T-SQL 那樣直覺,但事實上只是我們比較熟悉 T-SQL 的語法與資料庫架構而已,當我們換成 ORM (Object-relational mapping) 技術後所有對資料的操作必須全部改以「物件」與「實體」來思考,所以在這轉換的過程經常轉不過去,連我自己也有時會忘記怎麼寫,也經常利用 Linq Samples and the Sample Query Explorer 幫我查出適當的寫法。

... 繼續閱讀 ...

取得 SQL Server 資料庫正在執行的 T-SQL 指令與詳細資訊

今天有個客戶的資料庫發生了異常的鎖定狀況,但並不是鎖死 (Deadlocked) 的情況,所以必須要進一步分析才能知道問題的主因,不過在分析的過程中卻遇到了一個問題,那就是雖然知道是哪一條連線(SPID)出問題,但卻不知道應該如何快速查出這條有問題的連線實際執行的 T-SQL 為何,唯有查出這條 T-SQL 實際執行的內容我才能找出應用程式中的哪一段程式出錯,這個技巧算是非常實用喔!

... 繼續閱讀 ...

如何刪除 SQL Server 資料庫中重複的資料 (兩種不同解法)

今天在客戶端發現資料庫中存留有一些重複的垃圾資料,因此想透過 T-SQL 指令直接刪除重複的資料,不過一般透過常見透過 GROUP BY 的方式刪除重複資料卻不適用於今天的狀況,因為我們資料表的主索引鍵 (Primary Key) 是 uniqueidentifier 類型,不能透過 MAX 彙總函示運算,這時就要利用 OVER 子句並搭配 PARTITION BY 語法才能幫我完成任務。

... 繼續閱讀 ...

講解 SQL 連線字串中關於 Application Name 參數的用途

在有多個應用程式使用相同 SQL 登入帳號存取 SQL Server 資料庫時,經常會無法在 SQL Server 管理介面中分析連線來源到底是誰,例如同時有一個網站與另一個 Windows 服務同時都在運作並連接資料庫的時候。遇到這種情況如果當資料庫發生負載過重時經常無法有效區別出到底是哪個應用程式發生問題,這時就可以利用今天的技巧來協助分析。

... 繼續閱讀 ...

SQL2008R2 Reporting Services 報表產生器 3.0 快速上手

今天去客戶那邊教了一堂 SQL Server 2008 R2 Reporting Services 基礎課程,雖然短短三個小時能教的東西不多但重點應該都點到了,而且快速上手之後只要有資料在手,透過內建的報表產生器 ( Report Builder ) 應該隨時都很迅速的製作出報表,算是非常方便的報表開發工具,以下就是使用報表產生器快速上手的密技。

... 繼續閱讀 ...

SQL2008R2 Reporting Services 組態管理員 設定筆記

一般來說透過 SQL Server 2008 R2 的安裝界面在安裝的過程就能將 Reporting Services 的組態給設定好,不過也有可能在事後修改 Reporting Services 的組態設定,設定過程也算十分直覺,比較有可能出問題的地方應該就是有些專有名詞看不懂之類的,不過就算再怎麼不懂,按圖施工應該也是能成功的,以下就是設定的過程圖示。

... 繼續閱讀 ...