1 / 67

SQL Server 2008 簡介

第 1 章. SQL Server 2008 簡介. 主從架構. 隨著 1980 年代個人電腦的興起 , 以及個人電腦的運算能力快速地成長 , 使得主從式 (Client-Server) 軟體架構也漸為大眾接受並採行之 , 而逐漸取代過去的 『 主機 - 終端機式 』 或 PC 網路上檔案伺服器 ( 單純分享檔案資源 ) 的運作方式。 以 SQLServer 的主從架構而言 , 就是由 SQL Server 扮演存放資料和提供資料給用戶端的角色 ,

Download Presentation

SQL Server 2008 簡介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 1 章 SQL Server 2008 簡介

  2. 主從架構 • 隨著 1980 年代個人電腦的興起, 以及個人電腦的運算能力快速地成長, 使得主從式 (Client-Server) 軟體架構也漸為大眾接受並採行之, 而逐漸取代過去的『主機-終端機式』或 PC 網路上檔案伺服器 (單純分享檔案資源) 的運作方式。 • 以 SQLServer 的主從架構而言, 就是由 SQL Server 扮演存放資料和提供資料給用戶端的角色, • 不過以上這種方式, 只是比較傳統的兩層式主從式架構, 目前的主流是三層式 (3-tier) 或多層式 (N-tier) 的主從架構, SQL Server 當然也支援在此環境下的運作。 • 例如再搭配微軟 IIS 伺服器、ASP.NET 技術或其它伺服器產品, 即可建立多層的主從運算模式。

  3. 主從架構

  4. 資料存取介面 • 為了讓用戶端 (應用程式) 能順利查詢/ 異動資料庫中的資料, SQL Server 提供兩種不同的介面, 讓用戶端可視其需求, 透過這些介面來存取資料庫中的資枓: • OLE DB:OLE DB 是微軟公司所發展的一組用來存取各種資料的 COM (Component Object Model) 元件。使用 OLE DB 作為資料存取介面, 應用程式就能透過一致的方式從各種不同資料來源取得所需的資料。 • ODBC:ODBC (Open DataBase Connectivity) 是根據 SQL 語言所發展出來的資料庫存取介面, 名稱中的 Open 意指 『開放』 , 其目的是讓應用程式能利用標準化的查詢方式, 即能從各種不同的資料庫系統取得資料。

  5. 資料存取介面 • SQL Server 2008 將上述 2 種資料存取介面功能整合於 SQLNCLI (SQL Native Client) 元件, 此元件支援 OLE DB 與 ODBC 服務, 讓用戶端程式可以透過它向 SQL Server 提出要求, 以取得所需的資料。 • 除了上述的途徑外, SQL Server 2008 也提供了 HTTP 的存取方式, 可以讓程式透過 SOAP 呼叫取得資料庫中的資料, 為 Web Service 應用系統提供了完善的支援。

  6. 溝通的橋樑--Net-Library • 用戶端和伺服端有了可互通的介面後, 建立兩邊 IPC 溝通管道的工作則是交由 Net- Library (網路函式庫) 來負責。 • 當用戶端程式使用某種介面向伺服器提出查詢的要求時, 這項要求必須經由 IPC 送達伺服端, 因此, 資料庫介面驅動程式 (SQLNCLI 驅動程式) 就要設法產生這個IPC。 • 為了簡化及支援多種網路通訊協定, 微軟將這些功能都建立在 Net-Library 之中。也就是說資料庫介面驅動程式會呼叫用戶端上的 Net-Library, 而 Net-Library則會呼叫 IPC 應用程式介面以產生 IPC。

  7. 溝通的橋樑--Net-Library

  8. 溝通的橋樑--Net-Library • 若用戶端和伺服端是在同一台電腦上, 例如我們在 SQL Server Management Studio 操作本機伺服器的資料庫, 則此時 Net-Library 會使用 Local IPC, 若是要透過網路存取遠端的伺服器, 則會經由目前雙方所使用的網路協定堆疊產生 Remote IPC 。 • SQL Server 2008 的 Net-Library 支援了包括Shared Memory 、TCP/IP、Named Pipes (具名管道)、和 VIA (Virtual Interface Adapter) 等多種通訊協定。

  9. SQL Server 2008 功能概觀 • 微軟公司的 SQL Server 歷經數次重大改版, 功能早已成熟, 由於人們對資料應用的需求不斷演進, 資料的收集與處理較以往更普遍、更複雜, SQL Server 每個版本也都會整合新功能至其資料庫應用中。我 • 們可以由安裝程式列出的元件組合, 來認識 SQL Server 2008 的功能。

  10. SQL Server 2008 功能概觀

  11. SQL Server 2008 功能概觀 • SQL Server Database Engine:資料庫引擎, 這是 SQL Server 最核心的元件, 提供資料儲存、處理、與防護。在 SQL Server 2008 中還增加了許多新功能, 例如資料庫壓縮/加密、備份壓縮、安全稽核、新的資料型別與資料儲存機制...等;在硬體管理方面, 也新增了如熱新增 CPU、資源管理等功能。另外還有兩項重要的應用也包含在資料庫引擎中: • 資料庫複寫 (Replication):複寫功能可以讓資料庫由某伺服器自動複製到一或多個目的伺服器, 提供資料庫的分散式應用。 • 全文檢索 (Full-Text Search):全文檢索可以讓資料庫從長度較長的文字欄位中, 快速搜尋到需要的資料。

  12. SQL Server 2008 功能概觀 • Analysis Services:分析服務, 是微軟的商業智慧 (BI, Business Intelligence) 解決方案之一, 主要提供線上分析處理 (OLAP) 及資料探勘 (Data Mining) 的功能。 • Reporting Services:報表服務, 其主要用途在於讓管理者及使用者可以從資料庫建立各式報表。而 SQL Server 2008 不但加強了報表製作功能, 也改良不再需依賴 IIS 網頁伺服器, 以減輕管理上的負擔。

  13. SQL Server 2008 功能概觀 • Integration Services:整合服務, 簡單的說, 此功能可將各種不同資料來源 (文字檔、Excel 試算表、Access 或 Oracle 等異質資料庫) 的資料加以整合、處理, 並可匯入 SQL Server 資料庫中。 • 管理工具:不單只是『管理』SQL Server 2008 用的工具程式, 它們也提供許多實用且重要的功能: • SQL Server Management Studio:整合的 SQL Server 2008 管理中心, 可對SQL Server 進行設定、管理、開發等多項工作。SQL Server 2008 更新增了原則管理功能, 大大減輕管理多伺服器的負擔。

  14. SQL Server 2008 功能概觀 • SQL Server Configuration Manager:基本的 SQL Server 服務設定工具, 可設定SQL Server 及上列各項服務的啟動方式、SQL Server 使用的通訊協定等。 • SQL Server Profiler:以圖形化介面監視 Database Engine 或 Analysis Services上執行的活動。 • Database Engine Tuning Advisor:資料庫調校精靈, 可藉由分析即有的 SQL Server Profiler 記錄或查詢敘述, 提供可提升效能的解決方案。 • Business Intelligence Development Studio:可用於建立 Analysis Services、Reporting Services、Integration Services 解決方案的整合開發環境, 讓管理者或開發人員可透過簡單的圖形操作介面, 即能建立複雜的相關應用。

  15. 實體的資料庫結構 • 檔案是作業系統提供給 SQL Server 的儲存空間, 至於在檔案內部, SQL Server 則會另行採用分頁(Page) 和範圍(Extent) 的單位來管理這些儲存空間。 • 分頁是 SQL Server 中基本的資料儲存單位, 每個分頁的大小為 8 KBytes, 分頁依其用途可分為數種, 例如 Data page (資料頁) 就是用來存放資料表中各欄位的資料, 但 text 、ntext、image、nvarchar (max)、varchar (max)、varbinary (max)與 xml 等型別的資料則是另存於文字/影像 (Text/Image) 的分頁中, 索引的資訊則是存於 Index Page (索引頁) 中。

  16. 實體的資料庫結構 • 範圍則是 SQL Server 在配置空間給資料表和索引時的單位, 每個範圍為 8 個連續頁, 相當於 64 KB 的大小。由於 64K 也算是個不小的空間, 因此為避免空間的浪費, 當資料表和索引的資料量不大時, SQL Server 會將它們放在同一個範圍的不同分頁中。

  17. 多執行個體 • SQL Server 2008 具備 Multiple Instances (多執行個體) 的功能, 所謂多執行個體, 就是說可在同一台電腦上同時執行多『份』 (Instance, 執行個體) SQL Server。 • 每一份 SQL Server 都有它自己的資料庫及登入設定, 因此這些 SQL Server 雖然是在同一電腦上執行, 卻和裝在不同電腦上的 SQL Server 一樣, 可獨立運作、使用。 • 要使用多執行個體的功能, 必須在電腦上重複安裝 SQL Server 2008。

  18. 多執行個體 • 安裝 SQL Server 時, SQL Server 的名稱預設沿用自電腦名稱。 • 例如電腦名稱為 Flag, 其上的 SQL Server 名稱也是 Flag, 我們稱之為 Default Instance, 若想安裝第 2、第 3 個執行個體, 就需另行指定不同的名稱, 因此這些執行個體稱為 Named Instances (具名執行個體)。

  19. 多執行個體 • 管理者可在電腦上安裝多個 SQL Server 的執行個體, 並開放不同的執行個體給需求不同的使用者使用, 以提高安全管理的彈性。 • 而且當有一個 SQL Server 的執行個體受到不當的操作而停擺或資料庫毀損時, 其它的執行個體並不會受到影響, 而仍可正常運作。下一章會介紹如何安裝多個 SQL Server 執行個體。

  20. 1-2 伺服器與作業系統的關係 • SQL Server 是個專為 Windows 作業系統所設計的資料庫管理系統, 因此和其它可在多種平台上使用的資料庫管理系統比起來, SQL Server 在 Windows 平台上的效能表現非常的出色。 • 但是由於 SQL Server 的多項功能會用到 Windows Server 2003/2008 伺服器上的功能, 所以在 Windows XP/Vista 等環境下的功能將受到限制。關於 SQL Server 各版本可以安裝在什麼作業系統, 會於下一章說明。 • 以下就簡要說明 SQL Server 2008 為達到能與 Windows 作業系統合作無間, 所特別設計的各項功能與特色。

  21. 安全機制 • 要使用 SQL Server 的服務, 必須先『登入』 SQL Server, 所謂登入就是以系統認得的使用者帳戶和密碼通過伺服器的驗證 (Authentication), 然後才能進入系統並使用其中的各項服務。 • 但為了簡化 Windows 使用者的登入過程, SQL Server 除了支援以 SQL Server 本身帳戶做登入外, 也特別支援直接以 Windows 的使用者帳戶登入 SQL Server 的方式。 • 因為 Windows 使用者在進入 Windows 網路環境時, 就需先以 Windows 本機或網域帳戶來登入。因此到了準備使用 SQL Server 服務時, 使用者應該已經通過安全驗證。

  22. 安全機制 • 若將 SQL Server 設定為可接受 Windows 的使用者帳戶, 管理者就可直接將Windows 中的使用者或群組帳戶設定成 SQL Server 的登入帳戶, 並可設定是允許存取 SQL Server 或禁止存取 SQL Server 的帳戶。 • 而使用者在登入 SQL Server 時, 也不需再以專屬於 SQL Server 的登入帳戶來登入, SQL Server 會直接根據使用者目前所用的 Windows 帳戶來查核此帳戶是否允許登入。這對管理者和使用者, 都是相當方便的。

  23. 平行處理能力 • Windows Server 2003/2008 具有平行處理的能力 (支援多 CPU) , 其所採用的是對稱式平行處理 (SMP), 也就是說運算的工作會分配到各處理器上來分工完成, 因此可大幅提升系統的效能。 • 但並非任何的應用程式放在有多個處理器的 Windows 電腦上, 就能發揮平行處理的效用, 應用程式必須是針對平行處理的架構來設計才行, 例如多執行緒的應用程式, 就能讓各執行緒分別在不同的處理器上來處理, 加速完成其工作。

  24. 以服務的方式執行 • SQL Server 是以服務 (Service) 的方式被執行。 • 服務是一種較特殊的應用程式執行方式, 它可以由作業系統自己來啟動程式。 • 以服務啟動的程式, 會固定在背景執行, 以便隨時向使用者提供 " 服務"。 • 服務可設定成在系統啟動時就自動被啟動 (SQL Server 預設就是會自動啟動),如此一來, 只要電腦一開機 , 該項服務就已準備好回應使用者對它的要求了。

  25. 善用加強的磁碟 I/O 功能 • 資料庫伺服器為了提供眾多使用者的查詢服務, 必須借重強大的運算能力, 以處理各種查詢需求, 另一方面也要能快速存取磁碟上的資料, 以便讀出資料供使用者使用, 或是將新的資料寫入。 • 因此 SQL Server 特別提供了 Windows 作業系統的兩項特殊磁碟 I/O 功能, 以提升其資料處理效能。

  26. 善用加強的磁碟 I/O 功能 • Windows 作業系統提供了一種稱為非同步 (Asynchronous) I/O的處理方式, 當程式送出 I/O 的要求給作業系統時, Windows 會立即將控制權返回給應用程式, 讓程式可繼續進行其它的處理工作, 稍後再來檢查看看資料是否已讀出或寫入。 • 傳統的同步式 I/O 則是在送出 I/O 需求給作業系統後, 需等作業系統確實完成 I/O 的動作, 才會將控制權交還應用程式, 因此在 I/O 較耗時的情況下, 就會使應用程式的效能大幅下滑。 • SQL Server 可同時對同一個檔案進行多個非同步 I/O 的處理, 這對效能的提升有很大的幫助。

  27. 善用加強的磁碟 I/O 功能 • 另外, Windows 從NT 4.0 Service Pack 2 之後使用了一種新的 I/O 模式, 稱為 Scatter-gather I/O。 • 因為早期在 Windows NT 中, 每次讀出或寫入磁碟的資料, 都必須放在連續的記憶體空間才行, 在這種情況下, 若 SQL Server 要將分散在數個不連續空間中的資料寫入磁碟, 必須先另行將它們複製到一塊連續的記憶體空間才行。 • 但有了 Scatter-gather I/O 之後, SQL Server 就可省下此一步驟, Windows 作業系統自己會把這些分散的部分放在緩衝區來做處理。

  28. 資料庫管理者的工作 • 所謂的資料庫管理者, 簡單的說, 就是要負責管理資料庫伺服器, 使其能維持正常運作的管理人員。 • 一般而言, SQL Server 資料庫管理者的工作大概包括下列數項: • 安裝與更新 SQL Server: • 和以下所列的其它工作比起來, 安裝和更新 SQL Server應該是比較少做的工作。 • 除非是有許多台伺服器需要安裝, 不過就算是如此也只是在每台電腦上做一次, 此後大概只有換新的電腦時, 才需再做安裝的動作。 • 更新的機會則稍微多一點, 舉凡版本的更新、Service Pack 的安裝, 都算是資料庫管理者的工作。

  29. 資料庫管理者的工作 • 建立與管理資料庫: • 建立資料庫通常也是資料庫管理者的工作之一, 不過在分工較細的環境中, 有時也會另有專門的人來建立資料庫。 • 資料庫建好後, 還要做日常的管理和維護工作, 像是配置新的磁碟空間給資料庫來存放新的資料等等。 • 管理安全性: • 安全性管理是很重要的工作, 資料庫管理者需建立伺服器的使用者帳戶, 以及為不同的使用者設定存取權限等等。

  30. 資料庫管理者的工作 • 在不同的資料來源間轉換資料: • 在較大的組織環境中, 資料可能是分散在不同的地方, 像是會計部將資料存於試算表、業務部將資料存於 Access 之類的桌上型資料庫中, 甚至也可能有資料是存於大型主機的資料庫中。 • 身為資料庫管理者,可能就需要將分散在這些不同來源的資料, 都轉入 SQL Server 資料庫中, 或是也要將 SQL Server 的資料轉出。 • 如果有使用資料倉儲的需要, 這類轉移和轉換資料的工作更是不可免的。

  31. 資料庫管理者的工作 • 備份與回存資料庫:資料庫中最重要的就是其中的資料, 因此資料庫管理者需定期備份資料庫的內容, 以便在發生意外時, 能回存這些備份的資料, 使資料庫的內容不致喪失。 • 進行資料複寫:如需將相同的資料庫放到多個 SQL Server 中, 以提供分散式的資料存取時 , 資料庫管理者就需設定各伺服器之間的複寫 (Replication), 以便讓各伺服器上的資料庫內容能保持一致。

  32. 資料庫管理者的工作 • 維護伺服器運作: • 保持 SQL Server 隨時在『最佳狀態』下運作也是管理工作的重點, 因此資料庫管理者需不時地監視伺服器的狀態, 並在有問題發生時及時解決。 • 資料庫管理者也需根據監視到的效能數據, 適時地調校 SQL Server 的各項設定, 讓伺服器有最佳的效能表現, 或預防問題的發生。 • 設定作業排程: • 電腦雖可二十四小時全天運作, 但人卻需要休息養生。因此資料庫管理者可設定各類能夠交由 SQL Server 自動執行的作業(Job), 例如於夜間自動備份資料庫, 以減輕使用者或自己的負擔。

  33. 資料庫管理者的工作 • 協調資料庫的使用: • 資料庫伺服器是有許多不同角色的人在使用, 例如單純的資料庫使用者、應用程式設計人員等等, 雖然 SQL Server 是由資料庫管理者負責管理, 卻也不能一意孤行, 以一己之意來控制資料庫。 • 管理者需與其它的使用者來協調關於資料庫的使用方式、程式的設計方式等問題, 才能讓 SQL Server 能有效的提供服務給所有使用者。

  34. 資料庫管理者的工作 • 上面這些都是常見且較重要的工作項目, 在不同的環境下, 資料庫管理者需進行的工作也會有所增減。 • 例如單伺服器的環境就不必進行複寫; 而在有資料倉儲需求的環境中, 資料庫管理者可能也要負責有關資料倉儲的維護工作; 在人手較少的單位中, 管理者甚至得身兼程式設計等其它工作。

  35. 資料庫管理者所需具備的知識 • 資料庫管理者負責的工作內容這麼多, 因此必須具備能有效完成各項工作的知識, 才能勝任愉快。 • 作業系統:如前所述, SQL Server 和 Windows 作業系統的關係非常密切, 因此資料庫管理者不但要對 Windows 作業系統的使用和操作非常熟悉, 此外也應儘可能充實 Windows 作業系統的相關知識。 • SQL Server:既然是 SQL Server 的資料庫管理者, 當然得對 SQL Server 本身有徹底的瞭解。

  36. 資料庫管理者所需具備的知識 • 關聯式資料庫:SQL Server 是個關聯式資料庫管理系統, 因此資料庫管理者也應該要能掌握關聯連式資料庫的理論和架構, 如此才能設計出實用且有效率的資料庫。 • T-SQL:雖然 SQL Server 附有 Management Studio 等數個圖形介面的管理工具, 但資料庫管理者仍應對 T-SQL 語法有基本的認識, 才能提高管理的效率。此外 SQL Server 2008 所提供的各類工具也非萬能, 通常管理者得自行加上適當的 T-SQL 指令才能完成所需的工作。因此就算不需成為 T-SQL 程式設計高手, 至少也應該熟悉基本的 T-SQL 語法。

  37. 資料庫管理者所需具備的知識 • 雖然我們能從書藉、雜誌取得大多數的資訊, 不過為尋找各種相關問題的解決方案, 資料庫管理者也需不時上網取得新知。 • 在本書中介紹各類主題時, 也會儘可能將相關的作業系統等資訊做說明, 以便讓讀者能在對主題有完整的瞭解下, 依自己的需求來訂出最有效的管理方式。

  38. 微軟公司的 SQL Server 相關認證 • 因應新的 SQL Server 2008 產品, 微軟公司也推出全新的 SQL Server 2008 專業認證, 與管理相關的認證項目包括: • MCTS: SQL Server 2008, Implementation and Maintenance:著重於 SQL Server 2008 的安裝、設定、一般性維護, 取得此項認證需通過『 Exam 70-432: TS: Microsoft SQL Server 2008, Installation and Maintenance』 測驗。

  39. 微軟公司的 SQL Server 相關認證 • MCTS: SQL Server 2008, Database Development:雖然名稱看起來偏重於資料庫應用程式開發能力, 但其實此認證著重於管理人員也會用到的 T-SQL 及 .NET CLR 設計能力。取得此認證需通過『Exam 70-433: TS: Microsoft SQL Server 2008, Database Development』測驗。 • MCTS: SQL Server 2008, Business Intelligence Development and Maintenance:重點為 SQL Server 2008 的 Reporting Services 、Analysis Services 及 Integration Services。取得此認證需通過 『Exam 70-448: TS: Microsoft SQL Server 2008, Business Intelligence Development and Maintenance』 測驗。

  40. 微軟公司的 SQL Server 相關認證 • MCITP: Database Administrator 2008:已取得MCTS: SQL Server 2008, Implementation and Maintenance認證者, 再通過 『Exam 70-450: PRO: Designing, Optimizing and Maintaining a Database Server Infrastructure using Microsoft SQL Server 2008』測驗, 即成為『微軟認證 IT 開發專家』 (MCITP, Microsoft Certified IT Professional), 可取得此項代表 SQL Server 2008 管理專業能力的認證。

  41. 微軟公司SQL Server 2012 相關認證 • MCSA – SQL Server 2012 • SQL Server 2012第一個要考的證照 • MCSE - Data Platform • MCSE – Business Intelligence

  42. 微軟公司的 SQL Server 相關認證 • 詳細資訊可參見 http://www.microsoft.com/learning/mcp/sql/2008/default.mspx。

  43. SQLServer 2008 Express • SQL Server 2008 Express是SQLServer的免費試用版 • 資料庫容量大小限制在4G,最大記憶體支援到1G • SQL Server Management Studio (SSMS)需要另外下載 • 需要下載及安裝 Microsoft SQL Server 2008 支援的 Microsoft Visual Studio 2005 Service Pack 1 更新才 能連接至 Visual Studio 2005

  44. 系統需求 • 支援的作業系統: • Windows 7; Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Server 2008 R2; Windows Vista Service Pack 1; Windows XP Service Pack 3 • 32 位元系統 • 備有 Intel 或相容 1GHz (或更快) 處理器 (建議使用 2 GHz 或更快,只支援單一處理器) 的電腦。 • 最少 256 MB RAM (建議 1 GB 或以上) • 1GB 可用硬碟空間 • 64 位元系統 • 1.4 GHz 或更高等級處理器 (建議使用 2 GHz 或更快,只支援單一處理器)。 • 最少 256 MB RAM (建議 1 GB 或以上) • 1 GB 的可用硬碟空間

  45. 軟體需求 • 必須具有電腦的管理權限(eg. Administrator) • 步驟 1 • 下載並安裝 Microsoft .Net Framework 3.5 SP1 • 步驟 2 • 下載並安裝 Windows Installer 4.5 • 步驟 3 • 下載 • SQLEXPR_x86(32位元OS上安裝) • SQLEXPR_x64 (64 位元OS上安裝)

  46. SQLServer Express版本 • SQL Server 2008 Express • 最基本只包含資料庫的版本 • SQL Server 2008 Express with Tools • 多了SSMS管理介面的版本 • SQL Server 2008 Express with Advanced Services • 多了全文檢索與Analysis Service的版本 • 需要多安裝windows powershell軟體

  47. 安裝開始

  48. 安裝中心 • 可點選”System Configuration Checker”檢查是否有妨礙安裝的狀況 • 檢查的東西不一定會發生,僅作參考

  49. System Configuration Checker • 若有錯誤,排除錯誤後可點選重新執行測試

  50. 安裝 • 點選”新的SQL Server獨立安裝或將功能加入到現有安裝”

More Related