搜尋本站文章

2009-02-27

使用「資料庫發行精靈」:Visual Studio 2008、SQL Server 2008、SQL Database Publishing Wizard

目前可分為兩個版本:
1. 額外下載安裝版本:SQL Server 資料庫發行精靈
Microsoft SQL Server Database Publishing Wizard 1.1
可連線的版本:SQL Server 2000、2005

安裝環境部分:
需先安裝「SQL Server 2005 管理物件集合」
SQL Server 2005 Feature Pack - 2006 年 4 月
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=df0ba5aa-b4bd-4705-aa0a-b477ba72a9cb

2. Visual Studio 2008 內建的「資料庫發行精靈」
請升級到 Visual Studio 2008 SP1 版本,即可連線 SQL Server 2008。

請參考下圖1所示:

圖1:使用Visual Studio 2008連線SQL Server 2008的工具版本



功能說明:
可將資料庫內的各項物件產生成單一的 Transact-SQL 指令碼檔案(.sql 檔案),方便讓你重新將此資料庫進行重建。產生的物件包含有:重新建立資料庫結構描述 (資料表、檢視、預存程序、觸發程序 (Trigger)、全文檢索目錄、角色、規則等等) 的命令,而且還可以包含資料表上的資料列。

若你有使用 MySQL Administrator 工具對 MySQL 資料庫執行備份的經驗,就可以知道「資料庫發行精靈」的這項功能於其十分類似。

使用「資料庫發行精靈」,可以使用在以下的幾個情境:
1. 將指定資料表,「一次完整」佈署新到目的地(例如:資料庫)
雖然現行有很多方法,但都不能「一次完整」的將資料表上的「物件」與「資料」,佈署新目的地。

2. 產生向下相容的指令碼
目前「資料庫發行精靈」支援:SQL Server 2000、2005、2008 版本,但不支援 Compact Edition。

注意事項:
大部分的資料庫物件指令碼都會依照原樣來撰寫。
但也有一些例外。來源資料庫中,任何未以 Windows 登入為基礎的非系統使用者帳戶將會撰寫為角色實體的指令碼。
此外,您無法針對任何加密的物件撰寫其指令碼。如果來源資料庫包含加密物件,則精靈不會建立指令碼。



實作練習:使用 Visual Studio 2008 SP1 的「資料庫發行精靈」連線 SQL Server 2008

任務1:使用「伺服器總管」
步驟01. 執行 Visual Studio 2008 SP1。
步驟02. 點選上方的工具選單:「檢視」、「伺服器總管」。請參考圖2所示:

02_伺服器總管

圖2:伺服器總管

任務2:設定連接到 SQL Server 2008
步驟01. 在「伺服器總管」,點選「資料連接」節點,滑鼠右鍵,選擇「加入資料連接」。
步驟02. 在「加入連接」視窗,輸入以下的參數,請參考圖3、4、5、所示:
在「資料來源」區域,點選「變更」。
在「變更資料來源」視窗,在「資料來源」方塊,選擇:「Microsoft SQL Server」,點選「確定」。
在「加入連接」視窗,在「資料來源」方塊,確認選取的是:Microsoft SQL Server (SqlClient)。
在「伺服器名稱」方塊,選取指定的伺服器名稱,例如:localhost,連線到本機伺服器上。
在「連接至資料庫」區域,在「選取或輸入資料庫名稱」方塊,選取指定的資料庫名稱,例如:選取:Northwind。點選「確定」。

03_「變更資料來源」視窗

圖3:設定「變更資料來源」視窗

04_「加入連接」視窗

圖4:設定「加入連接」視窗

05_設定完成後的「伺服器總管」之畫面

圖5:設定完成後的「伺服器總管」之畫面

任務3:執行產生指令碼作業
步驟01. 選取先前新增加的連接,滑鼠右鍵,選取「發行至提供者」。請參考圖6所示:

06_選取「發行至提供者」

圖6:選取「發行至提供者」

步驟02. 在「資料庫發行精靈」視窗,點選「下一步」。請參考圖7所示:

07_在「資料庫發行精靈」視窗

圖7:在「資料庫發行精靈」視窗

步驟03. 在「選取資料庫」頁面,選取指定的資料庫,例如:選取:Northwind。點選「下一步」。
若需要編寫整個資料庫的指令碼,請勾選「為選取資料庫中的所有物件編寫指令碼」。
在本次實作練習中,將採選取指定的資料表,故不勾選此選項。請參考圖8所示:

08_在「選取資料庫」頁面

圖8:在「選取資料庫」頁面

步驟04. 在「選擇物件類型」頁面,勾選「資料表」,點選「下一步」。請參考圖9所示:

09_在「選擇物件類型」頁面

圖9:在「選擇物件類型」頁面

步驟05. 在「選擇資料表」頁面,勾選「Orders」、「Products」,點選「下一步」。請參考圖10所示:

10_在「選擇資料表」頁面

圖10:在「選擇資料表」頁面

步驟06. 在「選取輸出位置」頁面,點選「編寫指令碼至檔案」,在「檔案名稱」方塊,輸入指定的路徑與檔案名稱,例如:C:\Northwind.sql,點選「下一步」。請參考圖11所示:

11_在「選取輸出位置」頁面

圖11:在「選取輸出位置」頁面

步驟07. 在「選取發行選項」頁面,輸入以下的選項,請參考圖12所示:
在「目標資料庫指令碼」方塊,選擇:SQL Server 2008,可選擇產生 SQL Server 2000、2005、2008 的版本。
在「在指令碼中卸除現有物件」方塊,選擇:True,將可產生先卸除目標物件,在建立此物件的指令碼。
在「要發行的資料類型」方塊,選擇:「結構描述和資料」。此處的選項有:「僅限資料」、「僅限結構描述」、「結構描述和資料」。結構描述指的是資料庫中的物件定義,而資料指的是資料庫中資料表的資料列。
在「結構描述限定」方塊,選擇:True,可選擇是否需要產生不以結構描述(schema)名稱限定物件名稱的指令碼。

12_在「選取發行選項」頁面

圖12:在「選取發行選項」頁面

步驟07. 點選「下一步。
步驟08. 在「檢閱摘要」頁面,點選「完成」。請參考圖13所示:

13_在「檢閱摘要」頁面

圖13:在「檢閱摘要」頁面

任務4:檢視產生的指令碼作業
步驟01. 開啟其先所產生的指令碼:C:\Northwind.sql。
步驟02. 所產生的指令碼具備幾個特性,請參考圖14所示:
先刪除目標物件,在建立目標物件。
資料表上的相關物件也會一併產生,例如:主索引鍵、外部索引鍵、CHECK限制條件、索引等等。
資料值部分,將會產生 INSERT 陳述式來進行新增。

14_檢視產生的指令碼

圖14:檢視產生的指令碼



參考網址:
發行 SQL 資料庫
http://msdn.microsoft.com/zh-tw/library/bb907585.aspx

Connecting to Microsoft SQL Server 2008 from Microsoft Visual Studio 2005 and 2008
http://msdn.microsoft.com/en-us/library/cc440724.aspx

Microsoft SQL Server Database Publishing Wizard 1.1
http://www.microsoft.com/downloads/details.aspx?familyid=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=56e5b1c5-bf17-42e0-a410-371a838e570a

2009-02-19

64 位元系統使用經驗分享,以 ThinkPad T61、Windows Server 2008 Enterprise x64 版本為例



筆者使用 64 位元作業系統已經有一段時間了,分享一下使用經驗給各位參考,也歡迎各位提供建議與指教,謝謝。

使用 64 位元系統的幾個想法:

1. 善用記憶體資源。不受限於 32 位元的 4GB 之瓶頸。
2. 可以使用 Hyper-V。
3. 不只是作業系統使用 64 位元,期望使用的應用程式也是 64 位元。
若在 64 位元系統上,雖然可以執行 32 位元的應用程式,但卻係利用 Windows 32-bit on Windows 64-bit (WoW64) 所模擬執行:
WOW64 之最佳作法
http://www.microsoft.com/taiwan/whdc/system/platform/64bit/WoW64_bestprac.mspx
64 位元應用程式
http://msdn.microsoft.com/zh-tw/library/ms241064.aspx

所以,能夠使用純 64 位元的應用程式,會是比在 WOW64 上執行 32 位元的應用程式來的有效率。



若以 x64 作業系統為例:
安裝的 64 位元的應用程式,預設是存放在資料夾:C:\Program Files。
所安裝的 32 位元的應用程式,預設是存放在資料夾:C:\Program Files (x86)。

請參考圖1所示:



圖1:在檔案總管,檢視 32 與 64 位元的應用程式之存放路徑

在「Windows 工作管理員」的「處理程序」頁面部分,可以識別應用程式是否為 32 或 64 位元:
在應用程式名稱之後有標示: *32 部分,就是為 32 位元的應用程式。沒有標示的,則為 64 位元的應用程式。
Micorosft 發行的客戶端應用程式,多半都是 32 位元版本,像是:Office 系列。

請參考圖2所示:



圖2:在「Windows 工作管理員」的「處理程序」頁面,檢視 32 或 64 位元的應用程式



使用 Notebook 的硬體配備如下:

型號:Lenovo ThinkPad T61
CPU:Intel(R) Core(TM)2 Extreme CPU X7900 @ 2.80GHz
Memory:Kingston DDR2 SDRAM 2048 MB * 2 =Dual Channel 4 GB
Hard Disk:
Hitachi HTS722020K9SA00 (200 GB, 7200 RPM)
WDC WD3200BEVT-22ZCT0 (298 GB, 5400 RPM)

作業系統:Microsoft Windows Server 2008 Enterprise x64 版本,中文版

已安裝的軟體,可分成 64 與 32 bit(位元):

64 bit(位元)版本:

1. 取代「記事本( Notepad)」
EmEditor Text Editor Version 8.02 64-bit,有中文版
http://www.emeditor.com/

2. 壓縮軟體
7-Zip 4.65 x64,有中文版
http://www.7-zip.org/

3. 取代「檔案總管」
SpeedCommander 12.42 x64 Edition
http://www.speedproject.de/enu/index.html

本來是使用 Total Commander ,但是好像沒有 64 位版本。
http://www.ghisler.com/

4. 輸入法軟體
Yahoo!奇摩輸入法 1.0 正式版 64 bit
http://tw.download.yahoo.com/keykey/

雖然奇摩輸入法是 64 位元,但其常駐的程式卻是 32 位元。

本來是使用 自然輸入法 ,但是好像沒有 64 位版本。
http://www.iq-t.com/MAIN/main.asp

5. 資料庫軟體
Microsoft SQL Server 2008 Enterprise x64 版本,有中文版
http://www.microsoft.com/taiwan/sql/default.mspx
http://www.microsoft.com/sqlserver/2008/en/us/default.aspx

SQL Server Compact 3.5 SP1 64 位元,有中文版
SQL Server Compact 3.5 Service Pack 1 和適用於 Windows 桌上型電腦的 Synchronization Services for ADO.NET 1.0 版 Service Pack 1
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=dc614aee-7e1c-4881-9c32-3a6ce53384d9

6. 防毒軟體
Forefront Client Security x64 版本,有中文版
http://technet.microsoft.com/zh-tw/forefront/clientsecurity/default.aspx
http://www.microsoft.com/forefront/clientsecurity/en/us/default.aspx


7. PDA 手機同步:
Windows Mobile Device Center 6.1
Windows Mobile 裝置中心 6.1 Windows Vista 版 (64 位元)

http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=4f68eb56-7825-43b2-ac89-2030ed98ed95



32 bit(位元)版本:

1. 閱讀 PDF
還是使用 Adobe Reader 8

雖然 PDF-XChange 有提供x64 版本,但在中文使用上,好像怪怪的。
http://www.docu-track.com/

2. 瀏覽器
Internet Explorer
雖然有 Internet Explorer (64 位元) ,但有部分可功能沒辦法使用,所以只好用 32 位元版本的瀏覽器。

Firefox 3
http://www.moztw.org/

3. 光碟燒錄軟體
Nero 8 可以安裝使用,但是 Nero 9 卻無法安裝在 Windows Server 2008 Enterprise x64 版本的系統上。
http://www.nero.com/

4. DVD 複製軟體
DVDFab 5
http://www.dvdfab.com/zh/index.htm

... 還有很多軟體,例如:看圖、聽音樂、抓圖、燒錄DVD、網路銀行的元件、證券下單等等,看來都是在 32 bit(位元)版本上。



目前遇到問題:

1. 舊型印表機,會遇到驅動程式相容性的問題。

2. 播放影片、看照片時,不知為何特別遲緩,會先延遲數十秒,CPU使用量突然滿載後,才能執行。

3. 64 位元的應用程式仍不多,中文化的版本更是稀少,看來多半都要用 32 位元的應用程式來先頂著用。



相關資料的參考網址:
(1)ThinkPad T61 安裝 64 位元作業系統
Installing Windows Server 2008 EE on a Lenovo ThinkPad T61p
http://blogs.technet.com/keithcombs/archive/2008/02/01/installing-windows-server-2008-ee-on-a-lenovo-thinkpad-t61p.aspx

10 things you should know about 64-bit Windows Server
http://blogs.techrepublic.com.com/10things/?p=293

(2) 查詢有那些 64 位元的軟體可以使用
64bit and x64
http://www.start64.com/index.php