SQLSERVER2022创建用户的图文教程

 更新时间:2024年04月22日 09:29:42   作者:kiling1007  
用户是数据库中的实体,用于控制对数据库对象的访问权限,本文主要介绍了SQLSERVER2022创建用户的图文教程,具有一定的参考价值,感兴趣的可以了解一下

一、通过Microsoft SQL Server Management Studio 进入SQL Server,并通过默认的Windows身份验证进入数据库服务器

二、点击数据库,再右键,选择新建数据库,输入数据库名称

三、在数据库里建个表,选择表,右键,新建-表

四、简单随便弄个2列,弄完ctrl s保存表格,测试的数据库弄完。

五、选择安全性-登录名-新建登录名,输入登录名,建议跟Windows本机用户名不一样,以作区分;选择SQL Server身份验证,勾选强制实施密码策略,把强制密码过期和用户在下次登录时必须更改密码取消,默认数据库选择我们刚刚创建的数据库

六、服务器角色页选择public和sysadmin

七、用户映射,确认数据库是否已映射,默认架构是dbo,为了后续学习方便,可以把数据库角色成员身份全选上【实验环境可以这么操作】

八、确认状态是否跟下图一致,一般默认的是不变,搞完点确定,至此,用户侧设置搞定

九、开搞数据库服务器侧,右键本地数据库,选择属性

十、点安全性-服务器身份验证,选择第二个,这一步很重要,很多人只做了前面,没有设置这个,导致自己创建的用户登不上。登不上的报错:sqlserver管道的另一端无任何进程

十一、关掉Microsoft SQL Server Management Studio,打开sql server configuration manager,选择SQL Server服务,右键重启。

十二、重新打开Microsoft SQL Server Management Studio,身份验证选择SQL Server身份验证,输入前面创建的用户名和密码,点一下刚刚创建的表格,右键-选择前1000行,OK,展示表格了。点设计也可以设计表格,权限验证通过

revoke 与 deny的区别

  • revoke:收回之前被授予的权限
  • deny:拒绝给当前数据库内的安全帐户授予权限并防止安全帐户通过其组或角色成员资格继承权限。

比如UserA所在的角色组有inset权限,但是我们Deny UserA使其没有insert权限,那么以后即使UserA再怎么到其他含有Insert的角色组中去,还是没有insert权限,除非该用户被显示授权。

简单来说,deny就是将来都不许给,revoke就是收回已经给予的。

实例

GRANT INSERT ON TableA TO RoleA      GO
EXEC sp_addrolemember RoleA, 'UserA'   GO 
-- 用户UserA将有TableA的INSERT权限
REVOKE INSERT ON TableA FROM RoleA   GO 
-- 用户UserA将没有TableA的INSERT权限,收回权限。  
GRANT INSERT ON TableA TORoleA  GO 
--重新给RoleA以TableA的INSERT权限
DENY INSERT ON TableA TO UserA 
-- 虽然用户UserA所在RoleA有TableA的INSERT权限,但UserA本身被DENY了,所以用户UserA将没有TableA的INSERT权限。
批量删除ms server数据表
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Create date: <2022.03.23>
-- Description:    <批量删除MsServer数据库中以F_开头的用户数据表>
-- =============================================
alter PROCEDURE BatchDeleteTable
AS
BEGIN
DECLARE @cul int 
declare @tablename varchar(50)
declare @dropSql nvarchar(100)
select @cul=COUNT(name) from sysobjects where (left(name,2) = 'F_')  and type='U'
print @cul
 
while @cul>0
  begin
    select @tablename=tb1.name from (select name from sysobjects where (left(name,2) = 'F_')  and (type='U')) as tb1
    set @dropSql='drop table'+' '+@tablename;
    EXECUTE sp_executesql @dropSql 
    select @cul=COUNT(name) from sysobjects where (left(name,2) = 'F_') and type='U'
end
 
END
GO

到此这篇关于SQLSERVER2022创建用户的图文教程的文章就介绍到这了,更多相关SQL创建用户内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • sqlserver 数据库学习笔记

    sqlserver 数据库学习笔记

    sqlserver 数据库学习笔记,学习sqlserver的朋友可以参考下。
    2011-11-11
  • SQL Server的存储过程详解

    SQL Server的存储过程详解

    这篇文章主要为大家介绍了SQLServer的存储过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • SqlServer 表单查询问题及解决方法

    SqlServer 表单查询问题及解决方法

    这篇文章主要介绍了SqlServer 表单查询问题及解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • sql server动态存储过程按日期保存数据示例

    sql server动态存储过程按日期保存数据示例

    ,在sql server存储过程中进行日期计算,按日期建表效率最高,下面就公司项目的部分动态存储过程粘贴出来
    2014-08-08
  • SQL Server 总结复习(一)

    SQL Server 总结复习(一)

    写这篇文章,主要是总结最近学到的一些新知识,这些特性不一定是SQLSERVER最新版才有,大多数是2008新特性,有些甚至是更早。如果有不懂的地方,建议大家去百度谷歌搜搜,本文不做详细阐述,有错误的地方,欢迎大家批评指正
    2012-08-08
  • SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上)

    SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上)

    很多人在查看SQL语句等待的时候都是通过sys.dm_exec_requests查看,等待类型也是通过wait_type得出,sys.dm_os_waiting_tasks也可以看到session的等待那么有什么区别呢....,这篇文章给大家介绍SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上),需要的朋友参考下
    2015-12-12
  • 10种Java开发者编写SQL语句时常见错误

    10种Java开发者编写SQL语句时常见错误

    这篇文章主要介绍了10种Java开发者编写SQL语句时常见错误,当Java开发人员编写SQL语句时,一切都变得不同了。SQL是一种说明式语言,与面向对象思想和命令式思想无关,需要的朋友可以参考下
    2015-08-08
  • SQL Server 远程更新目标表数据的存储过程

    SQL Server 远程更新目标表数据的存储过程

    这篇文章主要介绍了SQL Server 远程更新目标表数据的存储过程,适用于更新列名一致,主键为Int类型,具体实例代码大家参考下本文
    2018-05-05
  • SQL JOIN 连接详细介绍及简单使用实例

    SQL JOIN 连接详细介绍及简单使用实例

    这篇文章主要介绍了SQL JOIN 连接详细介绍及简单使用实例的相关资料,需要的朋友可以参考下
    2017-01-01
  • SQL Server临时表合并与数量汇总的实现方法

    SQL Server临时表合并与数量汇总的实现方法

    不同业务逻辑在中间处理过程中,会产生多个结构类似的临时表,如果希望将这些结果进行合并,并且按相同 id 进行数量汇总,SQL Server 提供了多种实现方式,本文将系统介绍几种常见做法,并给出适用场景,需要的朋友可以参考下
    2025-08-08

最新评论