2012年5月3日星期四

SQL Server 2008 Express 的安裝與別名(alias)設定

From: Polin Wei

關於Express的版本

  • SQL Server Express (x86 和 x64)
單純只有SQL Server Express資料庫系統。與with Tools, with Advanced Services兩版本最大差異就是沒有SQL Server Management Studio 2008 Express(SSMSE)管理工具。也就是說,如果你的這台資料庫伺服器只需要讓遠端Client連接進來進行相關作業,根本不會有本機使用SSMSE管理工具的機會,那就很適合這個版本,小又單純。
  • SQL Server Express with Tools (x86 和 x64)

這是2008 Express + SSMSE管理工具的版本。也就是你有需要在資料庫伺服器本機做一些組態設定…等相關操作,那你就安裝這個版本。
  • SQL Server Express with Advanced Services (x86 和 x64)

除了SQL Server Express與SSMSE管理工具外,還提供「全文索引」及「報表伺服器」兩大功能。

SQL Server 2008 Express的限制

在開始進入安裝之前,我們要先了解2008 Express的一些限制。在2008 Express中除了進階軟體功能的限制外(例如:壓縮),另外更重要的就是硬體上的限制,在功能差異方面,請參考上一節的註解「SQL Server 2008版本功能差異」。而2008 Express硬體的限制延續2005 Express一樣的限制:
  • CPU數目:1
  • 記憶體上限:1 GB
  • 64位元支援:Windows on Windows (WOW)
  • 資料庫大小:4 GB
2008 Express 的限制是「單一mdf檔案的大小」有限制,所以如果你預計你的資料庫大小會超過4 GB時,除了購買正式版外,在2008 Express上你可以多開幾個資料庫檔案避開這部分的限制,例如:products.mdf、members.mdf,但唯一麻煩可能是程式就要設計成 「跨資料庫存取」的方式。

SQL Server 2008 Express 安裝前環境準備

在開始安裝SQL Server Express之前,必須先準備好作業系統.NET Framework環境,所以我們必須先行下載以下套件(最好依順序安裝):

  • Microsoft .Net Framework 3.5 SP1:下載點(啟動載入器)、下載點(完整套件)
  • Windows Installer 4.5:下載點 (需重開機)
  • Windows PowerShell 1.0:
    x86 版 Windows XP Service Pack 2 的 Windows PowerShell 1.0:下載點
    x64 版 Windows XP Service Pack 2 的 Windows PowerShell 1.0:下載點
    x86 版 Windows Server 2003 Service Pack 1 的 Windows PowerShell 1.0:下載點
    x64 版 Windows Server 2003 的 Windows PowerShell 1.0:下載點
    Itanium 版 Windows Server 2003 Service Pack 1 的 Windows PowerShell 1.0:下載點
    x86 版 Windows Vista 的 Windows PowerShell 1.0:下載點
    x64 版 Windows Vista 的 Windows PowerShell 1.0:下載點

要比較注意的只有PowerShell一項,請選擇正確的版本對應的PowerShell,進入下載面畫後,你可以依需求切換PowerShell的語 系版本,也就是說,假設我不要使用繁體版本,我習慣看英文,那就可以選擇安裝英文版本的PowerShell,安裝之後,以後只要有關 PowerShell的任何訊息都會以英文來顯示。重點是,對應的作業系統版本要對,語系看你喜好。

另外只有一種情況下可以不安裝 PowerShell,只有單純安裝「SQL Server Express」這個版本時,可以不下載及安裝PowerShell,其他兩個2008 Express版本(with Tools及with Advanced Services),或單獨安裝SSMSE管理工具,都需要安裝以上三個套件。

SQL Server 2008 Express 安裝

  • SQL Server Express Service Pack 1:下載點
    Microsoft SQL Server 2008 Management Studio Express:下載點
  • SQL Server Express with Tools:下載點
  • SQL Server Express with Advanced Services:下載點
  • SQL Server Expres Service Pack 1:下載點
  • Microsoft SQL Server 2008 線上叢書 (2009 年 5 月):下載點
  • 範例和範例資料庫 (英文):下載點
2009年4月7日SQL Server Express推出Service Pack 1,所以你安裝with Tools及with Advanced Services版本,切記,安裝之後一定要快上Service Pack 1,依照基本預計值應就可以安裝成功。

SQL Server 2008 Express 的「執行個體」

「執行個體」,簡單說,你就把執行個體看成每一個「資料庫的名稱」,例如,我這次安裝的資料庫名稱叫「SQLEXPRESS」,然後,我在同一台電腦再安裝一次SQL Server 2008,然後我給他執行個體的名稱為「SQLBruce」。然後只需在使用時(SSMSE、網頁、應用程式都一樣)指定你所要「連接」的資料庫執行個體名稱,這些程式就知道要跟那一個資料庫來進行連接及處理的動作。

預設執行個體:此執行個體是藉由執行它的電腦網路名稱來識別。一部電腦中只能有一個是預設執行個體。它能讓較早SQL Server版本來使用SSMSE來連線到預設執行個體。

具名執行個體:此執行個體是以電腦的網路名稱加上執行個體名稱來識別,格式為{Computer Name}\{Instance Name},例如:

DS\SQLExpress
DS\SQLBruce
以上是標準使用{Computer Name}\{Instance Name}的格式。

192.168.1.10\SQLExpress
192.168.1.10\SQLBruce
你也可以使用IP來代替{Computer Name}部分。

DS.yourdomain.com\SQLExpress
DS.yourdomain.com\SQLBruce
你也可以使用Domain來代替{Computer Name}部分。IP與Domain在遠端連線時會使用到。

.\SQLExpress
.\SQLBruce

這個重要,這個「‧」(點)代表「本機」的意思。如果你是在本機作業,那就可以使用這個簡寫「‧」來代替{Computer Name},例如,你的資料庫與網站是在同一台伺服器,那麼網站內與資料庫連接相關程式碼,就可以使用這個「‧」來簡化程式碼

SQL Server 2008 Express 別名設定

若要以輸入192.168.1.10 來取代 192.168.1.10\SQLExpress 登入資料庫則需要作下列步驟
  • Protocals For SQLEXPRESS 的 TCP/IP 要Enable,與將 IPAll 的 TCP Port 設為1433
  •  啟用 Client Protocals 的TCP/IP ,讓外來的電腦可連入這台主機的 SQL Server 2008 Express
  •  設定別名(Alias)192.168.1.10就可以登入為192.168.1.10\SQLEXPRESS
  • 啟動 SQL Server Browser 的 Services
  •  別忘了將防火牆對 SQL Server 2008 通訊的 1433 port 開啟
  •  遠端電腦要連入時,就可以在伺服器用192.168.1.10 取代192.168.1.10\SQLEXPRESS 登入了

 截圖請看 http://mis.elaborate-host.net/modules/tad_book3/page.php?tbdsn=203
參考:http://blog.kkbruce.net/2009/08/microsoft-sql-server-2008-express.html#.T4vlPtmd0ug

2012年2月18日星期六

PL/SQL Function 函數建立說明

From: Polin Wei

建立子程序的語法有以下幾個重點:

  • 語法是CREATE PROCEDURE,可加入OR REPLACE來自動取代現有的子程序。
  • IS保留字也可以改成AS。
  • 跟合法的區塊語法一樣,BEGIN和END也是必須的,但不用DECLARE來宣告,只要在CREATE PROCEDURE...IS 之後宣告即可。

當您提交一個CREATE PROCEDURE指令到SQL*Plus後,會發生以下事情:

  • 程式碼會儲存在Data Dictionary,無論程式碼是否解析成功,可以從VIEW:USER_OBJECTS 查詢。
  • 程式碼的語法會被解析,然後決定它是「合法」(VALID)還是「不合法」(INVALID)。
  • 如果是VALID,就會得到Procedure created的訊息,而子程序也可以被執行。
  • 如果是INVALID,就會得到錯誤訊息,這時子程序不可以被執行。

PL/SQL Function 建立的語法如下:

 

1
2
3
4
5
6
7
8
9
10
CREATE [OR REPLACE] FUNCTION function_name
[ (parameter [,parameter]) ]
RETURN return_datatype
IS | AS
[declaration_section]
BEGIN
executable_section
[EXCEPTION
exception_section]
END [function_name];

傳入的參數有三種型態:

  • IN - The parameter can be referenced by the procedure or function. The value of the parameter can not be overwritten by the procedure or function.
  • OUT - The parameter can not be referenced by the procedure or function, but the value of the parameter can be overwritten by the procedure or function.
  • IN OUT - The parameter can be referenced by the procedure or function and the value of the parameter can be overwritten by the procedure or function.
繼續閱讀

2011年12月21日星期三

PL/SQL Procedure 程序建立說明

From: Polin Wei

建立 PL/SQL Procedure

建立子程序的語法有以下幾個重點:

  • 語法是CREATE PROCEDURE,可加入OR REPLACE來自動取代現有的子程序。
  • IS為保留字。
  • 跟合法的區塊語法一樣,BEGIN和END也是必須的,但不用DECLARE來宣告,只要在CREATE PROCEDURE...IS 之後宣告即可。

當您提交一個CREATE PROCEDURE指令到SQL*Plus後,會發生以下事情:

  • 程式碼會儲存在Data Dictionary,無論程式碼是否解析成功,可以從VIEW:USER_OBJECTS 查詢。
  • 程式碼的語法會被解析,然後決定它是「合法」(VALID)還是「不合法」(INVALID)。
  • 如果是VALID,就會得到Procedure created的訊息,而子程序也可以被執行。
  • 如果是INVALID,就會得到錯誤訊息,這時子程序不可以被執行。

PL/SQL Procedure 建立的語法如下:
CREATE [OR REPLACE] PROCEDURE procedure_name
[ (parameter [,parameter]) ]
IS
[declaration_section]
BEGIN
executable_section
[EXCEPTION
exception_section]
END [procedure_name];


傳入的參數有三種型態:

  1. IN - The parameter can be referenced by the procedure or function. The value of the parameter can not be overwritten by the procedure or function.
  2. OUT - The parameter can not be referenced by the procedure or function, but the value of the parameter can be overwritten by the procedure or function.
  3. IN OUT - The parameter can be referenced by the procedure or function and the value of the parameter can be overwritten by the procedure or function.
參考: MIS Workplace By Polin Wei