当前位置:网站首页>【SQL server速成之路】——身份驗證及建立和管理用戶賬戶
【SQL server速成之路】——身份驗證及建立和管理用戶賬戶
2022-07-06 05:35:00 【這個昵稱我想了20分鐘】
個人主頁:這個昵稱我想了20分鐘
往期專欄:【速成之路】jQuery
【速成之路】Ajax
️本期專欄:【速成之路】SQL server

SQL Server 2012的身份驗證模式
Sql server安全管理體現在如下幾方面:
對用戶登錄進行身份驗證。當用戶登錄到數據庫系統時,系統對該用戶的賬戶和口令進行驗證,包括確認用戶的賬戶是否有效以及能否訪問數據庫系統。
對用戶進行的操作進行權限控制。當用戶登錄到數據庫系統後,只能在允許的權限內對數據庫中的數據進行操作。
用戶對某一數據庫進行某種操作,必須滿足以下3個條件:
- 登錄Sql server服務器時必須通過身份驗證;
- 必須是該數據庫的用戶,或者是某一角色的成員;
- 必須有執行該操作的權限。
SQL Server2012有兩種身份認證模式:Windows驗證模式和SQL Server驗證模式。如圖是這兩種模式登錄SQL server服務器的情况。
1.Windows驗證模式
以下是對於Windows驗證模式登錄的幾點重要說明:
(1)必須將Windows賬戶加入到SQL Server中,才能采用Windows賬戶登錄SQL Server。
(2)如果使用Windows賬戶登錄到另一個網絡的SQL Server,必須在Windows中設置彼此的托管權限。
2.SQL Server驗證模式
在SQL Server驗證模式下,SQL Server服務器要對登錄的用戶進行身份驗證。當SQL Server在Windows操作系統上運行時,系統管理員設定登錄驗證模式的類型可為Windows驗證模式和混合模式。當采用混合模式時,SQL Server系統既允許使用Windows登錄賬號登錄,也允許使用SQL Server登錄賬號登錄。
建立和管理用戶賬戶
1.界面方式管理用戶賬戶
1.建立Windows驗證模式的登錄名
(1)創建Windows的用戶。以管理員身份登錄到Windows ,打開“控制面板”,在管理賬戶中添加新的賬戶。
(2)將Windows賬戶加入到SQL Server中。以管理員身份登錄到SQL Server Management Studio,在“對象資源管理器”中,展開“安全性”節點,並右擊“登錄名”項,選擇“新建登錄名”菜單項,如圖所示。
打開“登錄名-新建”窗口。如圖所示,可以通過單擊“常規”選項卡的“搜索”按鈕,在“選擇用戶或組”對話框中選擇相應的用戶名或用戶組添加到SQL Server 2012登錄用戶列錶中。
2.建立SQL Server驗證模式的登錄名
要建立SQL Server驗證模式的登錄名,首先應將驗證模式設置為混合模式。
(1)以系統管理員身份登錄SQL Server Management Studio,在“對象資源管理器”中選擇要登錄的SQL Server服務器圖標,右擊鼠標,在彈出的快捷菜單中選擇“屬性”菜單項,打開“服務器屬性”窗口。
(2)在打開的“服務器屬性”窗口中選擇“安全性”選項卡。選擇服務器身份驗證為“SQL Server和Windows身份驗證模式”,單擊“確定”按鈕,保存新的配置,重啟SQL Server服務即可。
在“對象資源管理器”窗口中單擊“連接”,在下拉框中選擇“數據庫引擎”,彈出“連接到服務器”對話框。在該對話框中,“身份驗證”選擇“SQL Server身份驗證”,“登錄名”填寫Jhon,輸入密碼,單擊“連接”按鈕,就能連接SQL Server了。
3.管理數據庫用戶
界面方式創建數據庫用戶賬戶的步驟如下(以xsbook數據庫為例):
以系統管理員身份連接SQL Server,展開“數據庫”→“xsbook”→“安全性”→選擇“用戶”,右擊鼠標,選擇“新建用戶”菜單項,進入“數據庫用戶-新建”窗口。在“用戶名”框中填寫一個數據庫用戶名,“登錄名”框中填寫一個能够登錄SQL Server的登錄名。
注意:一個登錄名在本數據庫中只能創建一個數據庫用戶。選擇默認架構為dbo,如圖所示,單擊“確定”按鈕完成創建。
2.命令方式管理用戶賬戶
1.創建登錄名
在SQL Server 2012中,創建登錄名可以使用CREATE LOGIN命令。語法格式:
CREATE LOGIN <登錄名>
{ WITH PASSWORD = 'password' [ HASHED ] [ MUST_CHANGE ]
[ , <option_list> [ ,... ] ] /*WITH子句用於創建SQL Server登錄名*/
| FROM /*FROM子句用於創建Windows登錄名*/
WINDOWS [ WITH <windows_options> [ ,... ] ]
}
其中:
<option_list> ::=
SID = sid
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| CHECK_EXPIRATION = { ON | OFF}
| CHECK_POLICY = { ON | OFF}
[ CREDENTIAL = credential_name ]
<windows_options> ::=
DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
說明:
(1)創建Windows驗證模式登錄名。創建Windows登錄名使用FROM子句,在FROM子句的語法格式中,WINDOWS關鍵字指定將登錄名映射到Windows登錄名,其中,<windows_options>為創建Windows登錄名的選項,DEFAULT_DATABASE指定默認數據庫,DEFAULT_LANGUAGE指定默認語言。
【例1】 使用命令方式創建Windows登錄名tao(假設Windows用戶tao已經創建,本地計算機名為DAVID-PC),默認數據庫設為xsbook。
USE master
GO
CREATE LOGIN [DAVID-PC\tao]
FROM WINDOWS
WITH DEFAULT_DATABASE= xsbook
(2)創建SQL Server驗證模式登錄名。創建SQL Server登錄名使用WITH子句,其中:
- PASSWORD:用於指定正在創建的登錄名的密碼,password為密碼字符串。
- <option_list>:用於指定在創建SQL Server登錄名時的一些選項。
【例2】 創建SQL Server登錄名sql_tao,密碼為123456,默認數據庫設為xsbook。
CREATE LOGIN sql_tao
WITH PASSWORD='123456',
DEFAULT_DATABASE=xsbook
2.删除登錄名
删除登錄名使用DROP LOGIN命令。語法格式:
DROP LOGIN <登錄名>
例如,删除Windows登錄名tao。
DROP LOGIN [DAVID-PC\tao]
删除SQL Server登錄名sql_tao。
DROP LOGIN sql_tao
3.創建數據庫用戶
創建數據庫用戶使用CREATE USER命令。語法格式:
CREATE USER <用戶名>
[{ FOR | FROM } LOGIN <登錄名> | WITHOUT LOGIN ]
[ WITH DEFAULT_SCHEMA = schema_name ]
說明:
(1)FOR或FROM子句用於指定與用戶名相關聯的登錄名。
(2)LOGIN指定要創建數據庫用戶的SQL Server登錄名,必須是服務器中有效的登錄名。
(3)WITHOUT LOGIN指定不將用戶映射到現有登錄名。
(4)WITH DEFAULT_SCHEMA指定服務器為此數據庫用戶解析對象名稱時將搜索的第一個架構,默認為dbo。
【例3】 使用SQL Server登錄名sql_tao(假設已經創建)在xsbook數據庫中創建數據庫用戶tao,默認架構名使用dbo。
USE xsbook
GO
CREATE USER tao
FOR LOGIN sql_tao
WITH DEFAULT_SCHEMA=dbo
4.删除數據庫用戶
删除數據庫用戶使用DROP USER語句。語法格式:
DROP USER <用戶名>
【例4】 删除xsbook數據庫的數據庫用戶tao。
USE xsbook
GO
DROP USER tao
边栏推荐
- [leetcode] 18. Sum of four numbers
- Cuda11.1 online installation
- Promotion hung up! The leader said it wasn't my poor skills
- Please wait while Jenkins is getting ready to work
- 【torch】|torch.nn.utils.clip_grad_norm_
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- 巨杉数据库再次亮相金交会,共建数字经济新时代
- Selective parameters in MATLAB functions
- Summary of deep learning tuning tricks
- Vulhub vulnerability recurrence 67_ Supervisor
猜你喜欢
Implementing fuzzy query with dataframe
应用安全系列之三十七:日志注入
无代码六月大事件|2022无代码探索者大会即将召开;AI增强型无代码工具推出...
指針經典筆試題
Nacos - TC Construction of High available seata (02)
Can the feelings of Xi'an version of "Coca Cola" and Bingfeng beverage rush for IPO continue?
大型网站如何选择比较好的云主机服务商?
05. Security of blog project
04. Project blog log
Codeforces Round #804 (Div. 2) Editorial(A-B)
随机推荐
Web Security (VI) the use of session and the difference between session and cookie
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Codeless June event 2022 codeless Explorer conference will be held soon; AI enhanced codeless tool launched
【经验】UltralSO制作启动盘时报错:磁盘/映像容量太小
[leetcode] 18. Sum of four numbers
C AES encrypts strings
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
PDK process library installation -csmc
Jvxetable implant j-popup with slot
Promotion hung up! The leader said it wasn't my poor skills
03. Login of development blog project
nacos-高可用seata之TC搭建(02)
Jvxetable用slot植入j-popup
用StopWatch 统计代码耗时
Codeforces Round #804 (Div. 2) Editorial(A-B)
pix2pix:使用条件对抗网络的图像到图像转换
Configuration file converted from Excel to Lua
[leetcode daily question] number of enclaves
HAC集群修改管理员用户密码
Selective parameters in MATLAB functions