The Will Will Web | All posts tagged 'sql'

The Will Will Web

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

解決 Management Studio 管理工具無法變更表格結構的問題

這陣子經常在台中教書,每次換到不同班的學生就會遇到一次這個問題,因為從 SQL Server 2008 開始 Management Studio 管理工具預設會防止儲存需要資料表重建的變更(Prevent saving changes that require table re-creation),意思是說,當你在修改資料庫表格結構時,當修正的幅度過大,例如移除欄位、變更欄位順序、變更欄位型態、變更欄位長度、變更是否允許 NULL等狀況,預設都會拒絕你變更資料表結構,導致按下儲存按鈕之後並沒有真正的變更資料結構(Schema),這個預設設定對剛踏入 IT 屆小白兔來說實在有點挫折,不過這點安全控制也保護了資料庫遺失資料的風險。

... 繼續閱讀 ...

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 異常導致失敗時若需要批次刪除這些大量郵件,也可以透過系統內建的預儲程序進行刪除,以下是我的資料庫管理筆記。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

安裝 SQL Server 2008 容錯轉移叢集心得筆記 – 第 1 篇

SQL Server 2008 容錯轉移叢集架設沒想像這麼簡單,絕對不是照著安裝精靈按下一步、下一步就能夠完成的,而且 SQL Server 2008 RTM 版本根本無法成功架設叢集,害我第一次架設了 6 小時然後在最後一步失敗,最後安裝失敗的 SQL 資料庫實體還移不掉,只好從作業系統全部重新再來一次,這難得的經驗還是要記錄一下,但由於步驟太多,所以會區分幾篇文章。

... 繼續閱讀 ...

介紹好網站:從 SQL Developer Support 發現常見開發技巧

我有訂閱 MSDN Blogs RSS 的習慣,但這個 RSS 每天都差不多會有幾十篇到上百篇的文章在這裡出現,我當然無法全部看完,所以這個 RSS 對我來說純粹是一個「隨緣」的 RSS 訂閱,但三不五時就會發現一些不錯的部落格與文章,像是今天要介紹的 Common tips and tricks from a SQL Developer Support perspective 部落格就是一例,裡面有好多跟 SQL Server 開發相關的技巧,真的挖到寶了。

... 繼續閱讀 ...

善用 SQL Server Management Studio 選項設定DB作業環境

我們每天與 SQL Server 資料庫為伍,絕對不能跟 Management Studio 不熟,就像我們一般日常做程式開發時一樣,開發工具的「選項」設定多少都會調整一下方便我們工作。但是工作環境切換到 Management Studio 之後我卻發現許多人不知道要善用 Management Studio 的 [選項] 設定,今天我就來分享一些我常用的 [選項] 設定值 (非預設值)。

... 繼續閱讀 ...

查詢透過 Management Studio 的 GUI 所執行的 T-SQL 指令

透過 Management Studio 的 GUI 圖形介面操作的背後其實都是一堆 T-SQL 指令,但好像很少人知道如何將他實際執行的 T-SQL 取出來,其實是一個很簡單的技巧,但是卻很重要,例如說你要修改資料庫的表格或欄位名稱時,為了讓開發環境的資料庫結構(Schema)與正式主機環境的資料庫結構一致,你必須將你每次在開發環境變更的動作(T-SQL)儲存成「變更指令碼」(Changed Script),讓資料庫管理人員(DBA)可以在正式環境直接執行 T-SQL 就可以完成資料庫結構的變更,否則將會很容易造成開發主機與正式主機資料庫不一致的情況,我今天將告訴各位如何將 T-SQL 匯出成檔案或顯示在查詢視窗。

... 繼續閱讀 ...