Microsoft SQL Server 安全与权限


登陆角色

计算机操作系统用户

--创建Windows身份验证用户
USE [master]
GO
CREATE LOGIN [计算机名称\计算机用户名称] FROM WINDOWS WITH DEFAULT_DATABASE=[数据库名称], DEFAULT_LANGUAGE=[简体中文]
GO
--添加为db_owner成员
USE [数据库名称]
GO
EXEC sp_addrolemember 'db_owner',[计算机名称\计算机用户名称]
GO

数据库系统用户

--创建数据库系统用户
CREATE LOGIN 数据库系统用户名 WITH PASSWORD = '密码',DEFAULT_DATABASE = master
GO
--添加为数据库访问成员
USE [数据库名称]
GO
CREATE USER 数据库系统用户名 FOR LOGIN 数据库系统用户名
GO

服务器系统角色

--系统存储过程sp_addsrvrolemember可将一登录账号添加到某一固定服务器角色中,使其成为固定服务器角色成员。
EXEC sp_addsrvrolemember '用户名','角色'
GO
--系统存储过程sp_dropsrvrolemember可从固定服务器角色中删除SQL Server 登录账号或Windows NT用户或组。
EXEC sp_dropsrvrolemember '用户名','角色'
GO

数据库系统角色

--使用系统存储过程查看数据库角色
EXEC SP_HELPdbfixedrole
GO

赋予用户表权限

--授予用户对表进行查询插入修改删除及再授权给其它用户;
GRANT SELECT,INSERT,UPDATE,DELETE
    ON [dbo].[表名]
TO 用户名
WITH GRANT OPTION

赋予用户存储过程权限

--授予用户对存储过程的权限
GRANT EXECUTE ON 存储过程名 TO 用户名;

禁止用户对表的权限

--禁止用户对表进行查询插入修改删除
DENY SELECT,INSERT,UPDATE,DELETE
    ON [dbo].[表名]
TO 用户名 CASCADE;

收回用户表权限

--撤销用户对表进行查询插入修改删除权限;
REVOKE SELECT,INSERT,UPDATE,DELETE
ON [dbo].[T_Financial_Accounts]
FROM aa CASCADE;

若一个小组共5个成员,他们对学生课程数据库具有相同的操作权限,具体权限如下:

1)   对于student、course表只能进行数据查询;

2)   只能对student表中sname进行更改;

3)   对于sc表只能进行修改、删除或插入;

如何设置这个小组,并赋予他们权限

Use 学生课程数据库

create  role  xiaozu

1)grant select,

on table dbo.student,dbo.course

to xiaozu

2) grant update(sname),

on table dbo.student

to xiaozu

3) grant update,delete,insert

on table dbo.sc

to xiaozu

exec sp_addrolemember 'xiaozu', 'stu1'

exec sp_addrolemember 'xiaozu', 'stu2'

exec sp_addrolemember 'xiaozu', 'stu3'

exec sp_addrolemember 'xiaozu', 'stu4'

exec sp_addrolemember 'xiaozu', 'stu5'

10. 将登录帐号zhang、stu1、stu2和stu3加入到服务器角色sysadmin中;考虑并回答,它们将有哪些变化?

EXEC sp_addsrvrolemember ' zhang ', 'sysadmin'

EXEC sp_addsrvrolemember ' stu1 ', 'sysadmin'

EXEC sp_addsrvrolemember ' stu2', 'sysadmin'

EXEC sp_addsrvrolemember ' stu3 ', 'sysadmin'

11. 将登录帐号cheng同时拥有服务器角色serveradmin 和 securityadmin的权限;

EXEC sp_addsrvrolemember ' cheng ', 'serveradmin'

EXEC sp_addsrvrolemember 'cheng ', 'securityadmin'

12. 删除服务器角色sysadmin的成员stu2和stu3;

EXEC sp_dropsrvrolemember 'stu1', 'sysadmin'

EXEC sp_dropsrvrolemember 'stu2', 'sysadmin'

SSMS修改SA密码

alter login sa with password = 'zl123456'
go

CMD命令修改sa密码

1.列出SQL SERVER服务器

osql -L

2.命令行操作数据库

OSQL -S SQL服务器名称 -E

1> sp_password NULL,1234,'sa'
2> go

SQLCMD修改SA密码及登录

sqlcmd -U sa -P oldpassword -Z newpassword

SQLCMD -S ipaddress -U sa -P password -d databasename

Microsoft SQL Server 安全与权限的更多相关文章

  1. SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)

    在SSMS(Microsoft SQL Server Management Studio)里面,查看数据库对应的表的时候,会遇到"Lock Request time out period e ...

  2. 无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法

    无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问.)” (Microsoft SQL Server,错误: 5120)的解决方法   问题描述: 在附加数据库到sql server时,附 ...

  3. Microsoft SQL Server,附加数据库 错误:Error 916解决方法

    错误信息:错误提示:标题: Microsoft SQL Server Management Studio Express ——————————  无法为此请求检索数据. (Microsoft.SqlS ...

  4. 理解SQL Server中的权限体系(下)----安全对象和权限

    原文:http://www.cnblogs.com/CareySon/archive/2012/04/12/SQL-Security-SecurableAndPermission.html 在开始阅读 ...

  5. [原创]从Oracle和Microsoft Sql Server迁移到PostgreSQL Plus Advanced Server

    一.了解PPAS的迁移方式1.在线迁移和离线迁移使用Migration Studio或Migration Toolkit直接向PPAS数据库进行对象定义和数据表中数据的迁移称为在线迁移,生成要迁移对象 ...

  6. 使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务

    使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务 作者:Nikolay Manchev 分步构建一个跨这些平台的 ...

  7. Microsoft SQL Server Product Samples:Database

    从SQL Server 2005 之后示例数据都为AdventureWorks,需要的通过codeplex网站下载.这样设计的目的应该在于是生产库行不必要的用户以及权限分配. 从以下网址访问http: ...

  8. Microsoft SQL Server 管理 (常用管理及维护命令)

    --查询当前连接的实例名 select @@servername --察看任何数据库属性 sp_helpdb master --设置单用户模式,同时立即断开所有用户 alter database No ...

  9. Microsoft SQL Server 数据库 错误号大全

    panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...

随机推荐

  1. 读书笔记:Information Architecture for the World Wide Web, 3rd Edition 北极熊 第一部分 1-3

    Introducing Information Architecture 信息架构简介 Chapter 1 Defining Information Architecture 信息架构的意义(我们盖房 ...

  2. 混合使用Delphi和C ++(附下载)

    您想将C ++添加到Delphi应用程序中吗?或者将Delphi代码添加到C ++应用程序中?这是如何做. 您可能不知道的一件事是如何在RAD Studio中集成C ++和Delphi语言.您可以将单 ...

  3. [bzoj3073]Journeys

    https://www.zybuluo.com/ysner/note/1295471 题面 \(Seter\)建造了一个很大的星球,他准备建造\(N\)个国家和无数双向道路.\(N\)个国家很快建造好 ...

  4. bzoj2521

    最小生成树+最小割 ...我太zz了,没看出来全体减1是一个加1,看见后就是sb题了... 我们发现根据克鲁斯卡尔的过程,我们把边从小到大加入,如果两点已经相连就跳过,那么我们把所有小于等于这条边的边 ...

  5. git回到没push的commit

    创建: 2017/10/28   merge master以后数据库出了问题,改好以后发现view有点问题,commit以后没提交就reset了.过后才想起来怎么回去???吓成狗,索性找到了下面这个. ...

  6. 0627-TP整理三(对表的操作,数据的显示)

    一.对表的操作 直接sql语句:(query/execute) 1.查询: 查询所有:M('表名')->select(); 查询一条数据:M('表名')->find(); 条件查询: 动态 ...

  7. P3154 [CQOI2009]循环赛

    传送门 双倍经验题->这里 //minamoto #include<bits/stdc++.h> #define ll unsigned long long #define R re ...

  8. [Swift]通天遁地Swift

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. Android框架式编程之EasyPermissions

    EasyPermission库是一个谷歌官方提供的简化基本的系统权限逻辑的库,可用于在Android M或者更高版本上. 官方项目地址:https://github.com/googlesamples ...

  10. open_basedir 报错

    Warning: require(): open_basedir restriction in effect. File(/home/www/blog/vendor/autoload.php) is ...