版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 SQL語句大全 -語 句 功 能 -數(shù)據(jù)操作 SELECT -從數(shù)據(jù)庫表中檢索數(shù)據(jù)行和列 INSERT -向數(shù)據(jù)庫表添加新數(shù)據(jù)行 DELETE -從數(shù)據(jù)庫表中刪除數(shù)據(jù)行 UPDATE -更新數(shù)據(jù)庫表中的數(shù)據(jù) -數(shù)據(jù)定義 CREATE TABLE -創(chuàng)建一個(gè)數(shù)據(jù)庫表 DROP TABLE -從數(shù)據(jù)庫中刪除表 ALTER TABLE -修改數(shù)據(jù)庫表結(jié)構(gòu) CREATE VIEW -創(chuàng)建一個(gè)視圖 DROP VIEW -從數(shù)據(jù)庫中刪除視圖 CREATE INDEX -為數(shù)據(jù)庫表創(chuàng)建一個(gè)索引 DROP INDEX -從數(shù)據(jù)庫中刪除索引 CREATE PROCEDURE -創(chuàng)建一個(gè)存儲過程 DROP PR
2、OCEDURE -從數(shù)據(jù)庫中刪除存儲過程 CREATE TRIGGER -創(chuàng)建一個(gè)觸發(fā)器 DROP TRIGGER -從數(shù)據(jù)庫中刪除觸發(fā)器 CREATE SCHEMA -向數(shù)據(jù)庫添加一個(gè)新模式 DROP SCHEMA -從數(shù)據(jù)庫中刪除一個(gè)模式 CREATE DOMAIN -創(chuàng)建一個(gè)數(shù)據(jù)值域 ALTER DOMAIN -改變域定義 DROP DOMAIN -從數(shù)據(jù)庫中刪除一個(gè)域 -數(shù)據(jù)控制 GRANT -授予用戶訪問權(quán)限 DENY -拒絕用戶訪問 REVOKE -解除用戶訪問權(quán)限 -事務(wù)控制 COMMIT -結(jié)束當(dāng)前事務(wù) ROLLBACK -中止當(dāng)前事務(wù) SET TRANSACTION -定義當(dāng)
3、前事務(wù)數(shù)據(jù)訪問特征 -程序化SQL DECLARE -為查詢設(shè)定游標(biāo) EXPLAN -為查詢描述數(shù)據(jù)訪問計(jì)劃 OPEN -檢索查詢結(jié)果打開一個(gè)游標(biāo) SQLFETCH -檢索一行查詢結(jié)果 CLOSE -關(guān)閉游標(biāo) PREPARE -為動態(tài)執(zhí)行準(zhǔn)備SQL 語句 EXECUTE -動態(tài)地執(zhí)行SQL 語句 DESCRIBE -描述準(zhǔn)備好的查詢 -局部變量 declare id char(10) -set id = '10010001' select id = '10010001' -全局變量 -必須以開頭 -IF ELSE declare x int y int z in
4、t select x = 1 y = 2 z=3 if x > y print 'x > y' -打印字符串'x > y' else if y > z print 'y > z' else print 'z > y' -CASE use pangu update employee set e_wage = case when job_level = 1 then e_wage*1.08 when job_level = 2 then e_wage*1.07 when job_level = 3
5、then e_wage*1.06 else e_wage*1.05 end -WHILE CONTINUE BREAK declare x int y int c int select x = 1 y=1 SQLwhile x < 3 begin print x -打印變量x 的值 while y < 3 begin select c = 100*x + y print c -打印變量c 的值 select y = y + 1 end select x = x + 1 select y = 1 end -WAITFOR -例 等待1 小時(shí)2 分零3 秒后才執(zhí)行SELECT 語句 w
6、aitfor delay 01:02:03 select * from employee -例 等到晚上11 點(diǎn)零8 分后才執(zhí)行SELECT 語句 waitfor time 23:08:00 select * from employee *SELECT* select *(列名) from table_name(表名) where column_name operator value ex:(宿主) select * from stock_information where stockid = str(nid) stockname = 'str_name' stockname
7、like '% find this %' stockname like 'a-zA-Z%' - (指定值的范圍) stockname like 'F-M%' - (排除指定范圍) - 只能在使用like關(guān)鍵字的where子句中使用通配符) or stockpath = 'stock_path' or stocknumber < 1000 and stockindex = 24 not stock* = 'man' stocknumber between 20 and 100 stocknumber in(10
8、,20,30) SQLorder by stockid desc(asc) - 排序,desc-降序,asc-升序 order by 1,2 - by列號 stockname = (select stockname from stock_information where stockid = 4) - 子查詢 - 除非能確保內(nèi)層select只返回一個(gè)行的值, - 否則應(yīng)在外層where子句中用一個(gè)in限定符 select distinct column_name form table_name - distinct指定檢索獨(dú)有的列值,不重復(fù) select stocknumber ,"
9、stocknumber + 10" = stocknumber + 10 from table_name select stockname , "stocknumber" = count(*) from table_name group by stockname - group by 將表按行分組,指定列中有相同的值 having count(*) = 2 - having選定指定的組 select * from table1, table2 where table1.id *= table2.id - 左外部連接,table1中有的而table2中沒有得以nul
10、l表示 table1.id =* table2.id - 右外部連接 select stockname from table1 union all - union合并查詢結(jié)果集,all-保留重復(fù)行 select stockname from table2 *insert* insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx") value (select Stockname , Stocknumber from Stock_table2)-value為select語句 *
11、update* update table_name set Stockname = "xxx" where Stockid = 3 Stockname = default SQLStockname = null Stocknumber = Stockname + 4 *delete* delete from table_name where Stockid = 3 truncate table_name - 刪除表中所有行,仍保持表的完整性 drop table table_name - 完全刪除表 *alter table* - 修改數(shù)據(jù)庫表結(jié)構(gòu) 顯示表已有特征 crea
12、te table table_name (name char(20), age smallint, lname varchar(30) insert into table_name select . - 實(shí)現(xiàn)刪除列的方法(創(chuàng)建新表) alter table table_name drop constraint Stockname_default - 刪除Stockname的default約束 *function(/*常用函數(shù)*/)* -統(tǒng)計(jì)函數(shù)- AVG -求平均值 COUNT -統(tǒng)計(jì)數(shù)目 MAX -求最大值 MIN -求最小值 SUM -求和 -AVG use pangu select av
13、g(e_wage) as dept_avgWage SQLfrom employee group by dept_id -MAX -求工資最高的員工姓名 use pangu select e_name from employee where e_wage = (select max(e_wage) from employee) -STDEV() -STDEV()函數(shù)返回表達(dá)式中所有數(shù)據(jù)的標(biāo)準(zhǔn)差 -STDEVP() -STDEVP()函數(shù)返回總體標(biāo)準(zhǔn)差 -VAR() -VAR()函數(shù)返回表達(dá)式中所有值的統(tǒng)計(jì)變異數(shù) -VARP() -VARP()函數(shù)返回總體變異數(shù) -算術(shù)函數(shù)- /*三角函數(shù)*/
14、SIN(float_expression) -返回以弧度表示的角的正弦 COS(float_expression) -返回以弧度表示的角的余弦 TAN(float_expression) -返回以弧度表示的角的正切 COT(float_expression) -返回以弧度表示的角的余切 /*反三角函數(shù)*/ ASIN(float_expression) -返回正弦是FLOAT 值的以弧度表示的角 SQLACOS(float_expression) -返回余弦是FLOAT 值的以弧度表示的角 ATAN(float_expression) -返回正切是FLOAT 值的以弧度表示的角 ATAN2(fl
15、oat_expression1,float_expression2) -返回正切是float_expression1 /float_expres-sion2的以弧度表示的角 DEGREES(numeric_expression) -把弧度轉(zhuǎn)換為角度返回與表達(dá)式相同的數(shù)據(jù)類型可為 -INTEGER/MONEY/REAL/FLOAT 類型 RADIANS(numeric_expression) -把角度轉(zhuǎn)換為弧度返回與表達(dá)式相同的數(shù)據(jù)類型可為 -INTEGER/MONEY/REAL/FLOAT 類型 EXP(float_expression) -返回表達(dá)式的指數(shù)值 LOG(float_expres
16、sion) -返回表達(dá)式的自然對數(shù)值 LOG10(float_expression)-返回表達(dá)式的以10 為底的對數(shù)值 SQRT(float_expression) -返回表達(dá)式的平方根 /*取近似值函數(shù)*/ CEILING(numeric_expression) -返回>=表達(dá)式的最小整數(shù)返回的數(shù)據(jù)類型與表達(dá)式相同可為 -INTEGER/MONEY/REAL/FLOAT 類型 FLOOR(numeric_expression) -返回<=表達(dá)式的最小整數(shù)返回的數(shù)據(jù)類型與表達(dá)式相同可為 -INTEGER/MONEY/REAL/FLOAT 類型 ROUND(numeric_expre
17、ssion) -返回以integer_expression 為精度的四舍五入值返回的數(shù)據(jù) -類型與表達(dá)式相同可為INTEGER/MONEY/REAL/FLOAT 類型 ABS(numeric_expression) -返回表達(dá)式的絕對值返回的數(shù)據(jù)類型與表達(dá)式相同可為 -INTEGER/MONEY/REAL/FLOAT 類型 SIGN(numeric_expression) -測試參數(shù)的正負(fù)號返回0 零值1 正數(shù)或-1 負(fù)數(shù)返回的數(shù)據(jù)類型 -與表達(dá)式相同可為INTEGER/MONEY/REAL/FLOAT 類型 PI() -返回值為 即用任選的integer_expression做種子值得出0-
18、1 間的隨機(jī)浮點(diǎn)數(shù) -字符串函數(shù)- ASCII() -函數(shù)返回字符表達(dá)式最左端字符的ASCII 碼值 CHAR() -函數(shù)用于將ASCII 碼轉(zhuǎn)換為字符 -如果沒有輸入0 255 之間的ASCII 碼值CHAR 函數(shù)會返回一個(gè)NULL 值 LOWER() -函數(shù)把字符串全部轉(zhuǎn)換為小寫 UPPER() -函數(shù)把字符串全部轉(zhuǎn)換為大寫 STR() -函數(shù)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù) SQLLTRIM() -函數(shù)把字符串頭部的空格去掉 RTRIM() -函數(shù)把字符串尾部的空格去掉 LEFT(),RIGHT(),SUBSTRING() -函數(shù)返回部分字符串 CHARINDEX(),PATINDEX()
19、-函數(shù)返回字符串中某個(gè)指定的子串出現(xiàn)的開始位置 SOUNDEX() -函數(shù)返回一個(gè)四位字符碼 -SOUNDEX函數(shù)可用來查找聲音相似的字符串但SOUNDEX函數(shù)對數(shù)字和漢字均只返回0 值 DIFFERENCE() -函數(shù)返回由SOUNDEX 函數(shù)返回的兩個(gè)字符表達(dá)式的值的差異 -0 兩個(gè)SOUNDEX 函數(shù)返回值的第一個(gè)字符不同 -1 兩個(gè)SOUNDEX 函數(shù)返回值的第一個(gè)字符相同 -2 兩個(gè)SOUNDEX 函數(shù)返回值的第一二個(gè)字符相同 -3 兩個(gè)SOUNDEX 函數(shù)返回值的第一二三個(gè)字符相同 -4 兩個(gè)SOUNDEX 函數(shù)返回值完全相同 QUOTENAME() -函數(shù)返回被特定字符括起來的字
20、符串 /*select quotename('abc', '') quotename('abc') 運(yùn)行結(jié)果如下 - abc abc*/ REPLICATE() -函數(shù)返回一個(gè)重復(fù)character_expression 指定次數(shù)的字符串 /*select replicate('abc', 3) replicate( 'abc', -2) 運(yùn)行結(jié)果如下 - - abcabcabc NULL*/ REVERSE() -函數(shù)將指定的字符串的字符排列順序顛倒 REPLACE() -函數(shù)返回被替換了指定子串的字符串 /*s
21、elect replace('abc123g', '123', 'def') 運(yùn)行結(jié)果如下 - - abcdefg*/ SQLSPACE() -函數(shù)返回一個(gè)有指定長度的空白字符串 STUFF() -函數(shù)用另一子串替換字符串指定位置長度的子串 -數(shù)據(jù)類型轉(zhuǎn)換函數(shù)- CAST() 函數(shù)語法如下 CAST() (<expression> AS <data_ type> length ) CONVERT() 函數(shù)語法如下 CONVERT() (<data_ type> length , <expression&g
22、t; , style) select cast(100+99 as char) convert(varchar(12), getdate() 運(yùn)行結(jié)果如下 - - 199 Jan 15 2000 -日期函數(shù)- DAY() -函數(shù)返回date_expression 中的日期值 MONTH() -函數(shù)返回date_expression 中的月份值 YEAR() -函數(shù)返回date_expression 中的年份值 DATEADD(<datepart> ,<number> ,<date>) -函數(shù)返回指定日期date 加上指定的額外日期間隔number 產(chǎn)生的新日
23、期 DATEDIFF(<datepart> ,<number> ,<date>) -函數(shù)返回兩個(gè)指定日期在datepart 方面的不同之處 DATENAME(<datepart> , <date>) -函數(shù)以字符串的形式返回日期的指定部分 DATEPART(<datepart> , <date>) -函數(shù)以整數(shù)值的形式返回日期的指定部分 GETDATE() -函數(shù)以DATETIME 的缺省格式返回系統(tǒng)當(dāng)前的日期和時(shí)間 -系統(tǒng)函數(shù)- APP_NAME() -函數(shù)返回當(dāng)前執(zhí)行的應(yīng)用程序的名稱 COALESCE()
24、-函數(shù)返回眾多表達(dá)式中第一個(gè)非NULL 表達(dá)式的值 COL_LENGTH(<'table_name'>, <'column_name'>) -函數(shù)返回表中指定字段的長度值 COL_NAME(<table_id>, <column_id>) -函數(shù)返回表中指定字段的名稱即列名 DATALENGTH() -函數(shù)返回?cái)?shù)據(jù)表達(dá)式的數(shù)據(jù)的實(shí)際長度 DB_ID('database_name') -函數(shù)返回?cái)?shù)據(jù)庫的編號 DB_NAME(database_id) -函數(shù)返回?cái)?shù)據(jù)庫的名稱 SQLHOST_ID() -
25、函數(shù)返回服務(wù)器端計(jì)算機(jī)的名稱 HOST_NAME() -函數(shù)返回服務(wù)器端計(jì)算機(jī)的名稱 IDENTITY(<data_type>, seed increment) AS column_name) -IDENTITY() 函數(shù)只在SELECT INTO 語句中使用用于插入一個(gè)identity column列到新表中 /*select identity(int, 1, 1) as column_name into newtable from oldtable*/ ISDATE() -函數(shù)判斷所給定的表達(dá)式是否為合理日期 ISNULL(<check_expression>, &
26、lt;replacement_value>) -函數(shù)將表達(dá)式中的NULL 值用指定值替換 ISNUMERIC() -函數(shù)判斷所給定的表達(dá)式是否為合理的數(shù)值 NEWID() -函數(shù)返回一個(gè)UNIQUEIDENTIFIER 類型的數(shù)值 NULLIF(<expression1>, <expression2>) -NULLIF 函數(shù)在expression1 與expression2 相等時(shí)返回NULL 值若不相等時(shí)則返回expression1 的值 sql中的保留字 action add aggregate all alter after and as asc avg a
27、vg_row_length auto_increment between bigint bit binary blob bool both by cascade case char character change check checksum column columns comment constraint create cross current_date current_time current_timestamp data database databases date datetime day day_hour day_minute day_second dayofmonth da
28、yofweek dayofyear dec decimal default delayed delay_key_write delete desc describe distinct distinctrow double drop end else escape escaped enclosed enum explain exists SQLfields file first float float4 float8 flush foreign from for full function global grant grants group having heap high_priority h
29、our hour_minute hour_second hosts identified ignore in index infile inner insert insert_id int integer interval int1 int2 int3 int4 int8 into if is isam join key keys kill last_insert_id leading left length like lines limit load local lock logs long longblob longtext low_priority max max_rows match
30、mediumblob mediumtext mediumint middleint min_rows minute minute_second modify month monthname myisam natural numeric no not null on optimize option optionally or order outer outfile pack_keys partial password precision primary procedure process processlist privileges read real references reload reg
31、exp rename replace restrict returns revoke rlike row rows second select set show shutdown smallint soname sql_big_tables sql_big_selects sql_low_priority_updates sql_log_off sql_log_update sql_select_limit sql_small_result sql_big_result sql_warnings straight_join starting status string table tables
32、 temporary terminated text then time timestamp tinyblob tinytext tinyint trailing to type use using unique unlock unsigned update usage values varchar variables varying varbinary with write when where year year_month zerofill 查看全文 SQL常用SQL命令和ASP編程 在進(jìn)行數(shù)據(jù)庫操作時(shí),無非就是添加、刪除、修改,這得設(shè)計(jì)到一些常用的SQL語句,如下: SQL常用命令使用
33、方法: (1) 數(shù)據(jù)記錄篩選: sql="select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名 desc" sql="select * from 數(shù)據(jù)表 where 字段名 like %字段值% order by 字段名 desc" sql="select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 desc" sql="select * from 數(shù)據(jù)表 where 字段名 in (值1,值2,值3)" sql="select *
34、 from 數(shù)據(jù)表 where 字段名 between 值1 and 值2" (2) 更新數(shù)據(jù)記錄: sql="update 數(shù)據(jù)表 set 字段名=字段值 where 條件表達(dá)式" sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 字段n=值n where 條件表達(dá)式" (3) 刪除數(shù)據(jù)記錄: sql="delete from 數(shù)據(jù)表 where 條件表達(dá)式" sql="delete from 數(shù)據(jù)表" (將數(shù)據(jù)表所有記錄刪除) (4) 添加數(shù)據(jù)記錄: sql="insert
35、 into 數(shù)據(jù)表 (字段1,字段2,字段3 ) valuess (值1,值2,值3 )" sql="insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表" (把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表) (5) 數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù): AVG(字段名) 得出一個(gè)表格欄平均值 SQLCOUNT(*|字段名) 對數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì) MAX(字段名) 取得一個(gè)表格欄最大的值 MIN(字段名) 取得一個(gè)表格欄最小的值 SUM(字段名) 把數(shù)據(jù)欄的值相加 引用以上函數(shù)的方法: sql="select sum(字段名) as 別名 f
36、rom 數(shù)據(jù)表 where 條件表達(dá)式" set rs=conn.excute(sql) 用 rs("別名") 獲取統(tǒng)的計(jì)值,其它函數(shù)運(yùn)用同上。 (5) 數(shù)據(jù)表的建立和刪除: CREATE TABLE 數(shù)據(jù)表名稱(字段1 類型1(長度),字段2 類型2(長度) ) 例:CREATE TABLE tab01(name varchar(50),datetime default now() DROP TABLE 數(shù)據(jù)表名稱 (永久性刪除一個(gè)數(shù)據(jù)表) 在ASP編程時(shí),下面這些語句是必須知道的: 1.連接數(shù)據(jù)庫 a. ASP與Access數(shù)據(jù)庫連接: <% langu
37、age=VBs cript%> <% dim conn,mdbfile mdbfile=server.mappath("數(shù)據(jù)庫名稱.mdb") set conn=server.createobject("adodb.connection") conn.open "driver=microsoft access driver (*.mdb);uid=admin;pwd=數(shù)據(jù)庫密碼;dbq="&mdbfile %> b. ASP與SQL數(shù)據(jù)庫連接: <% language=VBs cript%> &l
38、t;% dim conn set conn=server.createobject("ADODB.connection") con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服務(wù)器名稱或IP地址;UID=sa;PWD=數(shù)據(jù)庫密碼;DATABASE=數(shù)據(jù)庫名稱 %> SQL建立記錄集對象: set rs=server.createobject("adodb.recordset") rs.open SQL語句,conn,3,2 2. 記錄集對象的方法: rs.movenext 將記錄指針從當(dāng)前的位置向下移一
39、行 rs.moveprevious 將記錄指針從當(dāng)前的位置向上移一行 rs.movefirst 將記錄指針移到數(shù)據(jù)表第一行 rs.movelast 將記錄指針移到數(shù)據(jù)表最后一行 rs.absoluteposition=N 將記錄指針移到數(shù)據(jù)表第N行 rs.absolutepage=N 將記錄指針移到第N頁的第一行 rs.pagesize=N 設(shè)置每頁為N條記錄 rs.pagecount 根據(jù) pagesize 的設(shè)置返回總頁數(shù) rs.recordcount 返回記錄總數(shù) rs.bof 返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否 rs.eof 返回記錄指針是否超出數(shù)據(jù)表末端,
40、true表示是,false為否 rs.delete 刪除當(dāng)前記錄,但記錄指針不會向下移動 rs.addnew 添加記錄到數(shù)據(jù)表末端 rs.update 更新數(shù)據(jù)表記錄 附: 常數(shù) 常數(shù)值 說明 adLockReadOnly 1 缺省值,Recordset對象以只讀方式啟動,無法運(yùn)行AddNew、Update及Delete等方法 adLockPrssimistic 2 當(dāng)數(shù)據(jù)源正在更新時(shí),系統(tǒng)會暫時(shí)鎖住其他用戶的動作,以保持?jǐn)?shù)據(jù)一致性。 adLockOptimistic 3 當(dāng)數(shù)據(jù)源正在更新時(shí),系統(tǒng)并不會鎖住其他用戶的動作,其他用戶可以對數(shù)據(jù)進(jìn)行增、刪、改的操作。 adLockBatchOpti
41、mistic 4 當(dāng)數(shù)據(jù)源正在更新時(shí),其他用戶必須將CursorLocation屬性改為adUdeClientBatch才能對數(shù)據(jù)進(jìn)行增、刪、改的操作。 分類: ( 一般分類 ) : 評論 (0) : 靜態(tài)鏈接網(wǎng)址 : 引用 (0) <!- -> SQLSERVER2000功略(4)-自動化管理 發(fā)表人:kendy517 | 發(fā)表時(shí)間: 2007年二月09日, 11:56 SQL面對大量反復(fù)的工作,即使一個(gè)優(yōu)秀的管理員也會感到很大的負(fù)擔(dān)。但為了保持服務(wù)器維持在最佳運(yùn)行狀態(tài),這些又時(shí)不得不作的工作。這時(shí),SQLSERVER想你所想,提供了自動化的管理措施。在我們工作之前,我們需要了解
42、自動化背后的好助手SQLSERVER Agent,這個(gè)就是SQLSERVER的代理程序,他是運(yùn)行在后臺的服務(wù),可謂是幕后英雄!那他有什么功能呢,如下: 作業(yè)調(diào)度。 執(zhí)行作業(yè)。 產(chǎn)生報(bào)警。 在指定的事件發(fā)生時(shí),通知指定的管理員或操作員。 說到這里,我們就談?wù)勛詣踊械慕巧翰僮鲉T,作業(yè),警報(bào)。 操作員:所謂的操作員只是人名與其通信方式(可有電子郵件地址,呼叫器或NET SEND的目的地三種)的設(shè)置而已。只要將服務(wù)器管理人員的聯(lián)絡(luò)方式都以操作員設(shè)置妥當(dāng)時(shí),當(dāng)SQLSERVER遇到各種需要處理的狀況,SQLSERVER Agent就會通過指定的方式通知管理人員前來完成,以達(dá)到及時(shí)的排除各種問題。 作
43、業(yè):作業(yè)是SQLSERVER Agent諸多功能中最常用的。所謂作業(yè)就是可讓SQLSERVERAgent自動執(zhí)行的一組操作,它既可以自動執(zhí)行(這個(gè)就涉及到調(diào)度),也可以手動執(zhí)行。在定義作業(yè)必須注意以下內(nèi)容:作業(yè)的名稱,作業(yè)的種類,作業(yè)的所有者,作業(yè)的說明文字。 警報(bào):就是指針對特殊的事件,要發(fā)信給操作員的設(shè)置。在作業(yè)的設(shè)置中的“通知“頁面中指定了要將作業(yè)執(zhí)行狀態(tài)通知操作員時(shí),其實(shí)就是在設(shè)置警報(bào)(如下圖) screen.width-333)this.width=screen.width-333" border="0" galleryimg="no"
44、; /> 在定義警報(bào)時(shí),可有兩種設(shè)置事件的方式,一種是指明了針對某特定事件,也就是只要在服務(wù)器發(fā)生該事件。另一種是指定事件的嚴(yán)重度(Serverity),只要是達(dá)到指定嚴(yán)重程度的所有事件,SQLSERVER Agent就會發(fā)信通知操作員。 了解了概念,就是動手的時(shí)候了,這些我們就以圖片給與說明,第一個(gè)我們新建“操作員“,過程如下: screen.width-333)this.width=screen.width-333" border="0" galleryimg="no" /> screen.width-333)this.widt
45、h=screen.width-333" border="0" galleryimg="no" /> 接著新建“作業(yè)“過程如下: SQLscreen.width-333)this.width=screen.width-333" border="0" galleryimg="no" /> screen.width-333)this.width=screen.width-333" border="0" galleryimg="no" /&g
46、t; 再來看看“警報(bào)“的創(chuàng)建過程: screen.width-333)this.width=screen.width-333" border="0" galleryimg="no" /> screen.width-333)this.width=screen.width-333" border="0" galleryimg="no" /> (注意在建立警報(bào)的“響應(yīng)”欄目里,對應(yīng)著相應(yīng)的作業(yè)和操作員) 談過了這些功能,是不是覺得真是很方便呀,當(dāng)然了良好的運(yùn)用不僅僅就這簡單的幾步,這需要大
47、家在應(yīng)用中適時(shí)的總結(jié)以適應(yīng)我們的需要?,F(xiàn)在,我們再談?wù)撘粋€(gè)SQLSERVER 的另一項(xiàng)不錯(cuò)的功能腳本。 所謂的利用腳本,就是可以將數(shù)據(jù)庫對象或服務(wù)器中的其他對象以腳本(Script)方式存入文件,也就是存成SQL程序以供我們繼續(xù)利用。 同樣腳本也可以用于這里的自動化管理。例如:我們可以將操作員,作業(yè)和警報(bào)等對象存成Script文件后,再拿到別的服務(wù)器上加以利用。這是不是在不同的服務(wù)器上創(chuàng)建相同的操作員等重復(fù)的工作了。這就是腳本的效率所在。 如果需要存為腳本文件,可以在企業(yè)管理器中右擊相應(yīng)的對象在“所有任務(wù)“/“生成SQL腳本”命令,設(shè)置確定即可。 談了上面的自動化管理的方式是很實(shí)用的,但似乎是
48、不是缺乏全面性,要為自己的服務(wù)器構(gòu)建一套完善的自動化維護(hù)機(jī)制,可能需要花費(fèi)不少心力,但是將大部分的日常維護(hù)工作適度的自動化,多少可以減輕管理上的負(fù)擔(dān),為此SQLSERVER還提供了一項(xiàng)可以將整套數(shù)據(jù)庫維護(hù)工作自動化的功能,這就是數(shù)據(jù)庫的維護(hù)計(jì)劃。 我們可以在企業(yè)管理器中執(zhí)行“工具“/數(shù)據(jù)庫維護(hù)計(jì)劃器,這樣就見到了如下界SQL面,依次設(shè)置即可。 這次的討論就說到這里,關(guān)于自動化管理,我不用說大家都明白,合理的設(shè)置會給你的工作帶來什么樣的影響,好好體會,讓工作更加輕松! 分類: ( 一般分類 ) : 評論 (0) : 靜態(tài)鏈接網(wǎng)址 : 引用 (0) <!- -> SQLSERVER20
49、00功略(3)數(shù)據(jù)庫的登陸及其用戶權(quán)限 發(fā)表人:kendy517 | 發(fā)表時(shí)間: 2007年二月09日, 11:54 SQLSERVER2000功略(3)數(shù)據(jù)庫的登陸及其用戶權(quán)限 SQLSERVER2000功略數(shù)據(jù)庫的登陸及其用戶權(quán)限 說過了兩章純粹的理論,是不是有乏味的感覺,好,我們從這一講就進(jìn)入實(shí)質(zhì)的管理階段。首先,我們討論的是SQLSERVER安全管理中的登陸和權(quán)限問題。 SQLSERVER的登陸是安全管理的第一關(guān)。這個(gè)決定了那些人可以使用SQLSERVER(就像進(jìn)屋時(shí)的房門鑰匙)。關(guān)于登陸控制,SQLSERVER則采用了兩種不同的檢查方式:windows驗(yàn)證和windows,sqlse
50、rver混合驗(yàn)證。前者就是我們登陸windows時(shí)的用戶帳號,而后者則是在保留前者的前提下也允許SQLSERVER中建立的登陸帳號。這也是為用戶提供方便的選擇。 我們擁有了登陸的帳號,就可以進(jìn)入SQLSERVER的控制中心,那我們可以做些什么哪?這個(gè)肯定是有控制的進(jìn)行的。SQLSERVER中的訪問權(quán)限分為兩方面,分別是:服務(wù)器本身的操作權(quán)限和數(shù)據(jù)庫的訪問權(quán)限。我們分別加以簡介: 服務(wù)器的操作權(quán)限是從真?zhèn)€服務(wù)器來說的,是面向所有數(shù)據(jù)庫的定義。例如:是否有權(quán)創(chuàng)建或者刪除登陸帳號,是否可以建立數(shù)據(jù)庫等等。這些也就是通過設(shè)置服務(wù)器角色(server role)來實(shí)現(xiàn)的。SQLSERVER內(nèi)建了七個(gè)服務(wù)
51、器角色,分別代表七種服務(wù)器工作的操作權(quán)。 數(shù)據(jù)庫的訪問權(quán)限就是針對某一個(gè)數(shù)據(jù)庫而言的。他可以分為兩層,第一層是限制何人訪問數(shù)據(jù)庫,第二層限制可訪問數(shù)據(jù)庫中的那些表,視圖和存儲過程,以及是否可以用select,insert,update等等。這個(gè)權(quán)限往往是通過數(shù)據(jù)庫角色得以實(shí)現(xiàn)的。 (服務(wù)器角色不可以自定義,數(shù)據(jù)庫角色可以自定義) 僅僅知道上面這些概念是不行的,因?yàn)镾QLSERVER中的權(quán)限是比較復(fù)雜的,因?yàn)楸舜酥g可能存在某些權(quán)鏈。所以僅僅概念是不容易說清的,我們討論的就是基礎(chǔ)的東西,懂得了這些在真正工作中才可以更好的掌握管理技能。我們簡單的談?wù)剻?quán)鏈的問題吧! 由于每個(gè)對象都有他自己的擁有權(quán)信
52、息,這個(gè)對象可能和其他對象存在一定的依存關(guān)系,比如:一個(gè)視圖是從另外一個(gè)視圖建立過來的。這些相互依存的對象關(guān)系可能拉的很長,因此相依存的對象的擁有權(quán)就形成一個(gè)由上而下的鏈結(jié),這在SQLSERVER中就稱作擁有權(quán)鏈(Ownership Chain)。正是由于這樣,可能所產(chǎn)生的訪問權(quán)限變得非常復(fù)雜。所以,我們在這里提出以視圖和存儲過程來限制訪問范圍。通過視圖確定用戶可以訪問的內(nèi)容,然后把視圖的相關(guān)權(quán)限賦予具體的用戶,這樣可以有效的減輕權(quán)限設(shè)置的工作量(特別是用戶訪問范圍跨度較大的情況下)。除了視圖,我們也可以自定義存儲過程來對數(shù)據(jù)的訪問加以限制,即SQL把一組可查詢某特定數(shù)據(jù)的語句存成存儲過程,然
53、后將其execute權(quán)限設(shè)置給用戶,用戶就可以執(zhí)行他來取得數(shù)據(jù)了。這樣省去了很多復(fù)雜的授權(quán)過程,是不是很方便呀! 簡單的說了說這些,我們再來談?wù)凷QLSERVER中特殊的東西:sa帳號,public數(shù)據(jù)庫角色,guest數(shù)據(jù)庫用戶。 Sa是SQLSERVER默認(rèn)的管理員帳號,主要是為了向下兼容而設(shè)置的。這個(gè)也就是安裝好SQLSERVER時(shí)就有的帳號,而且權(quán)限極大,所以在安裝過程中最好把他的密碼進(jìn)行設(shè)置,不要為空。這個(gè)帳號相當(dāng)于服務(wù)器角色中的system administrator,而且不可以刪除。 Public數(shù)據(jù)庫角色是一個(gè)公共的數(shù)據(jù)庫角色,也就是說當(dāng)你新建一個(gè)數(shù)據(jù)庫角色的時(shí)候,默認(rèn)的就屬于
54、這個(gè)角色。這個(gè)也是不可刪除的。所以為了安全期間,我們對public數(shù)據(jù)庫對象不要賦予過多的權(quán)限(除非有這個(gè)需要)。 Guest是一個(gè)特殊的數(shù)據(jù)庫用戶,類似于windows NT/2000下的guest帳號,都是給未經(jīng)授權(quán)的用戶提供某種程度的訪問權(quán)限。如果不需要這個(gè)用戶可以將其刪除。 說了這些概念,其實(shí)現(xiàn)都是通過“企業(yè)管理器”實(shí)現(xiàn)的,我們就這些談?wù)動孟鄳?yīng)的系統(tǒng)存儲過程: 登陸管理:sp_addlogin 新增帳號 sp_droplogin 刪除帳號 sp_grantlogins 允許某windows帳號訪問 sp_denylogins 禁止某windows帳號訪問 sp_revokelogins
55、 刪除某windows帳號訪問 sp_helplogin 查看帳號信息 sp_addsrvrolemember 將某用戶添加到服務(wù)器角色 sp_dropsrvrolemember 將某用戶從數(shù)據(jù)庫角色中刪除 sp_helpsrvrole 查看服務(wù)器角色的信息 數(shù)據(jù)庫用戶管理:sp_grantaccess 建立數(shù)據(jù)庫用戶 sp_revokedbaccess 刪除數(shù)據(jù)庫用戶 sp_helpuser 查看用戶信息 數(shù)據(jù)庫角色管理:sp_addrole 建立數(shù)據(jù)庫角色 sp_addrolemember 將用戶加入數(shù)據(jù)庫角色 sp_helprole 查看數(shù)據(jù)庫角色信息 sp_helprolemember
56、 查看某數(shù)據(jù)庫角色的所有成員 sp_droprole 刪除角色 sp_droprolemember 刪除角色中的某一成員 好了,看了上面的不要感覺麻煩呀,這可是讓你高效工作的寶貝呀,熟能生巧,我們一起聯(lián)系多了,其實(shí)掌握就覺得很輕松了!繼續(xù)努力?。海?分類: ( 一般分類 ) : 評論 (0) : 靜態(tài)鏈接網(wǎng)址 : 引用 (0) <!- -> SQLSERVER2000攻略(1)工作流程篇 SQL發(fā)表人:kendy517 | 發(fā)表時(shí)間: 2007年二月09日, 11:51 SQLSERVER2000是windows平臺上一個(gè)重要的數(shù)據(jù)管理工具。了解數(shù)據(jù)庫的朋友對他一定很熟悉。我們就此
57、在這里作一系列的討論,希望通過這次的交流我們對SQLSERVER2000有個(gè)深刻的理解。首先,我們探討一下他的工作流程,這可是工作的基礎(chǔ)呀,好,我們開始了! 簡單的說,SQLSERVER2000是個(gè)采用主從結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫系統(tǒng)。哈,是不是太簡單,畢竟現(xiàn)在市面上的數(shù)據(jù)庫產(chǎn)品幾乎都是這個(gè)結(jié)構(gòu)。我們來深入一點(diǎn),所謂SQLSERVER的主從結(jié)構(gòu)(Client/Server),就是由SQLSERVER扮演存放數(shù)據(jù)和提供數(shù)據(jù)給客戶端的角色,當(dāng)用戶要取用數(shù)據(jù)時(shí),則可調(diào)用各種不同的客戶端應(yīng)用程序,通過SQLSERVER所支持的接口,向SQLSERVER提供請求,然后取得數(shù)據(jù)庫中的數(shù)據(jù)并返回給用戶。這個(gè)過程應(yīng)該
58、好理解吧。 看了這個(gè)是不是覺得很easy呀!其實(shí),這只是比較傳統(tǒng)的雙層式Client/Server結(jié)構(gòu),近年來三層式或者多層式主從結(jié)構(gòu)的應(yīng)用正在流行。例如:配合微軟的BackOffice中的其他服務(wù)器產(chǎn)品,即可建立多層主從運(yùn)算模式。 了解了基本的數(shù)據(jù)流程,那是不是要問是什么實(shí)現(xiàn)客戶端與服務(wù)器之間的溝通哪?這個(gè)是個(gè)比較有意義的問題。我們知道了作什么,就應(yīng)改知道他是怎么做的。所謂,打破沙鍋問到底!我們說一下工作原理:SQLSERVER提供了多種不同的接口讓客戶端(應(yīng)用程序)順利與服務(wù)器進(jìn)行交流,在此接口的基礎(chǔ)上,由NET-Library(網(wǎng)絡(luò)函數(shù)庫)建立兩邊IPC(Interprocess Com
59、mication)通訊管道來進(jìn)行工作。具體的說就是:當(dāng)客戶端程序使用某種接口向服務(wù)器提出查詢請求時(shí),數(shù)據(jù)庫接口驅(qū)動程序調(diào)用客戶端的Net-library,而Net-library則調(diào)用IPC應(yīng)用程序接口產(chǎn)生IPC,通過IPC送達(dá)服務(wù)端,服務(wù)端接受請求后經(jīng)SQLSERVER處理,以同樣的方式將結(jié)果送回客戶端。(這個(gè)過程有兩個(gè)情況,Client和Server在同一臺計(jì)算機(jī)上,Net-library會使用local IPC,如果是網(wǎng)絡(luò)存取,則會有雙方所使用的網(wǎng)絡(luò)協(xié)議產(chǎn)生Remote IPC)圖示如下: 了解了外部工作機(jī)制,咱們看看服務(wù)端是怎么分工的,畢竟多數(shù)的數(shù)據(jù)工作是由服務(wù)器完成的。整體上說,整個(gè)
60、SQLSERVER的數(shù)據(jù)管理系統(tǒng)分為如下幾個(gè)組件: Open Data Service(ODS):負(fù)責(zé)處理由Net-library送來的查詢請求,ODS會調(diào)用SQLSERVER的內(nèi)部功能來完成客戶端的需求。 SQL Server Service:這個(gè)SQLSERVER的“心臟”負(fù)責(zé)管理我們的數(shù)據(jù)庫,以及所有建立,查詢和修改的數(shù)據(jù)庫的操作。此數(shù)據(jù)庫管理系統(tǒng)的核心又分為幾個(gè)單元,其中最主要的兩個(gè)單元就是負(fù)責(zé)解SQL語法和安排查詢執(zhí)行計(jì)劃等工作的關(guān)系引擎(Relational Engine),以及負(fù)責(zé)管理數(shù)據(jù)庫文件和文件讀寫等工作的存儲引擎(Storage Engine)。這兩個(gè)組件之間則是通過OLE DB接口來通信的。 SQL SERVER Agent(SQL SERVER代言程序):可以說此組件是重要性僅次于SQL SERVER Service的組件,這個(gè)服務(wù)提供了有關(guān)工作編排,以及服務(wù)器有
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年江西南昌萬壽宮文化街區(qū)運(yùn)營管理有限公司招聘筆試參考題庫附帶答案詳解
- 2025版協(xié)議離婚特殊規(guī)定及子女撫養(yǎng)權(quán)分割與贍養(yǎng)協(xié)議書9篇
- 2025年度個(gè)人財(cái)產(chǎn)質(zhì)押擔(dān)保合同模板大全
- 2025年度個(gè)人信用評分貸款合同范本參考
- 2025-2030全球異型坯連鑄機(jī)行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025-2030全球無齒槽空心杯減速電機(jī)行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025版軍事基地視頻監(jiān)控設(shè)備升級與維護(hù)服務(wù)合同3篇
- 2025-2030全球結(jié)構(gòu)型隔音用蜂窩行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國廢棄食用油轉(zhuǎn)化催化劑行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國輕型冷凍柜行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 完整版秸稈炭化成型綜合利用項(xiàng)目可行性研究報(bào)告
- 油氣行業(yè)人才需求預(yù)測-洞察分析
- 《數(shù)據(jù)采集技術(shù)》課件-Scrapy 框架的基本操作
- (2024)河南省公務(wù)員考試《行測》真題及答案解析
- 圍城讀書分享課件
- 2025年河北省單招語文模擬測試二(原卷版)
- 工作計(jì)劃 2025年度醫(yī)院工作計(jì)劃
- 高一化學(xué)《活潑的金屬單質(zhì)-鈉》分層練習(xí)含答案解析
- DB34∕T 4010-2021 水利工程外觀質(zhì)量評定規(guī)程
- 2024年內(nèi)蒙古中考英語試卷五套合卷附答案
- 2024年電工(高級)證考試題庫及答案
評論
0/150
提交評論