惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
L
LangChain Blog
C
Check Point Blog
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
美团技术团队
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog
G
Google Developers Blog
The Cloudflare Blog
P
Proofpoint News Feed

博客园 - David

微创急聘实习生1名 有感于最近一个朋友买股票大亏 从数据表中取出第n条到第m条的记录的方法 dts无法识别Excel中的数字列?(续) dts无法识别excel中的数字值? 如何在定义游标的时候使用动态sql语句? Sql2005 Beta3 Reporint Service问题1 -Row的Grouping属性无法取消 微创急聘实习生1名 批量insert数据 sql server多表关联update Asp.ne页面提交时,动态生成的UserControl消失了。 用css filter做颜色渐变的问题 从sql2000导入数据到sql2005的问题 果然是.net写的 为啥Sql 2005 Management Studio 这么慢?? How to run DTS at sqlserver2005 用WebDav调用Exchange发信(2)-使用他人名义 傻×的Yukon Beta3安装程序 Teched初体验(第一天)
获得SqlServer数据库连接信息
David · 2005-11-18 · via 博客园 - David

/*--获取连接SQL服务器的信息 

所有连接本机的:操作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名 
-
*/
 

/*--调用示例 
--显示所有本机的连接信息 
exec p_getlinkinfo 

--显示所有本机的连接信息,包含ip地址 
exec p_getlinkinfo @includeip=1 

--显示连接指定数据库的信息 
exec p_getlinkinfo '客户资料' 
--
*/
 
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_getlinkinfo]') and OBJECTPROPERTY(id, N'IsProcedure'= 1
drop procedure [dbo].[p_getlinkinfo] 
GO 

create proc p_getlinkinfo 
@dbname sysname
=null--要查询的数据库名,默认查询所有数据库的连接信息 
@includeip bit
=0 --是否显示IP地址,因为查询IP地址比较费时,所以增加此控制 
as 
declare @dbid 
int 
set @dbid=db_id(@dbname) 

create table #tb(id 
int identity(1,1),dbname sysname,hostname nchar(128),loginname nchar(128),net_address nchar(12),net_ip nvarchar(15),prog_name nchar(128)) 
insert into #tb(hostname,dbname,net_address,loginname,prog_name) 
select distinct hostname,db_name(dbid),net_address,loginame,program_name from master..sysprocesses 
where hostname
<>'' and (@dbid is null or dbid=@dbid) 

if @includeip=0 goto lb_show --如果不显示IP地址,就直接显示 

declare @sql varchar(
500),@hostname nchar(128),@id int 
create table #ip(hostname nchar(
128),a varchar(200)) 
declare tb cursor local 
for select distinct hostname from #tb 
open tb 
fetch next from tb into @hostname 
while @@fetch_status=0 
begin 
set @sql='ping '+@hostname+' -a -n 1 -l 1' 
insert #ip(a) exec master..xp_cmdshell @sql 
update #ip 
set hostname=@hostname where hostname is null 
fetch next from tb into @hostname 
end 

update #tb 
set net_ip=left(a,patindex('%:%',a)-1
from #tb a inner join ( 
select hostname,a
=substring(a,patindex('Ping statistics for %:%',a)+20,20) from #ip 
where a like 
'Ping statistics for %:%') b on a.hostname=b.hostname 

lb_show: 
select id,数据库名
=dbname,客户机名=hostname,用户名=loginname 
,网卡物理地址
=net_address,IP地址=net_ip,应用程序名称=prog_name from #tb 

go

或者直接查master库里面的sysprocesses表