I\'ve got various databases, and what to be sure I am removing something (a view in this case) that is truly orphaned. Is the the correct SQL to be using:
S
I am not sure but i guess you can use something like this if your view is used in some stored procedure
SELECT *
FROM syscomments c
INNER JOIN sysobjects o ON c.id =o.id
WHERE text LIKE '%my_view_name%' AND xtype ='p'
Your method is not fully correct. Read this article:
http://www.mssqltips.com/tip.asp?tip=1294
Your method will not return any result if another view uses this view.
SQL Server 2008 has special view (sys.dm_sql_referencing_entities), here it is not that easy.
You have one option only.
select
object_name(m.object_id), m.*
from
sys.sql_modules m
where
m.definition like N'%my_view_name%'
syscomments and INFORMATION_SCHEMA.routines have nvarchar(4000) columns. So if "myViewName" is used at position 3998, it won't be found. syscomments does have multiple lines but ROUTINES truncates.