The Will Will Web

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

SQL Server 安全性概論與無法刪除資料庫使用者的解決辦法

經常有人來問我特定 SQL Server 資料庫裡的使用者無法刪除的問題,這問題其實跟 SQL Server 的安全性架構有很大關係,解決這個問題當然還是瞭解觀念的重要性大於知道如何解決問題。除了講解觀念外,本篇文章也會列出一些出問題時的情境,方便快速解決問題。

... 繼續閱讀 ...

如何清除 Management Studio 登入時的伺服器名稱歷史清單

我的 SQL Server Management Studio 已經使用了非常久了,由於工作上經常要連接到不同的資料庫執行個體,所以每次開啟 Management Studio 實在伺服器名稱那邊的歷史清單項目就非常多,數量多倒還沒關係,重點是這些清單裡已經有許多資料庫由於電腦名稱變更過已經連不到了,而且還沒提供介面可清空或管理這些歷史連線清單(MRU List),我花了時間研究終於找到清空這些歷史清單的方式。

... 繼續閱讀 ...

將 SQLEXPRESS 從 SQL 2005 升級 SQL 2008 的注意事項

像我從 Visual Studio 2008、Visual Studio 2008 SP1、Visual Studio 2010 一直到現在的 Visual Studio 2010 SP1 一路升級上來,在眾多開發工具與開發環境裡有個軟體的版本一直不會變,那就是開發工具內建的 SQLEXPRESS 執行個體,如果你一開始安裝了Visual Studio 2008 就會預設先安裝好 SQL Server 2005 Express Edition 進去,之後升級 Visual Studio 並不會連帶升級 SQLEXPRESS 執行個體的版本,若你單純的想移除 SQLEXPRESS 後改裝新版會引發一些不必要的錯誤,這裡我整理了些問題與注意事項供各位參考。

... 繼續閱讀 ...

SQL Server 如果本機管理者與 sa 帳戶都無法登入怎麼辦?

前天公司的開發用資料庫主機的硬碟異常,為了拯救資料所以我把整個資料庫主機重灌了,安裝好之後意外的把資料庫裡的本機管理者登入權限移除 (BUILTIN\Administrators),隔天公司其他人由於原本的帳號都登入不了,因此改用 sa 嘗試登入 (重灌後密碼變了),結果卻嘗試到連 sa 帳戶都被鎖定,你說我該怎樣解決呢?^^

... 繼續閱讀 ...

伺服器被 sysprep 一般化後導致 SQLAgent 無法啟動的問題

昨天試著準備一台含有 SQL Server 的 VHD 基礎磁碟,在主機與資料庫都安裝設定好且都測試無誤後使用 sysprep 一般化處理過,試圖準備出一個非常乾淨且內含 SQL Server 的基礎磁碟,不過在開機完並設定伺服器基本參數後發現了我的 SQL Server 2005 的 SQL Server Agent 服務無法啟動,花了些時間才釐清問題,因此留下筆記。

... 繼續閱讀 ...

資料庫專案無法寫入目標資料庫時的解法 (調整欄位大小時)

Visual Studio 2010 Premium 企業版 資料庫專案 功能在進行 結構描述比較 (Schema Compare) 時,當你的來源資料庫特定表格某個欄位的欄位大小變更時(變小)可能會引發「無法成功更新目標結構描述。如需詳細資訊,請參閱 [錯誤清單] 視窗。」的錯誤(The target schema could not be updated successfully. For more information, see the Error List window.),此時就必須用今天的方法來解決。

... 繼續閱讀 ...

DBCC CHECKTABLE 無法檢查表格名稱中有小數點的情況

在我們代管眾多客戶的 SQL Server 資料庫中其中有個客戶的資料庫非常特殊,他們的資料表命名都會有小數點在內,例如:[dbo].[Order.Profile],至於為什麼這樣命名已經不可考 (我猜是為了讓表格在 Management Studio 裡排序的比較整齊吧?!),這樣的設計在開發上的確沒有什麼問題,只要適切的加上中括弧 ( [xxxx] ) 即可,但是在管理面來說,就不是那樣可愛了,像我昨天為了要執行 DBCC CHECKTABLE 來檢查資料表時就試了好久無法成功,直到詢問微軟技術支援中心才得到解答。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...