Microsoft Azure ile ilgili güzel bir anlatım.
Microsoft Azure
Microsoft Azure
Eğer bir string değerin hangi tablolarda ve bu tabloların hangi alanlarında geçtiğini ya da geçip geçmediğini bulmak istiyorsanız alın size ufak ama bir o kadar da YAVAŞ çalışacak bir query;
declare @query nvarchar(4000), @tbl_name sysname, @tbl_id int, @column_name sysname declare cursor_tbl cursor for select s.name+'.'+o.name name, object_id from sys.objects o (nolock) join sys.schemas s (nolock) on o.schema_id=s.schema_id where o.type = 'U' declare @aranacaktext nvarchar(100) Select @aranacaktext = N'Bulunacak string' open cursor_tbl fetch next from cursor_tbl into @tbl_name, @tbl_id while (@@FETCH_STATUS = 0) begin declare cursor_col cursor for select name from sys.columns (nolock) where object_id = @tbl_id and system_type_id in (167, 175, 231, 239) open cursor_col fetch next from cursor_col into @column_name while (@@FETCH_STATUS = 0) begin select @query = 'if exists (select * from ' + @tbl_name + '(nolock) where ['+ @column_name +'] like ''%'+@aranacaktext+'%'') print ''' + @tbl_name + ', ' + @column_name + '''' exec (@query) fetch next from cursor_col into @column_name end close cursor_col deallocate cursor_col fetch next from cursor_tbl into @tbl_name, @tbl_id end close cursor_tbl deallocate cursor_tbl