SQL Server用户的设置与授权

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

  • 首先设置两个数据库,testaaa。实现创建一个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用户的设置与授权的更多相关文章

  1. 如何对SQL Server 2005进行设置以允许远程连接(转载)

    如何对SQL Server 2005进行设置以允许远程连接(转载) 在尝试从远程计算机连接到 Microsoft SQL Server 2005 实例时,可能会接收到错误消息.在使用任何程序连接到 S ...

  2. SQL Server 2005中设置Reporting Services发布web报表的匿名访问

    原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问 一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services ...

  3. 2008 SQL SERVER 用户 架构

    2008 SQL SERVER 用户: SERVER用户与数据库用户 SERVER 与 数据库用户的映射,以使 登陆用户可访问数据库 架构等同于SCHEM (表空间),即表空间管理对象,建立层次对象关 ...

  4. 应用C#和SQLCLR编写SQL Server用户定义函数

    摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用.文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割 ...

  5. 【关于服务器端SQL Server 2008的设置】 使其他客户端机可通过ODBC数据源可访问

    服务器系统:Server 2003 数据库:SQL Server 2005 服务器配置:开启服务:server.workstation(这两个服务对于提供局域网共享有很大作用) 关闭防火墙 开启gue ...

  6. sql server 用户'sa'登录失败(错误18456)(转载)

    转载地址:http://thenear.blog.51cto.com/4686262/865544 用户'sa'登录失败(错误18456)解决方案图解 当我们在使用sql server 的时候可能会遇 ...

  7. 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证

    背景 在需要进行表单认证的Asp.NET 5 MVC项目被创建后,往往需要根据项目的实际需求做一系列的工作对MVC 5内建的身份验证机制(Asp.NET Identity)进行扩展和定制: Asp.N ...

  8. SQL Server使用证书最小粒度授权

    最近在项目中某个功能遇到了阻塞造成的Time out错误.所以需要在执行该功能的时候开启一个线程检测SQL Server中阻塞会话.但是程序本身使用的sql帐号本身不具备VIEW Sever Stat ...

  9. sql server 用户创建与权限管理

    要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:一.获得准许连接 SQL Server 服务器的权利: 二.获得访问特定数据库中数据的权利(select, update, ...

  10. sql server 用户'sa'登录失败(错误18456)

    转载于:http://thenear.blog.51cto.com/4686262/865544 用户'sa'登录失败(错误18456)解决方案图解     当我们在使用sql server 的时候可 ...

随机推荐

  1. python 学习 ---函数(带参数)

    函数式编程最重要的是增强代码的重用性和可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函 ...

  2. 4、数据库:MySQL部署 - 系统部署系列文章

    MySQL数据库在其它博文中有介绍,包括学习规划系列.今天就讲讲MySQL的部署事情. 一.先下载MySQL数据库: 到下面这个网址去下载数据库,这里下载的社区版: https://dev.mysql ...

  3. 【理论积累】Python中的Pandas库【一】

    Pandas库介绍 Pandas 是一个用于数据分析的 Python 第三方库,能够处理和分析不同格式的数据,例如:CSV.Excel.SQL 数据库等.Pandas 提供了两种数据结构,分别为 Se ...

  4. 【Netty】02-入门

    二. Netty 入门 1. 概述 1.1 Netty 是什么? Netty is an asynchronous event-driven network application framework ...

  5. CF1770F Koxia and Sequence

    一步都没想到,一定是状态不好吧,一定吧一定吧? 加训数数! 题意 给定 \(n, x, y\),定义好的序列 \(\{a_i\}_{i = 1}^n\) 满足 \(\sum\limits_{i = 1 ...

  6. 前端Vue分享菜单按钮弹框、微博分享、QQ分享、微信好友、朋友圈

    前端Vue分享菜单按钮弹框.微博分享.QQ分享.微信好友.朋友圈 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13085 效 ...

  7. 前端仿京东、天猫带搜索历史搜索栏搜索框searchBar

    快速实现前端仿京东.天猫带搜索历史搜索栏搜索框searchBar, 使用简单便利, 请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12529 ...

  8. 教你学会使用Angular 应用里的 export declare const X Y

    摘要:export declare const X: Y语法用于在Angular应用程序中声明一个具有指定类型的常量变量,并将其导出,以便在其他文件中使用. 本文分享自华为云社区<关于 Angu ...

  9. GGTalk 开源即时通讯系统源码剖析之:数据库设计

    自从<开源即时通讯GGTalk 8.0发布,增加Linux客户端,支持在统信UOS.银河麒麟上运行!>一文在博客园发布后,有园友联系我QQ,说能不能整理个更系统更详细地介绍GGTalk源码 ...

  10. 《Effective C++ 改善程序与设计的55个具体做法》读书笔记

    1 .让自己习惯C++ 条款01 视C++为一个语言联邦 C Object-Oriented C++ Template C++ STL C++高效编程守则视情况而变化,取决于你使用C++的哪一部分. ...