sql >> Database >  >> RDS >> Sqlserver

als ik wil vinden waarnaar een object in SQL Server verwijst, is het zoeken naar syscomments dan uitgebreid?

U hebt niet opgegeven welke versie van SQL Server u gebruikt. Ik ga uit van 2000, maar als je in 2005 of later zit, moet je kijken naar de sys.sql_modules catalogusweergave en/of de OBJECT_DEFINITION() functie. Als snel voorbeeld:

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 + '%';

Misschien wil je ook de volgende StackOverflow-thread bekijken over RedGate's nieuwe en gratis SQL Search-tool, en enkele alternatieve benaderingen:

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

Als je echt vastzit aan 2000, dan is dit artikel dat ik bijna 10 jaar geleden schreef misschien nog steeds relevant en nuttig (inclusief tegemoetkoming aan het 4K-chunkprobleem dat Matt noemde):

http://databases .aspfaq.com/database/hoe-ik-vind-een-opgeslagen-procedure-bevattende-tekst.html



  1. Hoe u rijen filtert zonder NULL in een kolom

  2. Postgres - Aangrenzende lijst converteren naar genest JSON-object

  3. R2DBC en enum (PostgreSQL)

  4. Getallen opmaken met een min/plusteken in Oracle