SQL SERVER 如何切换 登入的 用户
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER 如何切换 登入的 用户相关的知识,希望对你有一定的参考价值。
selectsuser_name()
登录名,HOST_NAME()
机器名,APP_NAME()
应用程序名
你肯定是数据库所有者以上的权限,所以是dbo用户,代表拥有者 参考技术A 难道你是用
操作系统认证方式,
来登录到系统的么?
使用操作系统验证的情况下:
1>
select
user
2>
go
------------------
dbo
(1
行受影响)
1>
SELECT
SESSION_USER
2>
go
-----------------------
dbo
(1
行受影响)
1>
select
CURRENT_USER
2>
go
---------------------------
dbo
(1
行受影响)
1>
select
system_user
2>
go
------------------------------
TESTPC\Edward
(1
行受影响)
使用SQL
Server
验证的情况下:
C:\>sqlcmd
-S
"localhost\SQLEXPRESS"
-U
test_user
密码:
1>
use
test
2>
go
已将数据库上下文更改为
'test'。
1>
select
user
2>
go
------------------------------------------------
test_user
(1
行受影响)
1>
select
SESSION_USER
2>
go
------------------------------------------------
test_user
(1
行受影响)
1>
select
CURRENT_USER
2>
go
------------------------------------------------
test_user
(1
行受影响)
1>
select
system_user
2>
go
-----------------------
test_user
(1
行受影响) 参考技术B 运行
cmd
如果第一次处理直接录入
sqlplus
回车
录入用户名
回车录入
用户密码;
进入便可以执行一些命令了,
例如:
sql>
show
parameter
sga
sql>
show
parameter
pga
OS版本及ORACLE版本:
sql>
select
banner
from
v$version;
若切换另外一个用户就要断掉当前的登录
discon
回车键
若再连接其他用户
conn
回车键再录入其他登录用户信息即可
如果要连接指定的数据库,根据本地tnsnames.ora
中定义的服务名称进行连接用户即可
sql>
connect
用户名/密码@网络服务名(不是全局数据库名或实例SID对应名称).
如何限制root远程登入,使普通用户拥有root权限
需求 限制rootu远程登入 只允许普通用户登入
使用su 、 sudo 来实现
首先创建普通用户
useradd user1 创建一个用户
passwd user1 创建密码
然后打开文件定义User_Alias
visudo 执行该命令 如图所示
然后在指定规则 如图所示
保存退出
验证
su - user1 验证切换用户
sudo su - 切换之后再次切换回root
然后限制root无法进行远程登入
vim /etc/ssh/sshd_config 打开文件
搜索关键字Root找到图中行 如图所示 设置成禁止root进行远程登入
重启ssh 服务
systemctl restart sshd
重启之后然后使用远程工具使用root登入 (远程工具如xshell putty等)
这时是无法登入的 使用上面创建的user1 登入
登入之后随便执行一个命令 如ls 发现权限不够
此时在不知道root的密码的前提下如何使用
使用su 、 sudo 来实现
sudo su - root 执行 即可切换验证 是否可以使用命令 如图所示
以上是关于SQL SERVER 如何切换 登入的 用户的主要内容,如果未能解决你的问题,请参考以下文章
在存储过程中通过用户的默认架构进行访问时,在SQL Server中切换用户失败