搜尋sql server中的所有表和所有列

2021-09-05 21:58:27 字數 1116 閱讀 9965

我們平時做調查的時候,經常會疑惑某個資料到底是從哪來的,往往使用事件檢視器之類的捕捉sql來找,其實我們也可以用下邊這條sql試試。不過在資料量大的時候確實是比較慢。

drop table #

declare @t  varchar(255),@c  varchar(255)

create table # (name varchar(256),cols varchar(4000))

declare  table_cursor  cursor  for 

select  a.name,b.name  from  sysobjects  a,syscolumns  b 

where  a.id=b.id  and  a.xtype='u' and b.xtype in (35,99,167,175,231,239)

--上邊這幾個數字是我從sys.types查出來的,限制了只搜尋文字型別,具體使用的時候可以自行修改

open  table_cursor  fetch  next  from  table_cursor 

into  @t,@c 

while(@@fetch_status=0)

begin 

exec('

set nocount on

if exists(select top 1 '+@c+' from [' + @t + '] where [' + @c + '] like''%lond%''

begin

if not exists(select 1 from # where name='''+@t+''')

insert into # select '''+@t+''','''+@c+'''

else

update # set cols=cols+'','+@c+''' where name='''+@t+'''

end   

')fetch  next  from  table_cursor  into  @t,@c 

endclose  table_cursor  deallocate  table_cursor;

select * from #

所有的表sqlserver

select o.name as tablename,user name o.uid as owner,isnull ptb.value,n as tabledescription,c.colid as fieldid,c.name as fieldname,quotename t.name cas...

SQL SERVER 許可權所有鏈結

markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細語法參考幫助?本編輯器支援markdown extra,擴充套件了很多好用的功能。具體請參考...

Sql Server 刪除所有表

如果由於外來鍵約束刪除table失敗,則先刪除所有約束 第1步 刪除所有表的外來鍵約束 declarec1cursorfor select alter table object name parent obj drop constraint name fromsysobjects wherextyp...