Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

ако искам да намеря какво препраща към обект в SQL Server, изчерпателно ли е търсенето на syscomments?

Не сте посочили каква версия на SQL Server използвате. Предполагам 2000, но ако сте на 2005 или по-нова, трябва да погледнете sys.sql_modules изглед на каталог и/или OBJECT_DEFINITION() функция. Като бърз пример:

SELECT SCHEMA_NAME(schema_id) +'.'+ name
FROM sys.objects
WHERE OBJECT_DEFINITION(object_id) LIKE '%' + @Search + '%';

-- or

SELECT OBJECT_SCHEMA_NAME(object_id) +'.'+ OBJECT_NAME(object_id)
FROM sys.sql_modules
WHERE [definition] LIKE '%' + @Search + '%';

Също така може да искате да проверите следната тема на StackOverflow за новия и безплатен инструмент за SQL търсене на RedGate и някои алтернативни подходи:

https://stackoverflow. com/questions/2187763/what-other-products-are-similar-to-redgates-sql-search/

Ако наистина сте останали на 2000, тогава тази статия, която написах преди почти 10 години, все още може да бъде уместна и полезна (включително приспособяване към проблема с 4K парчета, който Мат спомена):

http://бази с данни .aspfaq.com/database/how-do-i-find-a-stored-procedure-containing-text.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL блокиране с операции за избор/актуализация на таблица

  2. Използване на база данни в съхранена процедура

  3. Как да предавам поточно данни от/към BLOB полета на SQL Server?

  4. Грешка при аритметично препълване при преобразуване на израз в тип данни int

  5. Какви са някои начини за достъп до Microsoft SQL Server от Linux?