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. Android如何进行单元测试

    Menifest.xml中加入: <application>中加入: <uses-library android:name="android.test.runner&quo ...

  2. jquery中怎样防止冒泡事件

    jquery中怎样防止冒泡事件 1.利用event.stopPropagation() 2.利用return false 3.利用event.preventDefault()

  3. c#生成AVI自动设置压缩格式,不调用AVISaveOptions

    工作中遇到生成AVI视频的项目,代码中会调用AVISaveOptions来设置压缩格式,针对单个文件还好说,但是批量生成视频的时候,每一个都要设置格式, 体验不是很好,经过查询资料问题得到解决 最开始 ...

  4. lamdba匿名函数 sored()函数 filter()函数 map函数() 递归函数

    帅爆太阳的男人 1,lamdba匿名函数:为了解决一下简单的需求而设计的一句话函数,语法: 函数名 = lambda 参数: 返回值 def func(n): return n*n print(fun ...

  5. YTU 2631: B1 能存各种类型数据的Store类

    2631: B1 能存各种类型数据的Store类 时间限制: 1 Sec  内存限制: 128 MB 提交: 245  解决: 177 题目描述 有一种类,海纳百川,可以对任意类型的数据进行存取,造就 ...

  6. android获取手机的IMSI码

    android--获取手机的IMSI码,并判断是中国移动\中国联通\中国电信转载 TelephonyManager telManager = (TelephonyManager) getSystemS ...

  7. python-----重命名文件(在原文件名前加0)

    问题描述: 如果用循环给文件命名,则文件名就会是1,2,3...,10,11,12,13...,100,101...,但是遍历这些文件时,顺序就会变成1,10,100,101,...109,11,.. ...

  8. 【废弃中】【WIP】JavaScript 数组

    创建: 2018/01/22 更新: 2018/05/20 把此博文加入[javascript]分类, 原来忘记了 废弃: 2019/02/19 重构此篇.原文归入废弃  增加[废弃中]标签与总体任务 ...

  9. vue学习笔记(1)

    1.检测变化 <ul> <li v-for="item in list">{{item}}</li> </ul> <scrip ...

  10. 10.13NOIP模拟题

    /* 容斥原理 考虑到a[i]要么不会太大,要么就对答案贡献很小 dfs即可 */ #include<bits/stdc++.h> #define ll long long #define ...