如何搜索SQL Server数据库的所有表内的所有列中的特定字符串?

问题描述:

我们想在我们的所有数据库中搜索一个字符串(即“Hello World”),该数据库有大约120个表格。我们考虑过像mysql dump这样的转储,但它出现在一个奇怪的bak格式中。如何搜索SQL Server数据库的所有表内的所有列中的特定字符串?

搜索应该为每个表中每列来完成。这是可能的任何类型的脚本,或者这比我听起来更难?

+0

可能重复(http://stackoverflow.com/questions/591853/search-for-a-string-in-全表,行和柱对的一-DB) – 2015-04-22 06:45:55

不能够很容易写一个脚本来做到这一点。

建议: 我认为你必须使用一些光标和使用其中的某些对象来写脚本

  1. sys.databases中
  2. INFORMATION_SCHEMA.TABLES或SYS.TABLES
  3. INFORMATION_SCHEMA.COLUMNS或sys.columns

一旦你有了这些东西,在所有列下搜索Hello World会更加简单

这仅仅是一次性的,还是你想要经常做的事情?

如果这是一个一次性的,如何使用数据导出向导,将表导出到CSV文件(假设你使用SQL Server中,虽然我敢肯定,大多数数据库当量)。

一旦你做到了这一点,你可以做在资源管理器“查找文件”找到所有出现?

这有点脏 - 但它会工作!的[搜索中的所有表,行和DB的列的字符串]