標籤:http io ar for 資料 art sp log on
USE master
go CREATE LOGIN jiazhuang --使用者名稱
WITH PASSWORD = ‘sa‘, --密碼
DEFAULT_DATABASE = JiaZhuan, --資料庫名
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF
go
EXEC sp_addsrvrolemember ‘JiaZhuan‘, ‘sysadmin‘ --角色
go
要想成功訪問 SQL Server 資料庫中的資料, 我們需要兩個方面的授權:一、獲得准許串連 SQL Server 服務器的權利; 二、獲得訪問特定資料庫中資料的權利(select, update, delete, create table ...)。 假設,我們準備建立一個 dba 資料庫帳戶,用來管理資料庫 mydb。
1. 首先在 SQL Server 服務器層級,建立登陸帳戶(create login)
create login dba with password=‘sqlstudy‘, default_database=mydb
登陸帳戶名稱為:“dba”,登陸密碼:“sqlstudy”,預設串連到的資料庫:“mydb”。 這時候,dba 帳戶就可以串連到 SQL Server 服務器上了。但是此時還不能 訪問資料庫中的對象(嚴格的說,此時 dba 帳戶預設是 guest 資料庫使用者身份, 可以訪問 guest 能夠訪問的資料庫物件)。
要使 dba 帳戶能夠在 mydb 資料庫中訪問自己需要的對象, 需要在資料庫 mydb 中建立一個“資料庫使用者”,賦予這個“資料庫使用者” 某些存取權限,並且把登陸帳戶“dba” 和這個“資料庫使用者” 映射起來。 習慣上,“資料庫使用者” 的名字和 “登陸帳戶”的名字相同,即:“dba”。 建立“資料庫使用者”和建立映射關係只需要一步即可完成:
2. 建立資料庫使用者(create user):
create user dba for login dba with default_schema=dbo
並指定資料庫使用者“dba” 的預設 schema 是“dbo”。這意味著 使用者“dba” 在執行“select * from t”,實際上執行的是 “select * from dbo.t”。
3. 通過加入資料庫角色,賦予資料庫使用者“dba”許可權:
exec sp_addrolemember ‘db_owner‘, ‘dba‘
此時,dba 就可以全權管理資料庫 mydb 中的對象了。
如果想讓 SQL Server 登陸帳戶“dba”訪問多個資料庫,比如 mydb2。 可以讓 sa 執行下面的語句:
use mydb2
go
create user dba for login dba with default_schema=dbo
go
exec sp_addrolemember ‘db_owner‘, ‘dba‘
go
此時,dba 就可以有兩個資料庫 mydb, mydb2 的系統管理權限了!
4. 禁用、啟用登陸帳戶:
alter login dba disable
alter login dba enable
5. 登陸帳戶改名:
alter login dba with name=dba_tom
提示:在 SQL Server 2005 中也可以給 sa 改名。 《SQL Server 2005 安全性增強:給超級使用者 sa 改名》
6. 登陸帳戶改密碼:
alter login dba with password=‘sqlstudy.com‘
7. 資料庫使用者改名:
alter user dba with name=dba_tom
8. 更改資料庫使用者 defult_schema:
alter user dba with default_schema=sales
9. 刪除資料庫使用者:
drop user dba
10. 刪除 SQL Server登陸帳戶:
drop login dba
sql 建立使用者指令碼