一、创建数据库dream
CREATE DATABASE dream;
二、创建登录用户XZS
法一:使用SSMS创建
通过查询 sys.syslogins 系统视图来确定当前登录是否具有系统管理员权限。执行以下查询语句:
SELECT name, isntname FROM sys.syslogins WHERE sysadmin = 1;
选择管理员账户--【安全性】--【登录名】--右键--【新建登录名】
打开 登录名-新建 页面,按顺序输入需求。
法二:使用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;
上述命令将在 "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');
查询使用了 USER_ID
函数,它将根据用户名获取相应的用户 ID,并通过与 "sys.database_permissions" 系统视图中 "grantee_principal_id" 列进行比较来检索权限信息。
或者登录该用户测试验证:
如果对存储过程授予执行权限,可以执行命令:
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 sever中用户管理】,里面更详细记录了一些使用方法,链接:http://t.csdnimg.cn/Gi3XR