The Will Will Web

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

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

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

... 繼續閱讀 ...

SQL Server 2005 如何複製資料庫

前幾天在開發專案的時候需要複製一個資料庫用來做測試,但之前每次都手動做備份、建立新資料庫、還原資料等動作還蠻費時的,因此心血來潮寫了一段「複製資料庫」的 T-SQL 幫我執行複製資料庫的工作,自己覺得還含蠻好用的,T-SQL 程式如下:

... 繼續閱讀 ...

Profiler for Microsoft SQL Server 2005 Express Edition

在開發資料庫應用的時候,我們常會使用 SQL Server Profiler 工具幫我們監控到底應用程式對資料庫下了什麼 SQL 指令,但是在 SQL Server 2005 Express 版本中並沒有提供 SQL Server Profiler 工具,只有 SQL Server 2005 標準版以上才有此工具,所以不是所有開發人員都能夠享受到 SQL Server Profiler 的強大功能。

... 繼續閱讀 ...

如何比對兩個表格中的資料是否相等

微軟在SQL Server 2005 有出一個 tablediff 公用程式,可以用來比較兩份資料表的資料是否一致,如果不一致的時候會幫你產生更新的 SQL 檔,幫你再目的地的表格執行INSERT,UPDATE或DELETE以進行同步動作,因為這是一支DOS介面的程式,您可以在命令提示字元之下,或是在批次檔中寫好相關的指令、參數,然後每天定時執行即可。

... 繼續閱讀 ...

SQL Server 2005 中的 CTE 遞迴查詢的上限

如果要用 T-SQL 來寫「遞迴」的話,一般來說 Stored Procedure 的上限是 32 次,而 CTE 卻跟 Stored Procedure 有著不同的上限次數,且預設為 100 次!而 CTE 遞迴的上限是可以修改的,最大值為 32,767 次!

... 繼續閱讀 ...