SQL sever2008中创建用户并赋权

一、创建数据库dream

CREATE DATABASE dream;

二、创建登录用户XZS

法一:使用SSMS创建

通过查询 sys.syslogins 系统视图来确定当前登录是否具有系统管理员权限。执行以下查询语句:

SELECT name, isntname FROM sys.syslogins WHERE sysadmin = 1;

SQL sever2008中创建用户并赋权_第1张图片 

选择管理员账户--【安全性】--【登录名】--右键--【新建登录名】

SQL sever2008中创建用户并赋权_第2张图片

打开 登录名-新建 页面,按顺序输入需求。

SQL sever2008中创建用户并赋权_第3张图片

法二:使用SQL命令创建

  • Ⅰ、在 SQL Server 2008 中使用 SQL 身份验证类型创建登录名,可以使用以下命令:
USE master;
CREATE LOGIN [XZS] WITH PASSWORD = 'YourPassword', CHECK_POLICY = OFF;

上述命令将创建一个名为 "XZS" 的登录名,并指定密码。CHECK_POLICY = OFF 参数用于禁用密码策略检查,允许设置简单的密码。请将 'YourPassword' 替换为你要设置的实际密码。此外,记住在生产环境中启用强密码策略以提高安全性。

  • Ⅱ、在 SQL Server 2008 中使用 Windows 身份验证类型创建登录名,可以使用以下命令:
USE master;
CREATE LOGIN [YourDomain\XZS] FROM WINDOWS;

上述命令中的 [YourDomain\XZS] 部分需要替换为你的域名和用户名。例如,如果你的域名是 "MyDomain",用户名是 "XZS",则应将其替换为 [MyDomain\XZS]。执行上述命令后,将成功创建一个使用 Windows 身份验证类型的登录名,该登录名与指定的 Windows 用户关联。

三、数据库dream中创建用户XZS

在 SQL Server 2008 中的 "dream" 数据库中创建用户 "ZS",可以使用以下命令:

USE dream;
CREATE USER XZS;

SQL sever2008中创建用户并赋权_第4张图片

上述命令将在 "dream" 数据库中创建一个名为 "XZS" 的用户。请注意,此命令只会创建用户,但没有授予权限。

四、对用户XZS授权

访问特定表或执行存储过程,需要使用 GRANT 命令来授予相应的权限。

下面是示例:

比如向用户 "XZS" 授予对 "table_cp" 表的 SELECT 权限:

GRANT SELECT ON table_cp TO XZS;

检查用户当前所用权限,使用命令:

SELECT *
FROM sys.database_permissions
WHERE grantee_principal_id = USER_ID('XZS');

SQL sever2008中创建用户并赋权_第5张图片

查询使用了 USER_ID 函数,它将根据用户名获取相应的用户 ID,并通过与 "sys.database_permissions" 系统视图中 "grantee_principal_id" 列进行比较来检索权限信息。

或者登录该用户测试验证:

SQL sever2008中创建用户并赋权_第6张图片

如果对存储过程授予执行权限,可以执行命令:

GRANT EXECUTE ON YourStoredProcedure TO YourLogin;

YourDatabase 替换为包含目标存储过程的数据库名称,将 YourStoredProcedure 替换为要授予权限的存储过程名称,将 YourLogin 替换为要授予权限的登录名。执行上述命令后,登录名 YourLogin 将获得对 YourStoredProcedure 存储过程的执行权限,允许其调用和执行该存储过程。

下面还有一些其他常见的权限,可以根据需要逐个授予给用户 "XZS":

USE YourDatabase;

-- 授予对表的 SELECT, INSERT, UPDATE 和 DELETE 权限
GRANT SELECT, INSERT, UPDATE, DELETE ON YourTable TO XZS;


-- 授予创建表的权限
GRANT CREATE TABLE TO XZS;

-- 授予创建视图的权限
GRANT CREATE VIEW TO XZS;

-- 授予连接数据库的权限
GRANT CONNECT TO XZS;

如果要撤销之前授予给用户 "XZS" 的权限,可以使用 REVOKE 命令。以下是一些示例命令,用于撤销上述提到的权限:

USE YourDatabase;

-- 撤销对表的 SELECT, INSERT, UPDATE 和 DELETE 权限
REVOKE SELECT, INSERT, UPDATE, DELETE ON YourTable FROM XZS;

-- 撤销对存储过程的执行权限
REVOKE EXECUTE ON YourStoredProcedure FROM XZS;

-- 撤销创建表的权限
REVOKE CREATE TABLE FROM XZS;

-- 撤销创建视图的权限
REVOKE CREATE VIEW FROM XZS;

-- 撤销连接数据库的权限
REVOKE CONNECT FROM XZS;

比如撤回XZS的SELECT权限:

--撤销用户 "XZS" 对表 "table_cp" 的 SELECT 权限
REVOKE SELECT ON dream.dbo.table_cp FROM XZS;

执行结果:

SQL sever2008中创建用户并赋权_第7张图片SQL sever2008中创建用户并赋权_第8张图片

本篇简单编写一个小示例,加强对用户角色相关的应用,更多用户相关用法请看我的另一篇文章【SQL sever中用户管理】,里面更详细记录了一些使用方法,链接:http://t.csdnimg.cn/Gi3XR

你可能感兴趣的:(SQL,sever实用笔记,数据库,sql,sqlserver)