我想知道是否有任何方法可以在设计时搜索整个数据库中的字符串(比如在visual studio整个解决方案中搜索字符串) 编辑:我的意思是在所有存储过程,函数,表格中搜索字符串... 它可用于执行某些操作,例如在更改某些表的列类型后更新所有存储过程和函数。
我使用的是microsoft sql server 2008
感谢
答案 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才能这样做。
如果要搜索对象,可以使用一些免费的插件来帮助您使用关键字搜索表,视图,存储过程和函数。
答案 3 :(得分:0)
如果我理解正确 - 您需要在数据库中进行全文搜索。它依赖于数据库,你使用什么数据库引擎?对于MSSQL,请查看Full-Text Search (SQL Server)
答案 4 :(得分:0)
一种选择是使用Generate and Publish Scripts Wizard并为所有数据库对象创建脚本。然后使用像Notepad++这样的自由文本编辑器在脚本中搜索字符串。