1.需要登录到sql系统,即需要登录账户。
2.需要访问某个数据库,即需要成为该数据库的用户。
3.需要访问数据库中的表,即需要数据库管理员DBA给自己授权,如增、删、改、查的权限。
创建登录账户:
创建登录账户:
1.Windows身份验证:适合于windows平台的用户不需要密码,和windows集成验证。
创建windows账户需要调用SQL server内置的系统存储过程sp_grantlogin,调用语法如下:
EXEC sp_grantlogin 'windows域名\域账户'
EXEC表示调用执行
如果是本机可以用计算机名代替windows域名
例:
/*--添加windows登录账户--*/
EXEC sp_grantlogin 'jbtraining\s26301'
--windows用户为jbtraining\ s26301,jbtraining表示域
GO
2.SQL身份验证:适合于非windows的用户或Internet的用户,需要提供账户和密码。
/*--添加SQL登录账户--*/
EXEC sp_addlogin 'zhangsan','123'
--账户名zhangsan,密码123
GO
创建数据库用户:
需要调用存储过程sp_grantdbaccess,调用语法如下:
EXEC sp_grantdbaccess '登录账户','数据库用户'
其中数据库用户为可选参数,默认为数据库用户和登录账户同名。
例:
/*--在sdb_DB数据库中增加两个用户--*/
USE stu_DB
GO
EXEC sp_grantdbaccess 'jbtraining\s26301','s26301DBUser'
--s26301DBUser 为数据库用户名
EXEC sp_grantdbaccess 'zhangsan','zhangsanDBUser'
dbo用户是具有在数据库中执行所有活动的权限的用户,表示数据库的所有者(ower),创建某个数据库就是某个数据库的所有者,即dbo用户,该用户无法删除,且出现在每个数据库中。
DBA给数据库用户授权:
进行了创建数据库用户后,该用户便允许访问数据库了!但数据库中有很多表,所以必须让DBA给你授权,指定你对那些表格具有哪些权限,常用的权限有增insert,删delete,改update,查select和创建表create table。
授权语法如下:
CREATE 权限 [ON 表名] TO 数据库用户
例:
USE stuDB
GO
/*--为张三分配对表stuInfo的select、insert、update权限--*/
GRANT select,insert,update ON stuInfo TO zhangsanDBUser
/*--为s26301DBUser分配建表权限--*/
GRANT create table TO s26301DBUser