SQL中登入名的建立

2021-07-30 14:08:55 字數 3220 閱讀 2271

簡單地說,資料庫系統安全性設計是為了防止資料庫資料洩露,防止資料被任意修改或刪除的設計,從而保證資料的安全可靠和正確有效性。

資料庫系統主要通過以下幾種方式來實現安全性控制:

1、使用者身份鑑別

2、多層訪問控制

3、審計

4、檢視和資料加密

sql server提供了兩種不同的方法來認證使用者進入伺服器

1、windows認證

2、sql server混合認證

登入名,用來連線和登入資料庫伺服器,並具有相應的資料庫訪問許可權,乙個登入名可以對映到多個資料庫。

一般我們進入資料庫使用的是windows驗證方式,這種方式賦予了操作者所有的使用者許可權,現在需要設定乙個登入使用者,使用sql server登入方式,並對它的許可權加以限制。

以下是新建乙個名為teacher的sql server驗證方式的登入名

我們可以將其同時對映到幾個資料庫中,那麼teacher這個登入名就對相應的資料庫有訪問的許可權,而沒有對映的資料庫則不具有訪問許可權

我們還可以為這個登入名設定服務角色,伺服器角色用於向使用者授予伺服器範圍內的安全特權,可以同時為乙個登入名設定多個角色。

下面是為teacher這個登入名設定新建資料庫特權

伺服器角色及其特權

在sql server中,一些儲存過程提供了管理sql servers登入名的功能,主要包括:

sp_addlogin:建立新的使用sql server認證模式的登入名

sp_droplogin: 刪除使用sql server認證模式的登入名,禁止其訪問sql server

sp_helplogins:用來顯示sql server 所有登入者的資訊,包括每乙個資料庫裡與該登入者相對應的登入名

sp_grantlogin:  設定一wiinodws使用者或使用者組為sql server 登入者

sp_revokelogin:用來刪除windows用使用者或使用者組在sql server 上的登入資訊

sp_denylogin:拒絕某一windows使用者或使用者組連線到sql server

use master

/*建立乙個登入使用者:登入名是test_login,密碼是123,登入預設資料庫是ts*/

exec sp_addlogin test_login,'123','ts'

/*顯示登入者test_login的資訊*/

exec sp_helplogins @loginnamepattern='test_login'

/*刪除登入這test_login的資訊*/

exec sp_droplogin 'test_login'

/*設定一windows使用者或使用者組為sql server登入者,這裡的使用者必須是windows使用者*/

exec sp_grantlogin 'yz-xcm\yz'

/*刪除windows使用者或使用者組在sql server上的登入資訊*/

exec sp_revokelogin 'yz-xcm\yz'

/*拒絕windows 使用者登入到sql server*/

exec sp_denylogin 'yz-xcm\yz'

下面是基於學生資料庫student的登入名建立及相關授權的定義

/*建立teacher登入名*/

use master

gocreate login teacher with password ='123'go

/*建立資料庫使用者名稱*/

use student

create user pubuser for login teacher go

/*為使用者pubuser賦予表student檢視、插入、刪除的許可權*/

use student

grant select,insert,delete

on student

to pubuser

/***使用者pubuser對錶student的刪除許可權*/

use student

revoke delete

on student

from pubuser

/*建立student登入名,密碼為123,預設資料庫為student*/

use master

goexec sp_addlogin student,'123','student' /*create login student with password ='123' */

exec sp_addsrvrolemember 'student', 'sysadmin'; /*將其加入sysadmin角色中*/

exec sp_grantdbaccess 'student', 'user3' /*將其加入student資料庫使用者中*/go

--授予他在student資料庫中建立檢視、建立表的許可權

use student

grant create view,create table

to student

--授予他對student資料庫中的study表具有所有許可權,且可將這些許可權授予他人

grant all privileges

on study

to student

with grant option

--撤銷他對student資料庫中的study表的修改許可權

revoke update

on study

from student

--禁止他對student資料庫中的study表的刪除許可權

deny delete on sc to student

SQL 登入名 使用者 角色

參考部落格 非常感謝博主的知識分享。1.建立乙個登入名,完全運算元據庫許可權,步驟為 建立登入名 建立使用者 分配角色 1.建立登入名 此時可以登陸,但是沒資料庫的許可權,不能看表 create login dba with password 1234 2.建立使用者 給資料庫mydb建立使用者,此...

SQL Server2005建立登入名

sql server2005建立登入名 對於出入sql server2005大門的人來說,建立使用者名稱很容易出錯。下面介紹具體的步驟和方法 首先建立使用者名稱 建立使用 windows 身份驗證 sql server management studio 的 sql server 登入名 在 sql...

SQL Server2005建立登入名

對於出入sql server2005大門的人來說,建立使用者名稱很容易出錯。下面介紹具體的步驟和方法 首先建立使用者名稱 建立使用 windows 身份驗證 sql server management studio 的 sql server 登入名 在 sql server management s...