{"id":268,"date":"2011-01-17T16:33:38","date_gmt":"2011-01-17T18:33:38","guid":{"rendered":"http:\/\/fabriciodba.wordpress.com\/?p=268"},"modified":"2017-02-04T14:35:48","modified_gmt":"2017-02-04T16:35:48","slug":"querys-do-dia-a-dia-como-encontrar-um-texto-em-functions-views-e-procedures","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2011\/01\/17\/querys-do-dia-a-dia-como-encontrar-um-texto-em-functions-views-e-procedures\/","title":{"rendered":"Querys do Dia a Dia &#8211; Como encontrar um texto em Functions, Views e Procedures"},"content":{"rendered":"<p>Fala Pessoal,<\/p>\n<p>Antes de incluir\/excluir\/alterar um campo de uma tabela ou antes de incluir\/excluir\/alterar uma procedure, function ou view se faz necess\u00e1rio procurar no script do banco de dados se esses objetos que ser\u00e3o alterados s\u00e3o utilizados\u00a0por alguma fun\u00e7\u00e3o, view ou SP.<\/p>\n<p>Constantemente eu preciso realizar esse tipo de opera\u00e7\u00e3o. Para isso, utilizo a query abaixo que procura um determinado texto em procedures, view e functions em uma determinada database.<\/p>\n<pre class=\"lang:tsql decode:true \">\r\n-- Compat\u00edvel com o SQL Server 2000\r\n\r\nSELECT B.name ,\r\ncase type when 'P' then 'Stored procedure'\r\nwhen 'FN' then 'Function'\r\nwhen 'TF' then 'Function'\r\nwhen 'TR' then 'Trigger'\r\nwhen 'V' then 'View'\r\nelse 'Outros Objetos'\r\nend\r\nFROM syscomments A (nolock)\r\nJOIN sysobjects B (nolock) on A.Id = B.Id\r\nWHERE A.Text like '%Nome_Objeto%'\u00a0 --Objto a ser procurado\r\nORDER BY 2 DESC\r\n\r\n-- 2005\/2008\r\nSELECT type_desc, obj.name AS SP_NAME,\u00a0 sqlmod.definition AS SP_DEFINITION\r\nFROM sys.sql_modules AS sqlmod\r\nINNER JOIN sys.objects AS obj ON sqlmod.object_id = obj.object_id\r\nWHERE sqlmod.definition LIKE '%Nome_Objeto%'\u00a0 --Objto a ser procurado\r\nORDER BY type_desc\r\n<\/pre>\n<p>Entretanto, seu objeto ainda pode ser\u00a0utilizado diretamente\u00a0dentro de algum step de seus jobs. Para fazer uma busca em todos os Steps de Jobs por um texto, basta rodar a query abaixo:<\/p>\n<pre class=\"lang:tsql decode:true \">\r\n-- Procura dentro de Job's\r\nSELECT name NOME_JOB, step_name ,command CODIGO, last_run_date\r\nFROM msdb.dbo.sysjobs A\r\njoin msdb.dbo.sysjobsteps B on A.Job_id = B.Job_Id\r\nWHERE command like '%Nome_Objeto%'\r\nORDER BY name\r\n<\/pre>\n<p>Tamb\u00e9m existem ferramentas de terceiros que realizam essas consultas.<\/p>\n<p>Nunca encontrei um modo parecido de realizar\u00a0uma busca\u00a0de um objeto, que est\u00e1 sendo utilizado dentro de uma task de um DTS(SQL Server 2000) ou SSIS (2005\/2008). Caso\u00a0exista, deixe um coment\u00e1rio que ser\u00e1 de grande valor.<\/p>\n<p>&nbsp;<\/p>\n<p><b>Gostou dessa Dica?<\/b><\/p>\n<p>Curta, comente, compartilhe\u2026<\/p>\n<p>Assine meu canal no <a href=\"https:\/\/www.youtube.com\/channel\/UCeBRAO_LLrUdSrOXIywjzRA\" target=\"_blank\">Youtube<\/a> e curta minha p\u00e1gina no <a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.facebook.com\/FabricioLimaSolucoesemBancodeDados\/\" target=\"_blank\" rel=\"nofollow external noopener noreferrer\" data-wpel-link=\"external\">Facebook<\/a> para receber Dicas de Leituras, V\u00eddeos e Eventos sobre SQL Server.<\/p>\n<p>Aprenda a criar essa e outras rotinas para administrar melhor seu SQL Server no meu <a href=\"https:\/\/www.fabriciolima.net\/cursos-online\/treinamento-tarefas-do-dia-a-dia-de-um-dba-online\/\" target=\"_blank\">Treinamento de Tarefas do Dia a Dia de um DBA<\/a>.<\/p>\n<p>At\u00e9 a pr\u00f3xima.<\/p>\n<p>Fabr\u00edcio Lima<\/p>\n<p>MCITP \u2013 Database Administrator<\/p>\n<p>Consultor e Instrutor SQL Server<\/p>\n<p>Trabalha com SQL Server desde 2006<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fala Pessoal, Antes de incluir\/excluir\/alterar um campo de uma tabela ou antes de incluir\/excluir\/alterar uma procedure, function ou view se faz necess\u00e1rio procurar no script do banco de dados se esses objetos que ser\u00e3o alterados s\u00e3o utilizados\u00a0por alguma fun\u00e7\u00e3o, view ou SP. Constantemente eu preciso realizar esse tipo de opera\u00e7\u00e3o. Para isso, utilizo a query [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[3,13,280],"tags":[23,25,152,159,49,33,151,281,282],"class_list":["post-268","post","type-post","status-publish","format-standard","hentry","category-administracao-de-bd","category-querys-do-dia-a-dia","category-virtual-pass-br","tag-dba","tag-dmv","tag-dts","tag-nome-objeto","tag-sql","tag-sql-server","tag-sql-server-2000","tag-texto-job","tag-texto-objetos"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/comments?post=268"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/268\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}