SQL Server用户的设置与授权
SQL Server用户的设置与授权
SSMS 登陆方式有两种,一是直接使用Windows身份验证,二是SQL Server身份验证。使用SQL Server用户设置与授权不仅可以将不同的数据库开放给不同的用户外,而且可以提供一个通道给其他程序访问。

- 首先设置两个数据库,
test和aaa。实现创建一个pc用户,仅仅授权它访问test的功能

- 先对SSMS设置否则其默认是不提供给任何用户访问的。1、对数据库实例的属性进行设置:右键“数据库服务器”---属性---安全性,设置服务器身份验证=“SQL Server 和 Windows身份验证模式”,设置登录审核=“失败和成功的登录”,点击确定。


- 在SQL数据库中进行如下查询:
--创建账户:
--登录账户名:pc 密码:123456
--默认连接到的数据库:test
create login pc with password='123456',default_database=[test];
--此时,pc账户可以连接到SQL Server服务器上,但此时还不能访问数据库中的对象
--严格说,此时pc账户默认是guest数据库用户身份,可以访问guest能够访问的数据库对象
--指定数据库用户pc的默认模式是dbo
--相当于用户pc执行select * from t,实际上执行的是select * from dbo.t
--是查询补加dbo.前缀是为了与低版本SQL Server导过来的表相同
create user pc for login pc with default_schema=[dbo];
--在test数据库中,通过加入数据库角色,赋予数据库用户“db_owner”权限
--此时pc可以随意操作数据库test
use [test];
go
exec sp_addrolemember 'db_owner','pc';
go

该段SQL语句秉承微软数据库的所有传统,凡是涉及表名、数据库名都用 [ ] 表明,以免触发系统的关键字。
go 字段用于确保 use [test] 和 exec语句不分裂,否则 sp_adrolemember 这个SQL 保留的存储过程是无法执行的,找不到你所指定的数据库
关于dbo :dbo默认用户也是架构,dbo作为架构是为了更好的与2000兼容,这样2000中的代码移植到2005中就不会报错,dbo 在2005中是默认的架构,创建表时,如不指定架构则默认属于dbo为架构
- 执行后查看结果如下。在SSMS对象资源管理器--安全性--登录名中多了用户 pc 查看其属性--用户映射,可以看到test被用户pc映射,且其身份是db_owner,意即数据库拥有者。

- 但此时还不能用pc账号登录SQL。在服务器属性--连接---设置允许远程连接,在SQL Server配置管理器中允许TCP/IP 和 Named Pipes

- 重启,使用之前在sql语句中设置的用户名pc 和密码123456,选择 SQL Server 验证方式登录。

- 登录该账户后默认登陆在数据库test中,如果你要试图打开其他未授权数据库或者使用
use aaa;则会出现如下结果


- 删除账户。如果不需要这个pc账户了,可以在使用Windows身份验证登录SSMS后,执行以下代码,执行后pc就被删除了。
--删除数据库用户
drop user pc;
--删除 SQL Server 登录账户
drop login pc;
sa用户登录

安装SQL Server时设置了一个超级管理员 super administrator(sa),但在SQL Server中并不能像其他数据库的root账户一样直接用来登录。
若要使用 sa 来登录则必须进行如下设置:
- 设置 sa 的属性 允许登录

- 在属性--常规中,取消“强制实施密码策略”

- 使用sa账号和密码重新登录


SQL Server用户的设置与授权的更多相关文章
- 如何对SQL Server 2005进行设置以允许远程连接(转载)
如何对SQL Server 2005进行设置以允许远程连接(转载) 在尝试从远程计算机连接到 Microsoft SQL Server 2005 实例时,可能会接收到错误消息.在使用任何程序连接到 S ...
- SQL Server 2005中设置Reporting Services发布web报表的匿名访问
原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问 一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services ...
- 2008 SQL SERVER 用户 架构
2008 SQL SERVER 用户: SERVER用户与数据库用户 SERVER 与 数据库用户的映射,以使 登陆用户可访问数据库 架构等同于SCHEM (表空间),即表空间管理对象,建立层次对象关 ...
- 应用C#和SQLCLR编写SQL Server用户定义函数
摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用.文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割 ...
- 【关于服务器端SQL Server 2008的设置】 使其他客户端机可通过ODBC数据源可访问
服务器系统:Server 2003 数据库:SQL Server 2005 服务器配置:开启服务:server.workstation(这两个服务对于提供局域网共享有很大作用) 关闭防火墙 开启gue ...
- sql server 用户'sa'登录失败(错误18456)(转载)
转载地址:http://thenear.blog.51cto.com/4686262/865544 用户'sa'登录失败(错误18456)解决方案图解 当我们在使用sql server 的时候可能会遇 ...
- 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证
背景 在需要进行表单认证的Asp.NET 5 MVC项目被创建后,往往需要根据项目的实际需求做一系列的工作对MVC 5内建的身份验证机制(Asp.NET Identity)进行扩展和定制: Asp.N ...
- SQL Server使用证书最小粒度授权
最近在项目中某个功能遇到了阻塞造成的Time out错误.所以需要在执行该功能的时候开启一个线程检测SQL Server中阻塞会话.但是程序本身使用的sql帐号本身不具备VIEW Sever Stat ...
- sql server 用户创建与权限管理
要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:一.获得准许连接 SQL Server 服务器的权利: 二.获得访问特定数据库中数据的权利(select, update, ...
- sql server 用户'sa'登录失败(错误18456)
转载于:http://thenear.blog.51cto.com/4686262/865544 用户'sa'登录失败(错误18456)解决方案图解 当我们在使用sql server 的时候可 ...
随机推荐
- iOS中容易用错的常用知识点
坐标系转换 ios中的坐标系有三种 视图坐标系:原点(0,0)视图的左上角 窗口坐标系:原点(0,0)窗口的左上角 世界坐标系:原点(0,0)游戏中世界的原点 平时开发中经常会遇到转UIWindow坐 ...
- 浅谈 ByteHouse Projection 优化实践
预聚合是 OLAP 系统中常用的一种优化手段,在通过在加载数据时就进行部分聚合计算,生成聚合后的中间表或视图,从而在查询时直接使用这些预先计算好的聚合结果,提高查询性能,实现这种预聚合方法大多都使用物 ...
- CANoe学习笔记(六):如何实现LIN和CAN的多帧传输-----LIN
内容: 1.实现LIN的多帧传输 一.新建一个基于LIN的CANoe工程 二.接下来创建一些工程用得上的变量.文件: 2.1 LDF文件: 这部分注意:包含三个调度表,①3C诊断请求帧②3D诊断响应帧 ...
- CHATGPT制作AI绘画
CHATGPT是一种基于机器学习和自然语言处理技术的人工智能应用.它可以生成自然语言文本,并且可以通过训练来学习各种不同的技能. 其中,CHATGPT制作AI绘画指的是将CHATGPT应用于绘画领域, ...
- 国标平台视频流抓取及rtp包解析
最近遇到国标平台无法播放视频流的问题.需要检查视频接收端和播放端视频的收包和发包是否正常.但是只看pcap文件不是很直观,所以将pcap文件中的rtp包解析出来,用播放器将视频播放出来,以更直观的判断 ...
- 未来的编程语言「GitHub 热点速览」
又一个编程语言火了,不算新,因为它已经开发了一段时间.不过在本周 Hacker News 上风头十足,DreamBerd 除了有点意思的改 ; 分隔符为 !,之外,它还能让你用问号来标注一段你也不确定 ...
- 跑得更快!华为云GaussDB以出色的性能守护“ERP的心脏”
摘要:GaussDB已经全面支撑起MetaERP,在包括库存服务在内的9大核心模块中稳定运行,端到端业务效率得到10倍提升. 本文分享自华为云社区<跑得更快!华为云GaussDB以出色的性能守护 ...
- Djiango 创建迁移项报错query = query.decode(errors='replace') AttributeError: 'str' object has no attribute 'decode'
在终端命令行创建迁移项 输入(python manage.py makemigrations) 或(python manage.py migrate)时出现报错信息:Traceback (most r ...
- Hexo博客Next6.0版本主题配置(背景图片加载、侧边栏社交小图标设置、设置网站图标)
随机背景图片加载 原理 自动更换背景是修改添加背景的css样式实现 图片来源 https://source.unsplash.com/ 修改背景样式 修改themes\next\source\css\ ...
- Composer 镜像原理 (2) —— composer.json
相关文章 Composer 镜像原理 (1) -- 初识 Composer Composer 镜像原理 (2) -- composer.json Composer 镜像原理 (3) -- 完结篇 有使 ...