The Will Will Web

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

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

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

... 繼續閱讀 ...

如何找出 SQL Server 2008 資料庫裡是否建立了多餘的索引

講到 SQL Server 2008 效能調校,這可是一門大大的學問,但是若能掌握一些基本的 SQL Server 資料庫運作原理,要能成為 SQL Server 效能調校的專家其實並不困難。我們都知道學習這些原理並不難,看書就會了,難的是如何才能在實務管理工作上真正的融會貫通、靈活運用這些已知的知識,再搭配一些方便的工具幫你快速取得所要的重要資訊,進而做出效能調校的判斷與改善現有資料庫的效能問題。今天我打算來分享一個分析索引使用量統計的技巧,來改善資料庫「寫入」效率的問題。

... 繼續閱讀 ...

SQL Server 快速產生還原資料庫 T-SQL 指令碼的技巧

去年曾經分享過一篇【觀念釐清:SQL Server 完整備份、差異備份、交易記錄備份】解釋 SQL Server 備份觀念,看懂的人應該能清楚理解資料庫的備份過程與依序還原資料庫的方法,我以往都會認為這種依序還原資料庫的方法實在太沒效率,真的遇到資料庫災難的時候需要花不少時間準備還原資料庫的 T-SQL 指令碼然後才能批次執行將資料庫還原,不過最近意外發現原來在 Management Studio 有個非常棒的小技巧可以幫我快速產生還原資料庫的 T-SQL 指令碼,讓你不管是本機資料庫還原異機資料庫還原都能非常快速的完成!

... 繼續閱讀 ...

重建資料表時應注意 Management Studio 選項設定是否完整

上星期我們有台 SQL Server 出了一些狀況,有個資料庫其中一個資料表發生了一些問題,主要是發生分頁錯誤的情況,由於資料類型是記錄檔,不是一定需要存在線上,但筆數有三百多萬筆非常佔空間,當確認資料匯出後想要將目前的資料全數刪除,決定先 DROP TABLE 再 CREATE TABLE 比較快,但使用 Management Studio 在做重建表格時必須特別注意選項設定是否正確!

... 繼續閱讀 ...

善用 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 匯出成檔案或顯示在查詢視窗。

... 繼續閱讀 ...

SQL Server Management Studio 表格設計技巧 (資料庫圖表)

我們將資料庫分析與設計完成之後,會開始大量建立表格到 SQL Server 資料庫中,但是 Management Studio 在操作的時候,就會覺得使用者介面十分難用,會覺得一直在重複做一些多餘的滑鼠 Click 的動作,例如說我們在建立表格的時候,通常在設計 Primary Key 欄位時就會有幾個步驟要做:

... 繼續閱讀 ...