MS SqlServer數(shù)據(jù)庫及應(yīng)用.ppt_第1頁
MS SqlServer數(shù)據(jù)庫及應(yīng)用.ppt_第2頁
MS SqlServer數(shù)據(jù)庫及應(yīng)用.ppt_第3頁
MS SqlServer數(shù)據(jù)庫及應(yīng)用.ppt_第4頁
MS SqlServer數(shù)據(jù)庫及應(yīng)用.ppt_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、SQL2000數(shù)據(jù)庫系統(tǒng)及其應(yīng)用,演講內(nèi)容,SQL語言基礎(chǔ) 初步認(rèn)識SQL 2000 SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用 結(jié)束,SQL語言基礎(chǔ),SQL基本數(shù)據(jù)類型和基本操作 基本數(shù)據(jù)類型 字符類型、二進(jìn)制類型、數(shù)值類型、邏輯類型、日期/時(shí)間類型等等 邏輯表達(dá)式 =、=、 、 、and、Not、or等 基本SQL語句 建表語句create table 表名(列名 列屬性,列名 列屬性) 插入語句insert into 表名 (列名1,列名2) values (值1,值2) 查詢語句select *|列名,列名,from 表名 where 條件表達(dá)式 修改語句update 表名 set 列名1=表達(dá)式1

2、,列名2=表達(dá)式2,where 條件表達(dá)式 刪除數(shù)據(jù)行語句delete from 表名 where 條件表達(dá)式 清空表語句truncate table 表名 刪除表語句drop table 表名1,表名2,,SQL語言基礎(chǔ),Transact-SQL語句 Top關(guān)鍵字 返回用戶指定數(shù)量 Select top integer | top integer percent 列名1,列名2, from 表名 Distinct關(guān)鍵字 從查詢結(jié)果集中去掉重復(fù)的行返回 Text、ntext、image類型字段不能使用該關(guān)鍵字 Select distinct *|列名1,列名2,from 表名,SQL語言基礎(chǔ),

3、Transact-SQL語句 使用計(jì)算列 Transact-SQL允許直接在SELECT語句中使用計(jì)算列 Select 姓名+(+學(xué)號+),數(shù)學(xué)成績+語文成績 from 學(xué)生成績表 常用函數(shù) 集合函數(shù)AVG、SUM、MAX、MIN、COUNT等 字符串函數(shù)LEN、LTRIM、RTRIM、LEFT、RIGHT、SUBSTRING、UPPER、LOWER、REPLACE等 日期函數(shù)GETDATE()、DAY(DATE)、MONTH(DATE)、YEAR(DATE)、datediff(datepart,date_expr1,date_expr2)等 其它函數(shù)ABS()、CEILING()、FLOOR

4、()、CONVERT(數(shù)據(jù)類型,表達(dá)式)、CAST(表達(dá)式 AS 數(shù)據(jù)類型),SQL語言基礎(chǔ),Transact-SQL語句 使用order by子句 升序例:select name,price from book order by price asc 降序例:select name,price from book order by price desc 使用WHERE子句 使用算術(shù)、邏輯表達(dá)式 使用BETWEEN關(guān)鍵字,例:select 書號,價(jià)格from書價(jià)表where價(jià)格 BETWEEN $15 AND $20 使用IN關(guān)鍵字,例:select 書號,價(jià)格 from 書價(jià)表 where 價(jià)

5、格 in ($12,$25,$23,$16),SQL語言基礎(chǔ),Transact-SQL語句 使用Group by子句 例:select name,avg(price) from book Group by name 使用HAVING關(guān)鍵字篩選結(jié)果集 例: select name,avg(price) from book Group by name having avg(price)20 使用ALL關(guān)鍵字,顯示所有被group by子句分類的數(shù)據(jù)集包括,不滿足where子句查詢要求的記錄 例: select name,avg(price) from book where name in (“書名

6、1”,”書名2”)Group by all name 使用CUBE關(guān)鍵字產(chǎn)生多維立方體的數(shù)據(jù)結(jié)果集,實(shí)際上就是數(shù)據(jù)列交叉組合所產(chǎn)生的結(jié)果集 例:select 課程,性別,SUM(成績) AS 總成績 from 成績表 group by 課程,性別 WITH CUBE 使用ROLLUP關(guān)鍵字,類似CUBE,但它壓縮掉無意義的行 例:select 課程,性別,SUM(成績) AS 總成績 from 成績表 group by 課程,性別 WITH ROLLUP,SQL語言基礎(chǔ),Transact-SQL語句 使用COMPUTE和COMPUTE BY子句 類似GROUP BY ,但其可以產(chǎn)生多個(gè)結(jié)果集

7、COMPUTE,返回結(jié)果追加一行所有記錄的統(tǒng)計(jì)數(shù)據(jù) 例:select 類型,價(jià)格,預(yù)付款from 商品表 order by 類型 compute SUM(價(jià)格),SUM(預(yù)付款) COMPUTE BY,返回結(jié)果針對每一個(gè)分類,進(jìn)行統(tǒng)計(jì)計(jì)算 例: select 類型,價(jià)格,預(yù)付款from 商品表 order by 類型 compute SUM(價(jià)格),SUM(預(yù)付款) BY 類型,SQL語言基礎(chǔ),Transact-SQL語句 使用LIKE子句 通配符的使用 %:表示0至n個(gè)任意字符 _:表示單個(gè)的任意字符 :表示方括號里列出的任意一個(gè)字符 :任意一個(gè)沒有在方括號里列出的字符 例:select n

8、ame from authors where name like 7_2234d% 轉(zhuǎn)義字符的使用 關(guān)鍵字ESCAPE用來規(guī)定轉(zhuǎn)義字符 例:select 列名1 from 例表1 where 列名1 like Mxyzx ESCAPE M,SQL語言基礎(chǔ),Transact-SQL語句 多表聯(lián)接 內(nèi)聯(lián)接,包括相等聯(lián)接和自然聯(lián)接。 內(nèi)聯(lián)接是用比較運(yùn)算符比較要聯(lián)接列的值的聯(lián)接,僅顯示兩個(gè)聯(lián)接表中的匹配行的聯(lián)接 例1:select 表A.col1,表B.col2 from 表A,表B where 表B.col1=表A.col1 例2: select A.col1,B.col2 from 表A as A

9、 INNER JOIN 表B as B ON 表B.col1=表A.col1,SQL語言基礎(chǔ),Transact-SQL語句 多表聯(lián)接 外聯(lián)接 左向外聯(lián)接,包括第一個(gè)命名表中的所有行。不包括右表中的不匹配行 ,使用關(guān)鍵字LEFT OUTERJOIN ON 例:SELECT B.col1 字段1,B.col2 字段2 ,P.col2 字段3 FROM 表B AS B LEFT OUTER JOIN 表P AS P ON P.col1 = B.col3 右向外聯(lián)接,包括第二個(gè)命名表中的所有行。不包括左表中的不匹配行 ,使用關(guān)鍵字RIGHT OUTERJOIN ON 例:SELECT B.col1 字

10、段1,B.col2 字段2 ,P.col2 字段3 FROM 表B AS B RIGHT OUTER JOIN 表P AS P ON P.col1 = B.col3 完整外部聯(lián)接,包括所有聯(lián)接表中的所有行,不論它們是否匹配,使用關(guān)鍵字FULL OUTERJOIN ON 例:SELECT B.col1 字段1,B.col2 字段2 ,P.col2 字段3 FROM 表B AS B FULL OUTER JOIN 表P AS P ON P.col1 = B.col3,SQL語言基礎(chǔ),Transact-SQL語句 多表聯(lián)接 交叉聯(lián)接,也稱作笛卡爾積 。 兩個(gè)表中每兩個(gè)可能成對的行占一行 關(guān)鍵字:CR

11、OSS JOIN 例: select A.col1,B.col2 from 表A as A CROSS JOIN 表B as B,SQL語言基礎(chǔ),Transact-SQL語句 嵌套查詢 使用IN和NOT IN關(guān)鍵字:select 作品代碼,作者代碼from 作品表 where 作者代碼 NOT IN (select 作者代碼 from 作者表 where 作者國籍=中國) 使用EXISTS和NOT EXISTS關(guān)鍵字:select 作品代碼,作者代碼from 作品表 where NOT EXISTS (select * from 作者表 where 作者表.作者代碼=作品表.作者代碼AND 作

12、者國籍=中國) 列清單里使用嵌套查詢:select 作品名稱,(select 作者姓名 from 作者表 where 作者表.作者代碼=作品表.作者代碼) as 作者姓名 from 作品表 靈活使用嵌套查詢: select 作者姓名,作者年齡 from 作者表 where 作者年齡 (select avg(作者年齡) from 作者表),初步認(rèn)識SQL2000,SQL2000概述 關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)按表進(jìn)行組織和管理 數(shù)據(jù)庫對象:表格、視圖、存儲過程、觸發(fā)器(數(shù)據(jù)完整性)、用戶、角色等 查詢和執(zhí)行語言Transact-SQL,初步認(rèn)識SQL2000,安裝SQL2000數(shù)據(jù)庫 遠(yuǎn)程安裝 要求本地

13、和遠(yuǎn)程計(jì)算機(jī)操作系統(tǒng)均為MS WINDOWS NT 要求本地和遠(yuǎn)程計(jì)算機(jī)使用相同芯片 要求本地使用賬號須具有遠(yuǎn)程計(jì)算機(jī)管理員級權(quán)限 本地安裝 僅安裝客戶端工具 安裝數(shù)據(jù)庫服務(wù)器和客戶端工具 設(shè)定數(shù)據(jù)庫系統(tǒng)管理員密碼,初步認(rèn)識SQL2000,SQL2000數(shù)據(jù)庫組件 數(shù)據(jù)庫服務(wù)器 數(shù)據(jù)庫服務(wù)器管理器 全文檢索組件 事件查看器 客戶端網(wǎng)絡(luò)實(shí)用工具 SQL SERVER網(wǎng)絡(luò)實(shí)用工具 企業(yè)管理器 查詢分析器,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,管理SQL SERVER 服務(wù)器 管理SQL SERVER 服務(wù)器組 頂層組(Top Level Group) 次級組(Sub-group) 連接和注冊SQL SER

14、VER服務(wù)器 使用SQLSERVER網(wǎng)絡(luò)實(shí)用工具配置服務(wù)器端(網(wǎng)絡(luò)連接參數(shù):TCP/IP、命名管道等) 使用客戶端網(wǎng)絡(luò)實(shí)用工具配置客戶端(服務(wù)器別名、連接參數(shù)) 使用企業(yè)管理器的注冊服務(wù)器向?qū)ё苑?wù)器 斷開和恢復(fù)同服務(wù)器的連接 刪除服務(wù)器,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,管理SQL SERVER 服務(wù)器 配置SQL SERVER 服務(wù)器 編輯SQLSERVER服務(wù)器注冊屬性 修改身份驗(yàn)證 其他注冊屬性 配置SQLSERVER服務(wù)器屬性選項(xiàng)卡 常規(guī)選項(xiàng)卡:SQL SERVER版本信息、服務(wù)器配置信息、自啟動策略 內(nèi)存選項(xiàng)卡:動態(tài)分配內(nèi)存或是固定使用內(nèi)存 處理器選項(xiàng)卡:配置多處理器情況下運(yùn)行方式

15、安全性選項(xiàng)卡:登陸和啟動服務(wù)器的身份驗(yàn)證配置 連接選項(xiàng)卡:數(shù)據(jù)庫連接方面信息的配置 數(shù)據(jù)庫選項(xiàng)卡:對數(shù)據(jù)庫索引、備份和恢復(fù)等屬性進(jìn)行配置、 服務(wù)器選項(xiàng)卡:選擇默認(rèn)語言、決定服務(wù)器是否支持觸發(fā)器的嵌套設(shè)置,配置對對2000年問題的支持等屬性 Active Directory:將服務(wù)器添加到AD中,AD提供存儲基于網(wǎng)絡(luò)的實(shí)體信息的空間 復(fù)制選項(xiàng)卡:分布式數(shù)據(jù)管理 使用服務(wù)器管理器啟動和關(guān)閉SQL SERVER服務(wù),SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server數(shù)據(jù)庫管理 創(chuàng)建數(shù)據(jù)庫 用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫 使用Transact-SQL創(chuàng)建數(shù)據(jù)庫 CREATE DATABASE database

16、_name ON PRIMARY(NAME=操作系統(tǒng)文件的邏輯文件名,FILENAME=包含文件路徑的操作系統(tǒng)文件的實(shí)際名字,SIZE=文件的初始長度,MAXSIZE=最大長度或UNLIMITED,FILEGROWTH=增長速度)LOG ON (日志文件的定義),SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server數(shù)據(jù)庫管理 查看和修改數(shù)據(jù)庫信息 用企業(yè)管理器查看和修改數(shù)據(jù)庫信息 使用Transact-SQL查看和修改數(shù)據(jù)庫信息 查看數(shù)據(jù)庫信息 USE DATABASE_NAME GO sp_helpdb DATABASE_NAME Sp_databases 數(shù)據(jù)庫更名 Sp_renamedb

17、old_name,new_name 修改數(shù)據(jù)庫大小 ALTER DATABASE database_name ADD FILE (文件定義)|REMOVE FILE FILE_NAME|MODIFY FILE (文件定義) 刪除數(shù)據(jù)庫 使用企業(yè)管理器 使用Transact-SQL:DROP DATABASE database_name,n,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,表的管理和使用 用企業(yè)管理器進(jìn)行表的創(chuàng)建、查看、修改和刪除 使用Transact-SQL進(jìn)行表的創(chuàng)建、查看、修改和刪除 創(chuàng)建表:CREATE TABLE table_name (列定義) 查看表信息:Sp_help table_

18、name 重命名:Sp_rename old_tablename,new_tablename,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,使用視圖 視圖的優(yōu)點(diǎn) 分割數(shù)據(jù),簡化用戶瀏覽 簡化擁護(hù)操作 提供自動的安全保護(hù)功能 為數(shù)據(jù)庫重構(gòu)提供一定的邏輯獨(dú)立性 視圖的創(chuàng)建和刪除 創(chuàng)建視圖:CREATE VIEW view_name 列名1,AS SELECT STATEMENT WITH CHECK OPTION 刪除視圖:Drop view view_name,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,使用視圖 修改視圖的定義 使用企業(yè)管理器 使用Transact-SQL提供的ALTER VIEW語句 視圖的創(chuàng)建和刪除 創(chuàng)

19、建視圖:CREATE VIEW view_name 列名1,AS SELECT STATEMENT WITH CHECK OPTION 刪除視圖:Drop view view_name,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,使用視圖 對視圖進(jìn)行加密 WITH ENCRYPTION關(guān)鍵字 例:CREATE VIEW title_view WITH ENCRYPTION AS SELECT * FROM titles 使用視圖加強(qiáng)數(shù)據(jù)安全 對不同用戶授予不同的用戶使用許可權(quán) 通過SELECT子句限制用戶對某些底層基本表列的訪問 通過WHERE子句限制用戶對某些底層基本表行的訪問,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)

20、用,使用視圖 對視圖進(jìn)行加密 WITH ENCRYPTION關(guān)鍵字 例:CREATE VIEW title_view WITH ENCRYPTION AS SELECT * FROM titles 使用視圖加強(qiáng)數(shù)據(jù)安全 對不同用戶授予不同的用戶使用許可權(quán) 通過SELECT子句限制用戶對某些底層基本表列的訪問 通過WHERE子句限制用戶對某些底層基本表行的訪問,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,數(shù)據(jù)完整性 實(shí)體完整性 實(shí)施:Primary key ,Unique key 值域完整性 實(shí)施: Default check foreign 參照完整性 實(shí)施: check foreign 用戶自定義的完整性

21、 實(shí)施: Rule,Triggers,Procedure,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,使用規(guī)則 創(chuàng)建和刪除規(guī)則 使用企業(yè)管理器創(chuàng)建和刪除規(guī)則 Transact-SQL語句: CREATE RULE rule_name AS range =$100 AND range$200 CREATE RULE rule_name AS list IN (12,23) CREATE RULE rule_name AS value LIKE _-%0-9 綁定規(guī)則 Sp_bindrule rule_name,”table_name.column_name” Sp_bindrule rule_name “us

22、er_defind_datatype” “futureonly_flag” 解除綁定 Sp_unbindrule “table_name.column_name” Sp_unbindrule “user_defind_datatype” “futureonly_flag”,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 編程結(jié)構(gòu) 程序注釋 單行注釋語句:“-” 多行注釋語句:使用/* 和*/括起來 批處理 結(jié)束標(biāo)志: GO 使用變量 局部變量: DECLARE varible_name datatype ,n 全局變量:反映服務(wù)器當(dāng)前活動狀態(tài),系統(tǒng)給出的,用戶不參與定義,IDENTITY,

23、ROWCOUNT,ERROR,CONNECTIONS等 變量賦值: SET varible_name=value SELECT varible_name=value,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 編程結(jié)構(gòu) 設(shè)置查詢屬性 SET NOCOUNTON|OFF:屬性設(shè)置為ON,執(zhí)行完一次SQL指令后,將不會返回查詢所涉及的數(shù)據(jù)行的數(shù)目;設(shè)置為OFF則反之,默認(rèn)值為OFF。 SET NOEXECON|OFF:屬性設(shè)置為ON,只編譯不執(zhí)行查詢;設(shè)置為OFF以后編譯并執(zhí)行查詢 SET PARSEONLY ON|OFF:屬性設(shè)置為ON,只進(jìn)行語法分析,不進(jìn)行編譯和執(zhí)行;設(shè)置為OFF,既

24、進(jìn)行語法分析,又進(jìn)行編譯和執(zhí)行 SET ROWCOUNT 整型常量|整型變量返回不超過指定數(shù)量的記錄,值為0時(shí)返回所有的記錄,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 編程結(jié)構(gòu) 控制結(jié)構(gòu) IF logical_expression expressions1 ELSE expressions2 BEGINEND WHILE logical_expression BEGIN expressions BREAK CONTINUE END CASE WHEN logical_expression THEN result_expressionn ELSE result_expression E

25、ND RETURN integer_expression,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 編程結(jié)構(gòu) 游標(biāo) 聲明游標(biāo):DECLARE 游標(biāo)名INSENSITIVE SCROLL CURSOR FOR SELECT 語句 FOR READ ONLY | UPDATE OF 列名1,列名2 打開游標(biāo):OPEN cursor_name 關(guān)閉游標(biāo):CLOSE cursor_name 釋放游標(biāo):DEALLOCATE cursor_name 使用游標(biāo)取數(shù):FETCH NEXT|PRIOR|FIRST|LAST|ABSOLUTEn|nvar|RELATIVEn|nvarFROM curso

26、r_name INTO varible,n 利用游標(biāo)修改數(shù)據(jù):UPDATE table_name SET column_name=expression,n WHERE CURRENT OF cursor_name FETCH_STATUS全局變量:返回被 FETCH 語句執(zhí)行的最后游標(biāo)的狀態(tài) 0FETCH 語句成功 ;-1FETCH 語句失敗或此行不在結(jié)果集中;-2被提取的行不存在。,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 編程結(jié)構(gòu) 事務(wù)控制語句 開始一個(gè)事務(wù)單元:BEGIN TRANSACTIONtransaction_name 提交一個(gè)事務(wù)單元:COMMIT TRANSACTI

27、ON transaction_name 回滾一個(gè)事務(wù)單元:ROLLBACK TRANSACTION transaction_name 設(shè)置保存點(diǎn):SAVE TRANSACTION savepoint_name,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,使用存儲過程 存儲過程的優(yōu)點(diǎn) 執(zhí)行速度快:創(chuàng)建時(shí)已進(jìn)行了語法檢查和性能優(yōu)化,執(zhí)行時(shí)不必再重復(fù)這些步驟。經(jīng)一次調(diào)用駐留內(nèi)存,提高執(zhí)行速度 模塊化的程序設(shè)計(jì):對應(yīng)用程序具有獨(dú)立性, 減少網(wǎng)絡(luò)通信量:調(diào)用時(shí)只需一個(gè)語句 保證系統(tǒng)的安全性:用戶不具有直接訪問數(shù)據(jù)表數(shù)據(jù)的權(quán)限,只被賦予了對若干存儲過程的訪問權(quán)限,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,使用存儲過程 創(chuàng)建存儲過程

28、:CREATE PROCEDURE procedure_nameparameter data_type) =defaultOUTPUT,n WITH RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTIONAS sql_statementnRECOMPILE:執(zhí)行完存儲過程不在高速緩存里保存存儲過程的備份,每次執(zhí)行都重新編譯和優(yōu)化 管理存儲過程 使用企業(yè)管理器 查看存儲過程信息sp_helptext|sp_help procedure_name 查看存儲過程引用表的情況:sp_depends procedure_name,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,使用存儲過程 執(zhí)

29、行存儲過程:若調(diào)用存儲過程的語句為批處理的第一句,可直接使用存儲過程名,否則應(yīng)該使用EXECUTE或EXEC關(guān)鍵字,例:use db_name EXEC procedure_name 刪除存儲過程:DROP PROCEDURE proceduren 修改存儲過程:ALTER PROCEDURE procedure_name .,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,觸發(fā)器的應(yīng)用 觸發(fā)器是一種特殊的存儲過程,它與表格緊密相連,可以看作表格定義的一部分 創(chuàng)建觸發(fā)器:CREATE TRIGGER trigger_name ON table_name WITH ENCRYPTIONFOR DELETE,INS

30、ERT,UPDATENOT FOR REPLACATIONAS sql_statementnRETURN integer_expression 管理觸發(fā)器:sp_helptrigger table_name,type 刪除觸發(fā)器:DROP TRIGGER triggern 修改觸發(fā)器:ALTER TRIGGER trigger_name .,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,管理SQL Server 的安全性 SQL Server 的安全機(jī)制分為四個(gè)等級 客戶機(jī)操作系統(tǒng)的安全性 SQL Server的登陸安全性 數(shù)據(jù)庫的使用安全性 數(shù)據(jù)庫對象的是使用安全性 用戶通過一個(gè)等級的驗(yàn)證達(dá)到下一個(gè)安全等級

31、,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 的安全性 SQL Server標(biāo)準(zhǔn)登錄模式 創(chuàng)建賬戶 語法:Sp_addlogin loginame = login,passwd = passworddefdb = database,deflanguage = language,sid = sid,encryptopt = encryption_option sid:用戶唯一標(biāo)示符 encryptopt:是否對存儲在系統(tǒng)表里的密碼進(jìn)行加密,其取值:NULL 默認(rèn)選項(xiàng),加密;skip_encryption 不加密;skip_encryption_old 不加密,提供的密碼已使用較早版本進(jìn)行

32、加密,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 的安全性 SQL Server標(biāo)準(zhǔn)登錄模式 特殊賬戶SA 擁有最高的管理權(quán)限,默認(rèn)任何用戶數(shù)據(jù)庫的主任 修改和刪除帳戶 修改默認(rèn)數(shù)據(jù)庫:Sp_defaultdb login_name database_name 修改默認(rèn)語言:2p_defaultlanguage login_name French 修改賬戶密碼:Sp_password “old_password”,”new_password”,”login_name” 刪除指定賬戶:Sp_droplogin login_name 撤回剛才新建賬戶:Sp_revokelogin logi

33、name= login,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 的安全性 SQL Server集成登錄模式 創(chuàng)建登錄用戶 映射賬戶:Sp_grantlogin loginame = login 撤消賬戶映射:sp_revokelogin loginame= login 阻止賬戶連接數(shù)據(jù)庫服務(wù)器:sp_denylogin loginame= login 使用企業(yè)管理器創(chuàng)建登錄用戶,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 的安全性 SQL Server數(shù)據(jù)庫安全性 添加數(shù)據(jù)庫用戶 Sp_grantdbaccess loginame = login ,name_in_db=

34、name_in_db name_in_db 賬戶在該數(shù)據(jù)庫下的用戶名 刪除數(shù)據(jù)庫用戶 語法:sp_revokedbaccess name_in_db = name 特殊的數(shù)據(jù)庫用戶 Dbo:對應(yīng)于登錄賬戶SA,是數(shù)據(jù)庫擁有者,存在于每個(gè)數(shù)據(jù)庫,擁有最高權(quán)力 Guest:可以使任何已經(jīng)登錄到數(shù)據(jù)庫服務(wù)器的用戶都可以訪問數(shù)據(jù)庫,sp_grantdbaccess guest 使用企業(yè)管理器管理數(shù)據(jù)庫用戶,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 的安全性 SQL Server角色 服務(wù)器角色 瀏覽固定服務(wù)器角色:sp_helpsvrole 分配角色:sp_addsvrrolemember

35、登錄賬戶 role_name 使用企業(yè)管理器進(jìn)行服務(wù)器角色管理 數(shù)據(jù)庫角色 瀏覽固定數(shù)據(jù)庫角色:sp_helpdbfixedrole 分配角色:sp_addrolemember db_owner,name 撤銷角色:sp_droprolemember db_owner,name 創(chuàng)建角色:sp_addrole rolename= role ,ownername= owner 刪除角色:sp_droprole role_name 使用企業(yè)管理器管理數(shù)據(jù)庫角色,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 的安全性 SQL Server許可 許可概述 對象許可:數(shù)據(jù)庫對象擁有者授予許可給指定

36、用戶, 命令許可:授予執(zhí)行某些Transact-SQL命令的許可 許可內(nèi)容:INSERT、UPDATE、DELETE、SELECT、REFERENCES,ALL permissions、EXECUTE 授予許可 授予對象許可:GRANTALL PRIVILEGES|permission,ncolumn,.n) ON table |view|ONtable|viewColumn,.n)|ONstored_procedure TO security_account,nWITH GRANT OPTION 授予命令許可:GRANTALL|statement,n TO secuity_account,n

37、 WITH GRANT OPTION:定義是否給予用戶授予該許可給別的用戶的權(quán)力,SQL2000數(shù)據(jù)庫開發(fā)應(yīng)用,SQL Server 的安全性 SQL Server許可 撤銷許可 撤銷對象許可:REVOKEGRANTOPTIONFORALLPRIVILEGES|ONtable|view|ONtable|view(column,.n)|stored_procedureTO|FROMsecurity_account,.nCASCADE 撤銷命令許可:REVOKEALL |STATEMENT,nFROM secutity_account,n CASCADE:對應(yīng)于WITH GRANT OPTION ,同時(shí)撤銷該用戶授予給其他用戶的權(quán)力 拒絕訪問 對象許可:DENYALLPRIVILEGES|permission,.n(column,.n ON table | view|ONtable |viewcolumn,.n)|ONstored_procedure |extended_pro

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論