2009-08-31 46 views
1

是否有相對簡單的方法來查找某個角色的實例,比如說「|」或「〜」或「&」,在數據庫中?在數據庫中查找一個角色的實例

它可以在任何領域......在任何表格中。

數據庫中共有大約400到500個表格。

回答

1

最簡單的方法是批量導出所有表的所有數據,然後搜索/ grep查找有問題的字符串。

http://msdn.microsoft.com/en-us/library/ms187042.aspx

+1

可能比動態SQL更容易... – gbn 2009-08-31 18:50:47

+0

謝謝,我們現在正在嘗試...發現有更多的表/數據比我想象的要多,所以這需要一段時間。 – Jason 2009-09-01 00:52:47

1

你可以導出使用SQL管理控制檯的數據庫到一個大的SQL腳本。一旦你有文本文件,你可以使用記事本/ grep /等。找到你要找的角色。

+0

適合代碼...但爲什麼不搜索syscomments? – gbn 2009-08-31 18:52:46

1

此代碼將識別數據庫中的每個表和varchar列。它可用於爲每個表和列生成select語句,以搜索該列包含要查找的字符的行。

select o.id, o.name, c.name, t.name, t.* 
from sysobjects o 
join syscolumns c on c.id = o.id 
join systypes t on t.xtype = c.xtype 
where o.xtype = 'U' 
     and t.status = 0 
     and t.name like '%varchar' 
order by o.name, c.name 

根據您的表的大小和索引,這可能會也可能不是一個好主意。

+0

這也是我的第一個想法。看起來像遍歷所有結果將非常繁瑣......我想我可以運行一個查詢,當它發現匹配時發送包括表等在內的某種通知。謝謝您的幫助。 – Jason 2009-09-01 00:51:48

+0

是 - 不是生成SELECT語句,而是將INSERT語句生成到公用表中,幷包含表名和列名。 – 2009-09-01 01:19:01

相關問題