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. APICloud平台的融云2.0集成

    融云2.0的官方文档地址:http://docs.apicloud.com/端API/开放SDK/rongCloud2 项目须要IM模块,最后还是选择了融云.在iOS原生开发中,融云sdk集成了聊天界 ...

  2. 鸟哥的Linux私房菜-----9、vi文本处理器

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  3. 【HNOI模拟By lyp】Day2

    1 toad1.1 题目描述 有 n 个石子, A B 两人博弈, A 先手. A 首先取若干个石子(至少一个,不能取完),然后B和A 再轮流取石子,每次取的石子不能超过 axb ( x 表示上次取的 ...

  4. [翻译]NUnit---Action Attributes(八)

    Attributes NUnit 1.0使用传统的基于继承和命名约定来识别测试.从2.0开始NUnit使用自定义特性来实现. 因为NUnit的test fixtures不是从框架类库继承,所以开发人员 ...

  5. jquery easyui-datagrid手动增加删除重置行

    1.实现的效果图如下 2.界面: <div region="center">         <table id="tt">       ...

  6. Jquery ajax json 值回传不了

    今天调试系统的时候,MVC 框架下调用ajax 值,回传的json值获取不到,后来发现竟然是服务没开,郁闷不已,留个截图,做个纪念.

  7. Java序列化系列教程(上)

    一定义以及相关概念 互联网的产生带来了机器间通讯的需求,而互联通讯的双方需要采用约定的协议,序列化和反序列化属于通讯协议的一部分.通讯协议往往采用分层模型,不同模型每层的功能定义以及颗粒度不同,例如: ...

  8. E20170603-ts

    sanitize vt. 净化; 进行消毒; 使清洁; 审查; omission  n. 遗漏; 疏忽; 省略,删节; [法] 不履行法律责任; separator   n. 分离器,分离装置; 防胀 ...

  9. Linux 用户管理(2)

    Linux 用户管理2 添加修改和删除用户,必须是超级管理员root账号才可以进行的操作,所以当当前账号不是超级管理员root账号时,首先要先切换为root账号. 如图,ylq为普通用户,执行添加用户 ...

  10. GitHub中有关已建仓库及上传项目文件的删除

    上传了项目,竟然发现找不到删除的地方,真是囧... 1. 已建仓库的删除 点击 settings,进入以下界面,点击箭头指向的按钮 进入以下界面 2. 某个文件的删除 直接点开文件,在右上角有个删除工 ...