这两个查询之间有什么区别:
select hostname,* from sys.sysprocesses where spid = @@SPID;
select host_name()
可能是第二个,用户执行查询所需的权限较少。
答案 0 :(得分:1)
从权限的角度来看没有区别。两个查询都可以完全没有权限执行。
来自sys.sysprocesses (Transact-SQL):
如果用户对服务器具有
VIEW SERVER STATE
权限,则为该用户 将在SQL Server实例中看到所有正在执行的会话; 否则,用户只会看到当前会话。
在这两种情况下,范围只是当前会话,因此没有区别,也不需要许可。