ms2000存儲
㈠ MSsql Server 2000的安全及管理介紹
通俗地講,資料庫是儲存具有某些特性的資料的資料庫。通常,我們把使用資料庫系統的用戶劃分為四類,資料庫設計者、資料庫管理者、應用程序設計者及一般使用者。其中資料庫管理者負責賬號的管理與維護,決定所有資料庫使用者的使用許可權。資料庫安全管理可說是資料庫管理者最重要的工作。SQL Server是Microsoft的企業級資料庫,它是個功能強大、易於使用的資料庫,可直接與Windows NT/2000的使用者賬號做安全機制整合。
那麼,到底什麼是安全管理呢?簡而言之,安全管理是指對需要登入伺服器的人員進行管理。在應用梁宴程序中,我們會對資料庫的各類使用者設置資料操作許可權,通常是直接在應用程序中做賬號與密碼的管理,但這種做法需要撰寫程序控制。而SQL Server具有親切、易操作的圖形使用界面,可以方便地管理使用者對SQL Server的存取許可權。
SQL Server 安全管理可分為3個層次,即登入賬戶、資料庫的管理與連接特定資料庫的許可權和使用者對所連接資料庫部分的操作許可權。下面,我們將針對這3個層次做詳細說明。
一、登入賬戶
任何需要存取 SQL Server的使用者皆需要有一組伺服器認可的賬戶和密碼。SQL Server支持2種登入方式,一種為Windows驗證,另一種為SQL Server驗證。前者只要在SQL Server中建立與Windwos NT/2000對應的登入賬戶,讓使用者登入Windows NT/2000時所用的賬戶能與在SQL Server中的賬戶相互對應,即可順利連上SQL Server,由此,我們完成了對Windows NT/2000安全管理機制的整合。
接下來,資料庫管理者在Windows NT上登入賬號,可直接將Windows NT中的群組加到SQL Server中,早磨從而成為一個登入賬戶。
通過上述操作,Windows NT登入群組中的成員皆可連接SQL Server。如果該群組中某一成員不允許其登入SQL Server,可在SQL Server中將該成員的個人賬戶陸渣斗設為拒絕存取。如果把SQL Server安裝在 Windows 95、windows 98或Windows Me中,則無法使用Windows驗證方式。
如果使用SQL Server驗證,必須在SQL Server中為要連接SQL Server的使用者建立登入的賬號名稱和密碼,這些賬號和密碼與Windows NT/2000的賬戶無關。
二、管理與連接特定資料庫的許可權
在建立登入賬戶後,使用者便能進入SQL Server中,但並不代表使用者有連接SQL Server特定資料庫的許可權,必須對使用者或群組設置對SQL Server的操作許可權。SQL Server中對資料庫的操作許可權可分為伺服器自身的操作許可權與資料庫的存取許可權。對SQL Server的操作許可權可由伺服器角色來設置,資料庫的存取許可權則可由角色與使用者對個別表格的存取許可權來設置。那麼,伺服器角色與角色之間有什麼不同呢?
1. 伺服器角色
SQL Server系統內建8種伺服器角色(可把角色想像成Windows NT賬號中的群組),它不能更改或新增。當對某一使用者或群組設置好伺服器角色後,其便擁有該伺服器角色所擁有的許可權。伺服器角色是將SQL Server的各項管理工作加以分類,如建立賬號和資料庫備份等,它與資料庫角色不一樣,後者為對個別資料庫的操作許可權。
我們簡單列出8種伺服器角色所擁有的許可權。
system administrators 表示系統管理員可執行任何動作。
security administrators 表示管理登入賬戶。
server administrators 表示設置SQL Server的各項參數。
setup administrators 表示有關replication(復制)的設置與管理擴充預存程序。
process administrators 表示管理SQL Server所有執行中的程序。
disk administrators 表示管理資料庫文件。
database administrators 表示建立和更改資料庫屬性。
bulk insert administrators 表示對可執行bulk insert操作的管理。
2. 角色
SQL Server內建10種資料庫角色,它不能更改或刪除,但可對個別資料庫增加角色。若給予使用者有內建角色中的資料庫擁有者許可權,它便擁有該資料庫的完整操作權。其餘各角色的詳細許可權說明可參考SQL Server的bol(即SQL Server books online),通過查詢關鍵字roles,進入標題為roles的項目,其中有包含內建伺服器角色與資料庫角色的完整說明,在此不多贅述。需要注意的是,在對使用者分別設置了各種角色(每一使用者或群組可具有多種角色)後,它便擁有所有角色聯集的許可權,但若其中有某一角色對某一操作權(如對某一表格的select權)設置了拒絕,它將失去了該項許可權,換句話說,拒絕許可權優於授予許可權。
三、資料庫中部件的存取許可權
對於SQL Server的管理與可連接特定資料庫的許可權,由SQL Server所提供的伺服器角色與資料庫角色基本上可以符合我們大部份需求。另外,可直接對使用者或群組設置對資料庫中部件的個別存取許可權,這些個別的存取許可權有select、insert、update、delete、exec和dri,其中exec與dri分別表示對預存程序的執行許可權和對表格有效性的驗證許可權。在做直接的許可權設置時,我們也可針對特殊的使用者(如內建資料庫角色不能滿足時),當然,如果使用相同許可權方式的用戶比較多時,可以增加一個符合需求的資料庫角色,或將這些使用者在Windows NT/2000上先歸於某群組,再對該群組設置許可權,這樣做比較方便於管理與維護。
除上述內容之外,在實際運行時,筆者對於資料庫安全的把關總結出以下幾點建議。
1. 除非必要,否則盡量以Windows驗證來管理可連接SQL Server的使用者,以整合Windows NT/2000的安全機制。
2. 善用SQL Server的伺服器角色與資料庫角色功能。
3. 善用SQL Server的加密功能。
SQL Server提供了登入賬號、網路傳輸、虛擬表和預存程序的加密功能。其中賬號的密碼加密是預設的,而網路間傳輸資料則可用SSL方式進行加密,要啟動此功能必須啟動net-library的加密功能,同時要配合windows 2000的CA功能,並在伺服器端與用戶端設置完成,從而雙方在傳輸資料前,便會在SSL加密後再進行傳輸。由於虛擬表和預存程序的定義是以明碼保存在系統資料表中,若要將虛擬表和預存程序加密,可在其建立時在eNTerprise manager中設置加密選項或以 alter 敘述來設置加密。
4. 系統安裝完畢後,務必更改預設的sa密碼,免得有其他使用者"義務"管理您的SQL Server。
㈡ 怎麼安裝mssql2000資料庫
方法/步驟
1
將Microsoft SQL Server 2000安裝光碟放入光碟機中,安裝程序會自動運行出現版本選擇界面,
或是直接運行Microsoft SQL Server 2000安裝壓縮包,我們以安裝企業版為例。
2
在接下來的界面中選擇「安裝SQL Server 2000組件」選項。如下圖所示:
3
接著選擇「安裝資料庫伺服器」。如下圖所示:
4
稍後才開始出現安裝向導,點擊「下一步」。
5
接著出現「計算機名」窗口。「本地計算機」是默認選項,其名稱就顯示在上面,我們按其默認設置,點「下一步」。
6
在 「安裝選」 窗口,選擇 「創建新的SQL Server實例,,或安裝客戶端工具」。對於初次安裝的用戶,應選用這一安裝模式,
不需要使用 "高級選項" 進行安裝。 "高級選項" 中的內容均可在安裝完成後進行調整,點「下一步」。
7
接下來的窗口是用戶名、公司名的自取,同樣地,按其默認,點「下一步」。
8
「經過軟體許可協議」對話框,選擇「是」,到達「安裝定義」對話窗口(如下圖)。
在 「安裝定義」窗口,選擇 「伺服器和客戶端工具」 選項進行安裝。我們需要將伺服器和客戶端同時安裝,這樣在同一台機器上,
我們可以完成相關的所有操作,對於我們學習SQL Server很有用處。如果你已經在其它機器上安裝了SQL Server,則可以只安裝客戶端工具,
用於對其它機器上SQL Server的存取。 同樣地,按其默認「伺服器和客戶端工具」選擇到「下一步」。
9
在 "實例名" 窗口,選擇 「默認」 的實例名稱。這時本SQL Server的名稱將和Windows 2000伺服器的名稱相同。
例如筆者的Windows伺服器名稱是 「Darkroad」,則SQL Server的名字也是 「Darkroad」。SQL Server 2000可以在同一台伺服器上安裝
多個實例,也就是你可以重復安裝幾次。這時您就需要選擇不同的實例名稱了。建議將實例名限制在 10 個字元之內。
實例名會出現在各種 SQL Server 和系統工具的用戶界面中,因此,名稱越短越容易讀取。另外,實例名稱不能是
「Default」 或 「MSSQLServer」 以及SQL Server的保留關鍵字等。「實例名」對話框按默認值,點「下一步」。
10
在
「安裝類型」 窗口,選擇 「典型」 安裝選項,並指定 「目的文件夾」。程序和數據文件的默認安裝位置都是 C:\Program
Files\Microsoft SQL
Server\。一般C盤是系統區、建議放到其它盤。注意,如果您的資料庫數據有10萬條以上的話,請預留至少1G的存儲空間,以應付需求龐大的日誌空間
和索引空間。按默認值。點「下一步」。
11
在 「服務賬號」 窗口,請選擇 「對每個服務使用統一賬戶...」 的選項。在 「服務設置」 處,選擇 「使用本地系統賬戶」。
如果需要 「使用域用戶賬戶」 的話,請將該用戶添加至Windows Server的本機管理員組中。按默認值,必須輸入機器密碼,才能點「下一步」。
12
在
「身份驗證模式」 窗口,請選擇 「混合模式...」
選項,並設置管理員「sa」賬號的密碼。如果您的目的只是為了學習的話,可以將該密碼設置為空,以方便登錄。如果是真正的應用系統,則千萬需要設置和保管
好該密碼!:)如果需要更高的安全性,則可以選擇 「Windows身份驗證模式」 ,這時就只有Windows
Server的本地用戶和域用戶才能使用SQL Server了。
13
直接點「下一步」,開始復制文件。
14
在 「選擇許可模式」 窗口,根據您購買的類型和數量輸入(0表示沒有數量限制)。 「每客戶」表示同一時間最多允許的連接數,
「處理器許可證」表示該伺服器最多能安裝多少個CPU。筆者這里選擇了「每客戶」 並輸入了100作為示例。
15
出現安裝程序進度條,稍等10分鍾左右後,安裝完成,彈出「安裝完畢」對話框,點「完成」。
16
安裝完成後, 在「開始」->「所有程序」中可以看到「Microsoft SQL Server」,即表示安裝完成。
17
打開「開始」->「所有程序」->「Microsoft SQL Server」->「企業管理器」,便可以進行資料庫的操作。如下圖所示:
http://jingyan..com/article/ca41422ffd3a001eaf99ed49.html
㈢ ms sql2000 的存儲過程
你的update語句沒有設置更新條件,根據你的存儲過程來看,應該加上WHERE條件來限制要更新的數據,否則整個表的數據將全部被更新。
update MIS set 貨物名稱=@rwmc,貨物總量=@rwzl,進貨日期=@ksrq,進貨天數=@rwyjts,貨物周期=@zq,出貨日期=@sjjsrq,價值=@fz,品種=@lei
where 貨物ID=@rwid
你補充的信息正說明了問題,你的原句中「update MIS set 貨物ID=@rwid」,而貨物ID是主鍵,你沒限定要更新哪條數據,結果你的語句就是把主鍵列更新為同一個值,肯定會失敗的。
另外你判斷表中是否存在數據為什麼要使用游標呢?