880 likes | 1.07k Views
第 3 章. SQL Server 2005 伺服器管理初步. 3-1 伺服器服務. SQL Server 是以服務 (Service) 的形式存在 , 而且如同第一章所介紹的 , 服務還不只是 SQL Server 資料庫伺服器服務而已 , 還包括代理程式 (Agent) 和 Reporting Services 等服務。在這一節我們就來看如何管理這些服務 , 以及啟動這些服務的不同方法。. 伺服器服務. 使用 SQL Server Configuration Manager 管理所有服務 命令列啟動方式
E N D
第 3 章 SQL Server 2005 伺服器管理初步
3-1 伺服器服務 • SQL Server 是以服務 (Service) 的形式存在, 而且如同第一章所介紹的, 服務還不只是 SQL Server 資料庫伺服器服務而已, 還包括代理程式 (Agent) 和 Reporting Services 等服務。在這一節我們就來看如何管理這些服務, 以及啟動這些服務的不同方法。
伺服器服務 • 使用 SQL Server Configuration Manager 管理所有服務 • 命令列啟動方式 • Windows Services
使用 SQL Server Configuration Manager 管理所有服務 • SQL Server Configuration Manager 的用途是管理 SQL Server 伺服器端的相關服務, 同時可讓我們得知服務的執行狀態。 • 開啟與使用 SQL Server Configuration Manager • 停止或暫停服務時的考量 • 設定各服務啟動帳戶與開機是否自動啟動 • 設定 SQL Server 啟動參數
開啟與使用 SQL Server Configuration Manager • 請執行『開始/ 所有程式/Microsoft SQL Server 2005/ 組態工具/SQL Server Configuration Manager』 命令即可開啟 SQL Server Configuration Manager:
開啟與使用 SQL Server Configuration Manager • 其中重要的服務介紹如下: • SQL Server Ful lText Search:此服務提供 SQL Server 全文檢索的搜尋功能。 • SQL Server:這項服務管理所有組成資料庫的檔案、處理 T-SQL 敘述與執行預存程序等功能。必須啟動 SQL Server 服務, 用戶端才能存取 SQL Server 內的資料。 • SQL Server Analysis Services:Analysis Services 提供線上分析處理 (OLAP)和資料採礦功能, 是使用資料倉儲的重要服務。
開啟與使用 SQL Server Configuration Manager • SQL Server Reporting Services:Reporting Services 是 SQL Server 的報表服務, 可以提供管理者與使用者迅速且方便地產生、管理、維護、瀏覽報表。 • SQL Server Agent:SQL Server 代理程式服務, 啟動這項服務讓 SQL Server可以對週期性的工作做排程, 並且在作業(jobs) 發生問題或產生預設的警示(alerts) 狀況時, 主動提醒系統管理者或操作者。
停止或暫停服務時的考量 • 停止與暫停的不同點, 在於暫停時 SQL Server 的服務仍是在執行中, 只不過將不允許新的使用者連線進來。 • 管理者應特別注意, 不論停止或暫停服務時, SQL Server Configuration Manager 都不會出現任何確認視窗, 只要一按下按鈕, 服務就會立刻停止或暫停。
停止或暫停服務時的考量 • 由於資料庫伺服器的服務, 一般都是有很多使用者不時地進行存取, 所以使用 SQL Server Configuration Manager 停止或暫停服務時必須特別小心, 否則如果做了不恰當的動作, 可能會導致使用者無法連線或存取服務, 可不知會引起什麼樣的災難與損失。
停止或暫停服務時的考量 • 另外負責伺服器中各項自動化服務的 SQL Server Agent, 也是不應該任意停止的, 因為我們為 SQL Server 所設定的作業或警示等, 都需要靠這項服務才能順利執行。一但將此服務停止, 就無法依照原先的排程來完成特定工作, 伺服器發生問題時, 也無法自動通知管理人員。 • 有關作業與警示等自動化工作的設定, 請參考本書第 10 章的說明。
設定各服務啟動帳戶與 開機是否自動啟動 • 如果想要設定某項服務啟動的帳戶, 在開機後是否自行啟動, 或是停用某項服務, 請如下操作:
設定各服務啟動帳戶與 開機是否自動啟動
設定 SQL Server 啟動參數 • 如果您想要指定 SQL Server 啟動時的參數時, 請依照前述說明, 開啟 SQL Server服務的內容對話窗, 如下操作:
設定 SQL Server 啟動參數 • 設定完成後, 必須重新啟動 SQL Server, 新的啟動參數才能生效。關於 SQL Server 啟動參數的說明, 請參考下一節命令列啟動方式。
命令列啟動方式 • 除了使用前述 SQL Server Configuration Manager 管理各項服務外, 我們也可以使用傳統的命令列來啟動 SQL Server。 • 不過使用命令列的方式時, 會以應用程式的方式啟動 SQL Server, 所以無法使用前一節介紹的 SQL Server Configuration Manager 來進行關閉。而且因為是應用程式的關係, 所以若在啟動 SQL Server 後登出 Windows, 將會使 SQL Server 也停止執行。
命令列啟動方式 • 此外, 若您在 Administrator 的身份下使用命令列進行啟動, SQL Server 執行時建立的檔案或目錄, 其權限都是屬於 Administrator 擁有。若未來以前一節啟動服務的方式執行, 當啟動服務的帳號不是 Administrator 時, 將導致 SQL Server 無法讀寫之前建立的檔案與目錄。 • 所以除非是進行緊急維護、疑難排解, 或是需要測試某個參數的功能, 否則請勿使用命令列的方式啟動 SQL Server。
命令列啟動方式 • 啟動 SQL Server 的命令列參數 • 停止 SQL Server
啟動 SQL Server 的命令列參數 • 由命令列啟動 SQL Server 的方式, 就是去執行 \Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn 資料夾下的 SQLSERVR.EXE (若是要啟動 Named Instance, 則 MSSQL.1 資料夾的副檔名應換成其他數字) , 可使用的參數和格式如下:
啟動 SQL Server 的命令列參數 • 以下就來說明各參數的作用: • -c:要 SQL Server 不透過服務控制管理員來啟動, 以此方式啟動 SQL Server 時,可縮短啟動的時間。 • -dmaster 資料庫路徑:如果您要用另一份 master 資料庫來啟動 SQL Server 的話, 可使用此參數來指定。有關 master 資料庫的作用, 會在下一章介紹。 • -lmaster 交易記錄檔的路徑:指定 master 資料庫交易記錄檔的路徑。
啟動 SQL Server 的命令列參數 • -n:不使用 Windows 的應用程式事件記錄功能來記錄 SQL Server 的事件。此時您可利用下一個 -e 參數來設定將 SQL Server 的事件記錄到自己指定的檔案中。
啟動 SQL Server 的命令列參數 • -e 錯誤記錄檔路徑:-e 參數是用來設定要將 SQL Server 的事件記錄到哪一個檔案中, 檔案的路徑需直接接在 -e 參數的後面, 例如 -eC:\Program files\Microsoft SQL Server\MSSQL.1\MSSQL\Log\Errorlog 就是要記錄到 C: \Program files\Microsoft SQL Server\MSSQL.1\MSSQL\Log\Errorlog 這個檔案中, 其實這也是預設的設定 (雖然檔名是 Errorlog, 但並非只有『錯誤』事件才會被記錄,一些重要的事件 , 像是服務啟動時的訊息, 也都是會被記錄下來的)。
啟動 SQL Server 的命令列參數 • -f:以最小組態的方式來啟動 SQL Server。通常是在發現 SQL Server 有問題,要進行問題排除時使用。就像我們的 Windows 有問題或無法啟動時, 我們就可能會用『安全模式』這個 "最小組態" 的方式來啟動它, 以找出問題的所在。對SQL Server 而言, 被減小的組態包括可連線的使用者數、記憶體的使用情形等等,管理者可再行用系統預存程序 sp_configure 來重新設定 SQL Server 的組態。
啟動 SQL Server 的命令列參數 • -m:以單一使用者模式來啟動 SQL Server, 也就是只能有一位使用者連上 SQL Server, 在此情況下, SQL Server 中用來確保交易完成的 CHECKPOINT 機制將不會被啟動。一般情況下應不會用到此參數, 不過若資料庫或伺服器需要進行特殊的處理或修復工作時, 例如還原 master 資料庫, 就需使用此參數。
啟動 SQL Server 的命令列參數 • -T追蹤旗標編號:追蹤旗標 (Trace Flag) 是一組會影響 SQL Server 運作情形的旗標, 像是可啟動或關閉某項 SQL Server 的功能。有關詳細的旗標編號及其作用, 請參見線上叢書中標題為追蹤旗標的文章內容。請特別注意, 此參數用的是大寫的 T。 • -v:只顯示 SQL Server 的版本編號, 而不啟動 SQL Server。 • -x:不要統計 CPU 的使用狀況。
停止 SQL Server • 如前所述, 以命令列啟動的 SQL Server 並無法以服務的方式來加以控制, 因此無法讓其服務暫停或繼續執行。若要中止其執行狀態, 只能在命令提示視窗中按下 Ctrl + C鍵, 此時會出現如下的訊息, 回答 Y即可結束 SQL Server 的執行。
Windows Services • 安裝好 SQL Server 後, 預設每次開機時就會啟動 SQL Server 這個主要的資料庫伺服器服務, 而 SQL Server Agent 預設則是未啟動。 • 如果您想改變啟動的設定,或是在開機後想啟動或停止某項服務, 則可使用多種 Windows 所提供的方法來加以設定和控制。底下以 SQL Server 為例來介紹, 不過大家可自行舉一反三, 應用在SQL Server Agent、Analysis Services...等各項服務上。
Windows Services • 大家也別忘了 SQL Server 本身也有提供一些方法, 像是前面已介紹過的SQL Server Configuration Manager, 以及下一節將要介紹的 Management Studio。
Windows Services • 使用控制台 • 使用 net 命令
使用控制台 • 在 Windows 中開啟控制台/ 系統管理工具/ 服務, 就會出現如下的視窗, 由此處可看到各項服務的狀態, 而我們也能在服務名稱上雙按, 以控制服務的狀態或更改其設定:
使用 net 命令 • 除了使用控制台外, 也能在命令提示字元視窗中以 net 命令來控制各項服務。 • 其格式為: • 例如在 MSSQLServer 服務尚未被啟動的話, 則可用如下的命令來啟動它:
使用 net 命令 • 由於啟動的是服務而非應用程式, 所以當然能以服務管理員來加以控管。不過我們無法在此命令列後面加上 sqlservr 的命令列參數, 若想要用參數做控制, 則必須透過 3-5 頁所介紹的指定啟動參數的方式來達成。 • 至於停止服務以及其它服務的控制方式也都相同, 請讀者自行嚐試。
3-2 全能的管理員- Management Studio • Management Studio 是 SQL Server 最主要的管理工具, 以往在 SQL Server 2000 中有許多工具, 如 Enterprise Manager、Query Analyzer、匯出匯入資料等,在 SQL Server 2005 中都已經整合在 Management Studio 中。 • 幾乎所有對 SQL Server 的管理工作、資料查詢, 以及 T-SQL 敘述的執行, 都可以透過這個工具來完成。
全能的管理員-Management Studio • 往後 Management Studio 將是我們進行各項管理時不可或缺的重要伙伴, 這一節就先讓我們來瞧一瞧它的工作環境, 同時學習一些基本的操作技巧。 • Management Studio 的基本操作 • 方便的快顯功能表
Management Studio 的基本操作 • 請執行『開始/ 所有程式/Microsoft SQL Serve r 2005/SQL Server Management Studio』命令即可開啟 Management Studio:
Management Studio 的基本操作 • Management Studio 的操作介面和 Windows 檔案總管非常相似, 左邊的物件總管窗格以樹狀結構來顯示 SQL Server 中的各個物件, 按一下 + 號可以展開物件的內容, 按一下 - 號則可收合, 在物件的名稱上按一下即可切換到該物件, 同時右邊的摘要頁次會顯示該物件的相關內容。
Management Studio 的基本操作 • 當您在物件總管對物件進行操作時, 中間窗格還會新增相關頁次, 同時如果需要的話, 會出現屬性窗格讓您設定屬性。例如下面是修改資料表設定時的畫面:
Management Studio 的基本操作 • 如果您同時進行多項操作, 中間窗格可能會出現許多頁次, 此時可以如下在各個頁次間切換:
方便的快顯功能表 • 雖然主要的 SQL Server 工具都可由功能表與工具列來啟動, 但是多數處理 SQL Server 和資料庫物件的功能則未直接顯示出來, 不過您只要用滑鼠選取了想操作的物件, 再按下滑鼠右鈕,就會出現快顯功能表, 其中就有與該物件相關的命令可供執行:
方便的快顯功能表 • 基本上, 用 Management Studio 管理 SQL Server, 就像用檔案總管管理我的電腦一樣的簡單, 有關介面的操作應不是問題, 對資料庫管理者而言, 重點則是在如何用 Management Studio 中的命令和工具來管理好資料庫伺服器, 讓使用者能方便地取得他所需要的資料。因此下一節我們就從伺服器的連線開始看起。
3-3 連線遠端或多部 SQL Server • 本節將為您說明如何使用 Management Studio 連線遠端主機, 甚至還可以同時連線多部主機, 方便進行管理工作。 • 設定伺服器開放遠端連線功能 • 連線遠端 SQL Server • 同時連線多部 SQL Server • 註冊常用的伺服器 • 中斷伺服器連線
設定伺服器開放遠端連線功能 • 為了增加安全性, SQL Server 2005 預設只允許本機連線, 不允許其他主機的遠端連線。所以在您要連線遠端主機前, 必須先到該主機進行設定, 讓該主機可以接受遠端連線。請到欲連線的遠端主機上執行 『所有程式/Microsoft SQL Server 2005/ 組態工具/SQL Server 介面區組態』命令, 如下設定: