只知道字段名,查询哪些表有该字段:假如字段名为Index
select sysobjects.name as tablename,syscolumns.name as columnname
from syscolumns join sysobjects on sysobjects.id = syscolumns.id
where syscolumns.name like '% Index%'
查询数据库中所有的表名:
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'
查看储存过程的内容:
按名查找存储过程:
EXEC Sp_HelpText '存储过程名';
按内容查找存储过程:
select b.name from kbmp.dbo.syscomments a,kbmp.dbo.sysobjects b where a.id=b.id and b.xtype='p' and a.text like '%if_check%';
跨数据库查询
--1.建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
EXEC master.dbo.sp_addlinkedserver @server = N'Link',
@srvproduct='ms',
@provider=N'SQLNCLI',
@datasrc=N'远程服务器ip,端口'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'用户名',
@rmtpassword='密码'
--2.查询数据
select * from Link.[数据库名].[dbo].[表名];
Link 是自定义的名字,下次再需要读取Link的数据库时只需要第二步,第一个可省略
PS:转载请注明出处。