標題標題  顯示論壇會員列表名單  搜索論壇搜索  HelpHelp
  注冊注冊  登入登入
ASP教學區
 DoReMe : ASP教學區
主題 話題: 第三章 安裝和使用SQL Server 回復發表新主題
作者
貼子內容 << Prev Topic下一個主題 >>
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回復: 44
Posted: 2004/11月/16 10:02上午 | IP記錄 引用 qqooo

理解SQL Server的安全模式

SQL Server有三種安全模式,參考登錄模式:

標準安全模式

WINDOWS NT 集成安全模式

混合安全模式

以下就是關於這三種模式的描述。

標準安全模式

標準安全模式是缺省的登錄模式。當你使用標準安全模式時,SQL Server自己來決定誰有權限來訪問這個服務器。如果你使用了這種配置,你必須為所有的進程建立能訪問服務器的登錄ID號。

當你在運行Internet Infornation和Active Server Page的系統上使用標準安全模式時,你必須建立一個和sa帳戶不同的登錄ID號。如果INTERNET用戶運行以sa帳戶的身 份來登錄,那麼他就有權限來改變你的數據庫內的所有的數據。這是及其危險的。為了解決這個問題,你必須建立一個限制了權限的用戶 (權限的分配我們會在後面的章節討論,「用戶組,用戶,和權限」)。

你可以為INTERNET的登錄用戶取任何的名字。例如,你可以把他命名為WEBUSER。 為了建立這個新的登錄ID號,你可以在SQL Enterprise Manager的菜單中選擇Manage|Lodins。管理登錄的對話框就會出現。然後,從Login Name的下拉式框中選擇New User。然後輸入你的INTERNET用戶所使用的名字。你還需要輸入一個密碼, 這個密碼是INTERNET用戶訪問你的服務器時認證所使用的。在你說明了這些信息以後,點擊Add,一個新的登錄ID號就會被 加入。

集成安全模式

集成安全模式是SQL Server的另一種可用的安全模式。使用了集成安全模式以後,你的安全認證工作就全部有WINDOWS NT來完成。也就是說,所有的WINDOWS NT帳戶都可以訪問SQL Server。

使用集成安全模式的好處就是你不必要費心去維護兩個系統的安全。 你只需要在NT 的安全框架內建立一個有合適的權限的新用戶就可以了。 一旦建立了一個WINDOWS NT 的用戶,這個帳戶會自動地映射成為SQL Server在SQL Secure Manager 中的一個登錄ID號。 (要知道任何做,見後面的「SQL Secure Manager」)。

你需要進行幾步操作來激活這種安全模式:

在SQL Server按照以後,選擇開始|程序|SQL65|SQL Enterprise Manager

選擇Server|SQL Server|Configure|來打開服務器選項配置的對話框(見圖3.7)。 然後點擊安全選項的一頁(見圖3.8)。

圖3.8 服務器配置的菜單選項

 

 

 

 

 

 

 

 

 

 

 

 

選擇WINDOWS NT集成模式。

對於缺省域的選擇,你要說明你的SQL Server用戶在哪一個域內存在,如果你不是一個域的成員,你可以SQL Server所在的WINDOWS NT 服務器的名字。

對於缺省登錄帳戶的選擇,就是指你要使用的缺省登錄帳戶。缺省登錄帳戶是給那些沒有一個有效的登錄帳戶的用戶使用的。

如果需要的話,你可以選擇配置主機名和用戶名的選項。在你選擇上以後,在運行存儲過程Sp_who時,這個選項會顯示你的機器名 。

你有必要設置映射選項。 這些選項可以使你能夠重新分配無效的字符(*,-,#,/)。

在這些合適的選項都被選擇了以後,退出SQL Server,重新啟動服務器。

圖3.8 SQL配置的安全模式選項

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分配用戶名

如果你決定使用集成安全模式,一定要非常小心地分配你的用戶名。先確定一種命名習慣,然後堅持使用它。 有很多的字符(例如:-,#,@, *, /, \)是SQL Server所不支持的字符,但是WINDOWS NT 卻支持。SQL Server允許你把這些字符映射成一些它可以接收的字符。從以往的實踐來看,你最好取一些簡單的,沒有SQL Server不接收的字符的名字,例如,John Propeller可以命名為PropellerJ,但是,SQL Server會需要你把Propeller-J映射成Propeller_J。 因為連字符號(-)會造成錯誤(參考圖3.8)。

混合安全模式

混合安全模式有標準安全模式和集成安全模式兩種模式的好處。 你可以把WINDOWS NT的帳戶和SQL Server的帳戶混在一起用。你可以直接在SQL Server中添加用戶,也可以在通過SQL Secure Manager給WINDOWS NT的用戶組賦予權限(見以後的章節「SQL Secure Manager」)。

混合安全模式和集成安全模式的唯一不同就是在NT用戶的帳戶上。使用集成安全模式,一個用戶必須擁有一個帳戶,而且要成為一個有 權限訪問SQL Server數據庫的用戶組的成員,才能服務器數據庫。 在這種模式下,你不能直接為SQL Server添加登錄ID號。但是,在混合模式下,你可以直接為SQL Server添加登錄ID號。 在NT的用戶數據庫內的帳戶和任何在SQL Server中添加的登錄ID號一樣都有權限訪問數據庫。因為混合安全模式的在維護NT登錄帳戶時的靈活性,我們推薦使用它。

Back to Top 查看 qqooo's 資料 搜索其他貼子 qqooo 訪問 qqooo's
 
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回復: 44
Posted: 2004/11月/16 10:03上午 | IP記錄 引用 qqooo

用戶組,用戶,和權限

在取名的部分,你已經學會了如何建立登錄ID號,登錄ID號提供的是一種很低級的安全。他們就像一個進入SQL Server的密碼一樣。他們只能決定誰能訪問SQL Server,然而在他們進入SQL Server以後,他們不能用戶能作哪些操作。為了更清楚地說明權限,你必須為用戶組和用戶定義權限。

每一個SQL Server數據庫,存儲過程,和表都和權限有關。 只有特定的用戶和用戶組有權限訪問每個對象或對它進行某種特定的操作。 當SQL server 在World Wide Web上工作時,對每一個對象的權限的合理分配尤其重要。

例如:假如你有一個表名為CreditCards,它包含了那些從你的站點上購買過商品的人的信用卡。你將不允許一個INTER NET上的陌生人訪問這個表。所以,你需要非常仔細地配置這個表的權限,防止這些重要的數據落入壞人之手。

在這個例子中信用卡表,你需要這樣來配置它的權限,從INTERNET上來的用戶只能向表內添加數據,而不能讀取表內的數據。你 允許用戶向表內添加自己的信用卡號碼,而不允許用戶讀取其他人的號碼。那麼,你怎樣才能做到這樣?

權限和登錄ID號是無關的。它是和用戶組和用戶有關的。因此,你要作的第一件事就是建立一個新用戶,並把它和WEB站點的用戶所 使用的登錄ID號聯繫起來。以下就是這些必要的步驟:

選擇CreditCards表所在的數據庫。有一個用戶被設置成和這個特定數據庫相關。

選擇Manage|Users。管理用戶的對話框就會出現(見圖3.9)。

輸入一個你想設置的用戶名。例如:Webvistor。

從登錄的下拉式框中,選擇一個特定的登錄ID號。把這個ID和用戶名進行映射。

點擊OK建立新用戶。

圖3.9 管理用戶的對話框

 

 

 

 

 

 

 

 

 

現在你已經建立了一個新用戶,也賦予了它一定的權限。你可以有一個選擇:你可以要麼對用戶說明權限,要麼對對像說明權限。這裡是 關於為對像配置的幾個步驟:

通過點擊表的名字來選擇CreditCards表。

選擇Object|Permissions。 有關對像權限的對話框就出現了(見圖3.10)。

選擇標有By Object的一頁。如何會出現用戶和用戶組的列表。

選上在Webvisitor用戶旁邊的Insert框。選上這個框,你就給用戶Webvistor賦予了向表中添加數據的權限。

你一定要確保不要選上在Webvisitor用戶旁邊的Select框。如果你沒有選上這個框,用戶Webvistor就沒有通 過SELECT語句從表中提取數據的權限。

點擊Set按鈕。點擊了這個按鈕,你真正地改變了這些權限。

點擊Close關閉對話框。

圖3.10 管理對像權限的對話框

 

 

 

 

 

 

 

 

 

 

 

 

 

 

技巧

在開發出現的時候,經常需要簡單地把對所有的用戶的權限限制都取消。為了達到這個目的,你只要在管理對像權限的對話框內,點擊G rant All按鈕,然後點擊Set按鈕,這樣就把所有的權限分配給你的用戶和用戶組了。

如果不一個一個地為每一個用戶說明權限,你也可以為一組用戶說明權限。例如, 你可以建立一個網絡可信連接的組和另一個網絡非可信連接的組。你可以這樣配置,使前一個組幾乎具有訪問任何對象的權限,而後一個 組則只具有很少的權限,幾乎不能訪問任何數據庫。

為了建立一個新組,你可以按以下步驟操作:

限制數據庫的名字。把一個組和一個特定的數據庫聯繫上。

限制Manage|Group。管理用戶組的對話框就會出現。

輸入一個新的用戶組名。

使用Add按鈕,把你需要的用戶加入到這個新的用戶組中。

點擊Add(在屏幕的右上角的第二個Add按鈕),把這個新組加入到數據庫中。

和為一個特定的用戶分配權限一樣,你也可以為一個用戶組分配權限:點擊用戶組的名字,然後選擇Object|Permissio n。你可以說明哪些數據庫這個用戶組的成員可以訪問,和哪些操作是這個用戶組的成員允許操作的。

Back to Top 查看 qqooo's 資料 搜索其他貼子 qqooo 訪問 qqooo's
 
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回復: 44
Posted: 2004/11月/16 10:03上午 | IP記錄 引用 qqooo

SQL Security Manager

SQL Security Manager的作用就是配置WNDOWS NT用戶在SQL Server上的權限映射(圖3.11)。它把WINDOWS NT的用戶組向SQL Server的登錄ID號進行映射。只有在SQL Enterprise Manager中的Server|SQL Server|Configure菜單中的混合安全模式或集成安全模式被選上以後,SQL Security Manager才有用。你不能使用這個程序來添加獨立的用戶,但是,你可以用他來給NT用戶組賦予你的數據庫的權限。

圖3.11 SQL Secure Manager


 

 

 

 

 

 

 

 

 

 

要把WINDOWS NT 管理員用戶組的成員用戶和SQL Server的sa帳戶進行映射,可以按以下幾個步驟進行:

選擇開始|程序|SQL65|SQL Security Manager,運行SQL Security Manager。然後獨立帳戶的屏幕就出現了。

輸入sa的密碼,然後點擊連接。系統管理員權限的對話框就會出現。

從菜單中選擇Security|Grant New。賦予系統管理員權限的對話框就出現了(見圖3.12)。如果你是一個域的成員,在Default Domain中選擇Group,顯示這個域裡所有的管理員組。 否則,選擇缺省的Local Group。

點擊Grant 按鈕,SQL Server就會把sa的權限分配給所有指定的NT帳戶。(sa具有控制SQL Server的全部權限。) 這種配置方法使任何NT管理員組的成員都具有完全控制SQL Server的權限。(記住,賦予一個用戶全部權限是一件很危險的事,因為他會無意或有意地破壞你的數據庫內的全部數據。)

圖3.12 賦予系統管理員權限


 

 

 

 

 

 

 

 

 

 

 

為了賦予某一個用戶對SQL Server的訪問權限,SQL Server Manager必須給整個用戶組賦予這個權限。在這個組內的全部用戶都被加入到SQL Server的Logins文件夾下。你也可以用SQL Secure Manager來賦予和取消權限。

以下就是把WINDOWS NT用戶組和SQL Secure Manager 的登錄帳戶進行的步驟:

選擇開始|程序|SQL65|SQL Secure Manager,運行SQL Secure Manager。登錄ID號的屏幕就出現了。

輸入sa的密碼,然後點擊Connect。系統管理員權限的對話框就會出現。

選擇User Privilege按鈕,然後選擇View| User Privilege,顯示用戶的屏幕就會出現。

然後選擇Security|Grant New,為新用戶賦予權限的對話框就會出現。

從用戶組的列表中,選擇一個你要給的他的成員賦予這個登錄ID號的用戶組。你可以選擇是從當地用戶組,還是從缺省域中選取。

點擊Grant 按鈕,SQL Secure Manager就會自動地為這些賦予權限的NT用戶產生一個當年ID號。

當一個用戶帳戶在WINDOWS NT的數據庫中改變了。這也會對SQL Server的用戶數據庫產生影響,因為他們的認證是集成在一起的。在你通過用戶管理器從WINDOWS NT的用戶數據庫中刪除一個之前,你必須通過SQL Secure Manager取消這個用戶對SQL Server數據庫的全部訪問權限。你可以在SQL Secure Manager的用戶屏幕下完成這個操作。點擊你要取消的用戶帳戶,選擇Secure|Account Detail,然後點擊Drop Login按鈕。這樣你就把這個用戶的當年ID號取消了。如果你先把這個用戶從WINDOWS NT 的數據庫中刪除了,你就必須從SQL Enterprise Manager中刪除這個登錄ID號了。你必須在所有的數據庫和Logins文件夾下刪除這個用戶的登錄ID。注意,你一定要先 從SQL Secure Manager中刪除這個登錄ID,再從WINDOWS NT的數據庫中刪除這個用戶。

Back to Top 查看 qqooo's 資料 搜索其他貼子 qqooo 訪問 qqooo's
 
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回復: 44
Posted: 2004/11月/16 10:04上午 | IP記錄 引用 qqooo

維護SQL Server數據庫

        這一部分會向你介紹任何維護你的數據庫。首學,你要學習如何建立Alerts,如何學習如何備份你的數據庫。最後我們將介紹SQ L Server Databases Maintenance Plan Wizard(簡稱為「Maintenance Wizard」)。

建立Alerts

SQL Enterprise Manager允許你建立基於數據庫的錯誤代碼或特定的條件的系統Alerts。這些Alerts可以是e_mail的形式,也 可以是網頁的形式。這個Alert引擎是你能夠選擇你要聯繫的人和聯繫的方式。

這個Alerts系統的主要好處就是他使你能夠主動地維護數據庫,而是被動地維護數據庫。 這種好的維護策略的目的是在錯誤發生的時候,減少發現的時間。在錯誤即將發生時有足夠多的警告。這個Alerts系統使你能夠設 計這種警告系統。

為了使用Alerts,你必須在安裝SQL Server的服務器上安裝郵件服務。和E_mail一樣,Alerts也使用網頁郵件來發送消息。如果打算使用網頁郵件特徵, 你一定要保證你的郵件系統支持網頁郵件。

以下就是運行SQL Mail的步驟:

在Enterprise Manager中,選擇Server|SQL Mail|Configure。SQL Mail的配置對話框就會出現了。

輸入需要的E_mail帳戶的信息(對話框的形式和你安裝在服務器上的郵件服務有關)。 例如,你正在使用Exchange,就要輸入正確的Exchange的配置文件。在SQL Server正在運行時,你必須保證這個配置文件和SQL Sever的登錄ID是同有關帳戶。

點擊OK,保存SQL Mail的配置信息。

選擇Server|SQL Mail|Start,這就可以運行SQL Mail服務。

在SQL Mail 已經運行以後,你可以說明那個將要從SQL Server接收E_mail的操作者。 按照以下的保證,建立這個操作者。

在SQL Enterprise Manager中,選擇Server|Alerts|Operators。管理Alerts和操作者的窗口就會出現,如圖3.1 3所示。

點擊Operators按鈕。然後,點擊New Operator按鈕來建立有關新的操作者(這個按鈕看起來向一個消防員的帽子)。新建操作者的對話框就會出現。

首先輸入操作者的名字,然後,輸入e_mail帳戶的e_mail地址。這個e_mail地址會為Alerts說明向哪裡為操作 者發送警告信息。你可以點擊標有Test的按鈕,來測試這個e_mail地址是否有效。

圖3.13 管理Alerts和操作者


 

 

 

 

 

 

 

 

 

點擊OK,存儲新操作者的配置。

這個操作者用於接收警告信息的。你必須按照以下的步驟來生存Alerts。

在SQL Enterprise Manager中,選擇Server|Alerts|Operators。管理Alerts和操作者的窗口就會出現(見圖3.1 3)。

點擊New Alert按鈕。然後,在New Name文本框中輸入你要建立的Alert的名字。這個名字用於在Alert/Operator窗口中顯示時。

說明那些可以觸發這個Alert的錯誤。例如,你可以定義這個只能被硬件的致命性錯誤觸發的Alert。為了做到這一點,選擇那 個標有Severity的按鈕,再從列表中選擇024:Fatal Error:HardWare Error。

說明是發送E_mail還是發送網頁給操作者。注意,在Alert被觸發時,操作者是和接收信息的E_mail帳戶聯繫在一起的 。

最後,點擊OK,保存這個新的Alert的配置。

注意

大部分數字Paging系統允許你通過Intenet e_mail 信息來訪問Pager。

你也可以通過NT 的下拉監視器來設置Alert。下拉監視器可以監視SQL Server的任何進程,也可以允許SQL Server的Alert引擎,因此,觸發一個Alert,他就會發送一個E_mail。被最廣泛地監視的就是數據庫tempd b的存儲空間。 你可以讓性能監視器在數據庫在50%,60%,或70%,等等的空間被佔用時,警告SQL Sever的Alert引擎。 這樣使你在服務器停機之前,有足夠的時間來清理這個數據庫。tempdb數據庫的填滿會導致服務器的停機,如果你繼續堅持操作, 就有可以造成master數據庫的損壞。

Back to Top 查看 qqooo's 資料 搜索其他貼子 qqooo 訪問 qqooo's
 
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回復: 44
Posted: 2004/11月/16 10:04上午 | IP記錄 引用 qqooo

備份數據

精確地準備進行備份和恢復過程可以盡可能地減少你的服務器出故障時縮短損失。當你準備備份過程時,你應該記住這樣幾件事情:

把所有的備份數據庫設備存儲在同一個子目錄下。把這些備份都放在一個子目錄下,有利於服務器把他們向磁帶上備份。

在每一次安裝SQL Server之後,都要重新備份master數據庫。

要在備份master數據庫之前,備份所有的應用程序的數據庫。

在這些事情發生以後,你必須備份master數據庫。

你增加或刪除一個數據庫設備

你建立或改變了數據庫的所有者。

你增加或改變了用戶ID,登錄ID號,或遠程登錄ID號。

你運行了sp_configure。

如果你丟失了master數據庫,你也會丟失所有的其他數據庫。在這種事情發生時,你必須重新生成master數據庫,這是一個 很痛苦的事。注意,要經常備份它。

如果需要的話,要經常備份事務處理日誌文件。

SQL Enterprise Manager使這種備份變得很容易。要準備備份,你要做的第一件事就是要建立一個備份數據庫設備。按照以下步驟進行:

運行SQL Enterprise Manager,選擇你的數據庫服務器的名字。

從Tools菜單,選擇Database Backup|Restore。

選擇New Backup Devices。 新建備份數據庫設備的對話框就出現了,如圖3.14所示。

輸入數據庫設備的名字和備份數據庫設備的位置。你也可以說明是向磁盤或磁帶備份。

點擊Create按鈕。

你可以按照以下的步驟準備備份:

選擇Tools|Database Backup|Restore。用於數據庫備份的對話框就出現了(見圖3.15)。

從Database Backup的下拉式框中,選擇你要備份的數據庫。

選擇你需要的數據庫備份設備。

 

圖3.14 新建數據庫備份設備的對話框


 

 

 

 

 

 

 

圖3.15準備數據庫備份的對話框


 

 

 

 

 

 

 

 

 

 

 

 

 

一次建立和準備使用備份設備時,你需要對它進行初始化(建立它)。 數據庫設備的subsequence備份,後一個備份會覆蓋前面一個備份。其他的選擇是一個incremental的備份。如果 初始化數據庫設備的選項沒有選上,系統缺省的配置是incremental的備份。

點擊合適的按鈕-Backup Now或Sechedule(計劃在某一個特定的時間進行備份)。

從備份數據庫中恢複數據也是很容易的。按照以下的步驟完成:

選擇Tools|Database Backup|Restore。 備份數據庫的恢復對話框就出現了。

在Database Backup|Restore對話框中點擊Restore按鈕。選擇你用於恢復

的備份數據庫和要恢復的數據庫(見下一頁的圖3.16)。

如何點擊Restore按鈕。

圖3.16 從備份數據庫設備中恢復

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DataBase Maintenance Plan Wizard

DataBase Maintenance Plan Wizard是為了使對數據庫的維護更容易而設計的(見圖3.18)。DataBase Maintenance Plan Wizard對數據進行持續的檢查,檢查數據連接,檢查索引連接,檢查數據分配,和檢查索引分配。(這裡有一些可用的維護選項。 要看所有的選項,你可用搜索連機標準文件,用wizard關鍵字。)在你回答了Wizard對話框中的一系列問題以後,wiza rd會為你決定哪一個是最好的維護計劃。實際上wizard所做的全部的事情只是寫SQL script,然後執行它。wizard可以把你的繁忙的事務變成一些很簡單的問題。這個wizard只是在數據庫超過400M 時,不推薦使用。

圖3.18 DataBase Maintenance Plan Wizard

 

 

 

圖3.19 從備份數據庫設備中恢復

 

總結

Microsoft SQL Server是最容易按和維護的數據庫引擎和資之一。這個服務器足夠強大,可以處理你幾乎所有服務。

有一些商業的WEB服務器使用SQL Server來動態地把WEB網頁存入服務器數據庫中。在設計你的網絡佈局,你可以把一些或全部的HTML代碼存儲到你的數據庫 的表格中,只需要從Active Server Page網頁上的一個簡單的查詢就可以取出這些數據。SQL Server使你能夠存儲所有的字體和HTML顏色代碼,等等。這些配置使維護你的網頁變得更容易。假設在你的網頁上的文本兩個 星期換一次。如果你把文本保存在數據庫中,並使用Active Server Page網頁來讀取其中的數據,你可以很容易地處理這個問題。這樣你就可以用簡單的文字處理器(例如,Microsoft Word)來改變文本的內容。Microsoft Query和Microsoft Access也可以用來更新數據庫中的數據。

SQL Server在INTERNET上的主要用處就是存儲和讀取大量的數據。你會發現,作為一個WEB數據庫服務器,SQL Server的反應時間比一般的數據庫要長。在美國東北部的一個站點,一個星期要從SQL Server的主要數據庫中下載1,500,000條記錄。 下載這些數據大約要花40分鐘,然而,WEB站點大約的反應時間為1秒鐘下載一條記錄。還不是很壞。

 

Back to Top 查看 qqooo's 資料 搜索其他貼子 qqooo 訪問 qqooo's
 

如果你想回復的話你必須首先 login
如果你還沒有注冊的話你必須首先 注冊

<< 上一頁 頁 of 2
  回復發表新主題
顯示可打印的頁面 顯示可打印的頁面

論壇跳轉
不能 張貼新論題在這個討論版
不能 回應論題在這個討論版
不能 刪除你的發言在這個討論版
不能 編輯你的發言在這個討論版
不能 新增投票標題在這個討論版
不能 在這個討論版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.1875 seconds.

 
保養品
保養品, Skin Care
www.elady.tw
美材批發
美材, Cosmetic
www.elady.tw/beauty_org
保養品批發
名牌保養品、保養品批發
gb.perfume.com.tw/skincare
飾品批發
飾品、飾品批發
gb.perfume.com.tw/ornament