基于SqlServer下的授权访问,跨主机,以及权限分配
1.开放自己所安装的数据库远程访问权限;给要访问的服务器中,安全中设置登录方式为sql server和windows验证方式登录登录sa账户后,在状态栏中,允许连接到数据库引擎2.创建一个用户,授予其访问数据库权限;–创建登录账户create login xuniji with password=‘123456’主机充当客户机时候,用sa账户登录访问虚拟机的服务器用的是主机的(192.168.1.
1.开放自己所安装的数据库远程访问权限;
给要访问的服务器中,安全中设置登录方式为sql server和windows验证方式登录
登录sa账户后,在状态栏中,允许连接到数据库引擎
2.创建一个用户,授予其访问数据库权限;
–创建登录账户
create login xuniji with password=‘123456’
主机充当客户机时候,用sa账户登录访问虚拟机的服务器
用的是主机的(192.168.1.2)的DBMS,账户sa,要访问的地址是192.168.1.3
用xuniji这个账户登录时候,并未授权的情况下禁止登录访问数据库
授权后:
use Company 这条语句不可缺少,如果是让登录用户访问特定的数据库
–创建数据库用户
create user xuniji for login xuniji with default_schema=dbo
访问所有的数据库: 访问所有的数据库则不用添加 use company
EXEC sp_grantdbaccess ‘xuniji’
GO
可以访问了
3.将一个或多个特定表的查询和插入权限组成角色,并授予给该用户;
grant select,insert on Department to xuniji
grant select,insert on Employees to xuniji
该条语句是把查询和插入的权限给xuniji这个角色名字,也可以说是登录名,因为之前我创建过一个xuniji的角色名和一个虚拟机的登录名,已经建立过映射关系,所以这里不需要再进行映射了
经过授权后插入和查询都能执行成功,这里授权是用主机sa账户进行授权的,而我进行插入和查询是用xuniji这个账户进行的。
4.在全班或小组中选择一个合作伙伴,让其通过已设置好的用户远程访问,并完成和插入
操作;
我用了3中方法实现:
一、第一种通过虚拟机建立一个模拟的环境(windows7x64位,sqlserver2012)。
二、第二种是用两根网线进行直连电脑即可
三、第三种通过路由器下的局域网进行连接
1、使用要建立远程访问的两台机器必须在一个网段。
主机和虚拟机(需要访问的机器)两者必须要在一个网段内
我设置的网关是192.168.1.1
主机IP地址为192.168.1.2
虚拟机IP地址为192.168.1.3
其中192.168.1.0不能设置,因为这个是广播地址
子网掩码设置为255.255.255.0(子网掩码用来分配地址空间的)
我的地址空间分配空间为2~254号段内的机器都可以互相访问。
虚拟机:IP地址
W1064位主机IP地址:
(环境建立完毕后通过命令ping 进行ping通)
2、一般windows7环境下,不用改端口有默认情况下是1433端口,但是我主机(windows10,sqlserver12)端口不是1433需要用到sqlserver配置管理器中进行配置
Windows10环境下一般默认端口是空的的,可以在IPall中设置为1433。
3、用用户名和密码进行登录操作其中sa登录一般是最高权限的用户,一般在需要访问的目标机器中设置登录名(这个登录名一般不是sa):
虚拟机(192.168.1.3)上数据库Company323没有建表
5.收回表的插入权限。
当我执行完删除授权后,则不能再进行插入了:
更多推荐
所有评论(0)