sql server許可權和資料型別

2021-04-15 13:56:27 字數 4478 閱讀 3028

許可權

固定伺服器角色,限制登入sql的使用者許可權

sysadmin 可以在 sql server 中執行任何活動。

serveradmin 可以設定伺服器範圍的配置選項,關閉伺服器。

setupadmin 可以管理鏈結伺服器和啟動過程。

securityadmin 可以管理登入和 create database 許可權,還可以讀取錯誤日誌和更改密碼。

processadmin 可以管理在 sql server 中執行的程序。

dbcreator 可以建立、更改和除去資料庫。

diskadmin 可以管理磁碟檔案。

bulkadmin 可以執行 bulk insert 語句。

資料庫角色

3種 固定,定製和應用程式

固定資料庫角色 描述

db_owner 在資料庫中有全部許可權。

db_accessadmin 可以新增或刪除使用者 id。

db_securityadmin 可以管理全部許可權、物件所有權、角色和角色成員資格。

db_ddladmin 可以發出 all ddl,但不能發出 grant、revoke 或 deny 語句。

db_backupoperator 可以發出 dbcc、checkpoint 和 backup 語句。

db_datareader 可以選擇資料庫內任何使用者表中的所有資料。

db_datawriter 可以更改資料庫內任何使用者表中的所有資料。

db_denydatareader 不能選擇資料庫內任何使用者表中的任何資料。

db_denydatawriter 不能更改資料庫內任何使用者表中的任何資料。

只要將使用者加入角色,即可獲得相應的許可權

定製資料庫角色

比如使用者只需要資料庫的select,update許可權,這時就要使用定製角色,生成定製資料庫角色時,對其指定許可權,然後將使用者指定為這個角色,而固定資料庫角色不需要指定許可權

應用程式角色

如果使用者通過應用程式訪問資料庫,這時應該使用應用程式角色,sql server不再看到使用者本身,而只看到應用程式,並響應應用程式角色提供許可權

許可權狀態:

提供grant 提供使用者使用特定許可權

取消revoke 取消的許可權沒有特別指定,使用者可以從上層角色繼承這個許可權,比如取消使用者a的select許可權,但a所在的角色有select許可權,則a仍可讀取

拒絕deny 拒絕了使用者的許可權,無法再獲得相應活動

資料型別:

資料型別

型別

描             述

bit

整型 bit

資料型別是整型,其值只能是0、1或空值。這種資料型別用於儲存只有兩種可能值的資料,如yes 或no、true 或fa lse 、on 或off

int

整型 int

資料型別可以儲存從- 231(-2147483648)到231 (2147483 647)之間的整數。儲存到資料庫的幾乎所有數值型的資料都可以用這種資料型別。這種資料型別在資料庫裡占用4個位元組

**allint

整型 **allint

資料型別可以儲存從- 215(-32768)到215(32767)之間的整數。這種資料型別對儲存一些常限定在特定範圍內的數值型資料非常有用。這種資料型別在資料庫裡占用2 位元組空間

tinyint

整型 tinyint

資料型別能儲存從0到255 之間的整數。它在你只打算儲存有限數目的數值時很有用。 這種資料型別在資料庫中占用1 個位元組

numeric

精確數值型

numeric

資料型別與decimal 型相同

decimal

精確數值型

decimal

資料型別能用來儲存從-1038-1到1038-1的固定精度和範圍的數值型資料。使用這種資料型別時,必須指定範圍和精度。 範圍是小數點左右所能儲存的數字的總位數。精度是小數點右邊儲存的數字的位數

money

貨幣型

money

資料型別用來表示錢和貨幣值。這種資料型別能儲存從-9220億到9220 億之間的資料,精確到貨幣單位的萬分之一

**allmoney

貨幣型

**allmoney

資料型別用來表示錢和貨幣值。這種資料型別能儲存從-214748.3648 到214748.3647 之間的資料,精確到貨幣單位的萬分之一

float

近似數值型

float

資料型別是一種近似數值型別,供浮點數使用。說浮點數是近似的,是因為在其範圍內不是所有的數都能精確表示。浮點數可以是從-1.79e+308到1.79e+308 之間的任意數

real

近似數值型

real

資料型別像浮點數一樣,是近似數值型別。它可以表示數值在-3.40e+38到3.40e+38之間的浮點數

datetime

日期時間型

datetime

資料型別用來表示日期和時間。這種資料型別儲存從

2023年

1月1日

到2023年12月3 1日間所有的日期和時間資料, 精確到三百分之一秒或3.33毫秒

**alldatetime

日期時間型

**alldatetime

資料型別用來表示從

2023年

1月1日

到2023年

6月6日

間的日期和時間,精確到一分鐘

cursor

特殊資料型

cursor

資料型別是一種特殊的資料型別,它包含乙個對游標的引用。這種資料型別用在儲存過程中,而且建立表時不能用

timestamp

特殊資料型

timestamp

資料型別是一種特殊的資料型別,用來建立乙個資料庫範圍內的唯一數碼。 乙個表中只能有乙個timestamp列。每次插入或修改一行時,timestamp列的值都會改變。儘管它的名字中有「time」, 但timestamp列不是人們可識別的日期。在乙個資料庫裡,timestamp值是唯一的

uniqueidentifier

特殊資料型

uniqueidentifier

資料型別用來儲存乙個全域性唯一識別符號,即guid。guid確實是全域性唯一的。這個數幾乎沒有機會在另乙個系統中被重建。可以使用newid 函式或轉換乙個字串為唯一識別符號來初始化具有唯一識別符號的列

char

字元型

char

varchar

字元型

varchar

資料型別,同char型別一樣,用來儲存非統一編碼型字元資料。與char 型不一樣,此資料型別為變長。當定義一列為該資料型別時,你要指定該列的最大長度。 它與char資料型別最大的區別是,儲存的長度不是列長,而是資料的長度

text

字元型

text

資料型別用來儲存大量的非統一編碼型字元資料。這種資料型別最多可以有231-1或20億個字元

nchar

統一編碼字元型

nchar

資料型別用來儲存定長統一編碼字元型資料。統一編碼用雙位元組結構來儲存每個字元,而不是用單位元組(普通文字中的情況)。它允許大量的擴充套件字元。此資料型別能儲存4000種字元,使用的位元組空間上增加了一倍

nvarchar

統一編碼字元型

nvarchar

資料型別用作變長的統一編碼字元型資料。此資料型別能儲存4000種字元,使用的位元組空間增加了一倍

ntext

統一編碼字元型

ntext

資料型別用來儲存大量的統一編碼字元型資料。這種資料型別能儲存230 -1或將近10億個字元,且使用的位元組空間增加了一倍

binary

二進位制資料型別

binary

資料型別用來儲存可達8000 位元組長的定長的二進位制資料。當輸入表的內容接近相同的長度時,你應該使用這種資料型別

varbinary

二進位制資料型別

varbinary

資料型別用來儲存可達8000 位元組長的變長的二進位制資料。當輸入表的內容大小可變時,你應該使用這種資料型別

image

二進位制資料型別

image

資料型別用來儲存變長的二進位制資料,最大可達231-1或大約20億位元組

索引是乙個資料結構,用來快速訪問資料庫**或者檢視裡的資料。在sql server裡,它們有兩種形式:聚集索引和非聚集索引。聚集索引在索引的葉級儲存資料。這意味著不論聚集索引裡有**的哪個(或哪些)字段,這些欄位都 會按順序被儲存在**。由於存在這種排序,所以每個**只會有乙個聚集索引。非聚集索引在索引的葉級有乙個行識別符號。這個行識別符號是乙個指向磁碟上資料的 指標。它允許每個**有多個非聚集索引。

功能許可權和資料許可權

在任何系統中都需要許可權控制,沒有許可權,系統是不健全的時刻會受到各種問題的干擾。許可權分為資料許可權和功能許可權 1 功能許可權 能不能開啟某乙個介面,能不能觸發乙個介面上的按鈕,某些業務員能不能刪除訂單,採購員能不能刪除業務員某個銷售訂單,剛入職的小白誤入系統管理員的介面,胡亂的修改。這是什麼問...

功能和資料許可權系統設計

rbac許可權系統能很簡單的應用於功能許可權系統 或者可以稱作控制 選單 許可權,控制使用者可以使用系統的哪些功能,例如是否可以使用統計功能等 基於資料許可權的系統 控制使用者可以訪問某個功能的哪些資料,例如部門經理可以訪問本部門的所有使用者資料,科長只能訪問科室的使用者資料等 則與業務邏輯相關,簡...

SQL SERVER資料操作類

跟大家分享個sql server資料操作類,主要是運算元據庫有關。請做適當修改。using system using system.data using system.configuration using system.web using system.web.security using sys...