在设计时搜索sql server数据库中的字符串

时间:2011-08-03 06:31:43

标签: sql sql-server

我想知道是否有任何方法可以在设计时搜索整个数据库中的字符串(比如在visual studio整个解决方案中搜索字符串) 编辑:我的意思是在所有存储过程,函数,表格中搜索字符串... 它可用于执行某些操作,例如在更改某些表的列类型后更新所有存储过程和函数。

我使用的是microsoft sql server 2008

感谢

5 个答案:

答案 0 :(得分:3)

我想,你需要RedGate SQLSearch tool。这个工具是免费的。

答案 1 :(得分:1)

要在数据库中查找代码,您可以搜索sys.sql_modules(请参阅示例)或使用免费的Red Gate SQL Search之类的内容

我认为这就是你想要设计时间VS搜索的意思。请注意,数据库代码存在于系统表中:不在文件中。因此,这个SQL或工具是必需的。

SQL示例:

SELECT
   OBJECT_SCHEMA_NAME(object_id) + '.' + OBJECT_NAME(object_id)
FROM
   sys.sql_modules
WHERE
   definition like '%whatever%'

注意:syscomments是遗留的,并将定义拆分为nvarchar 4000块,因此冒着而不是找到你想要的东西的风险。这同样适用于INFORMATION_SCHEMA.ROUTINES

答案 2 :(得分:0)

虽然用例确实没用,但是没有办法搜索这样的数据,你必须写sql才能这样做。

如果要搜索对象,可以使用一些免费的插件来帮助您使用关键字搜索表,视图,存储过程和函数。

看看: http://weblogs.sqlteam.com/mladenp/archive/2007/11/20/Free-SQL-Server-tools-that-might-make-your-life-a.aspx

答案 3 :(得分:0)

如果我理解正确 - 您需要在数据库中进行全文搜索。它依赖于数据库,你使用什么数据库引擎?对于MSSQL,请查看Full-Text Search (SQL Server)

答案 4 :(得分:0)

一种选择是使用Generate and Publish Scripts Wizard并为所有数据库对象创建脚本。然后使用像Notepad++这样的自由文本编辑器在脚本中搜索字符串。