{"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":"","jetpack_post_was_ever_published":false},"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"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":294,"url":"https:\/\/fabriciolima.net\/blog\/2010\/06\/05\/passo-a-passo-para-encontrar-as-querys-mais-demoradas-do-banco-de-dados-parte-2\/","url_meta":{"origin":268,"position":0},"title":"Passo a passo para encontrar as querys mais demoradas do Banco de Dados &#8211; Parte 2","author":"Fabr\u00edcio Lima","date":"5 de junho de 2010","format":false,"excerpt":"Continuando o artigo Passo a passo para encontrar as querys mais demoradas do Banco de Dados - Parte 1. Agora que o trace j\u00e1 foi testado e vimos que ele realmente funciona, criaremos um job para enviar o trace para a tabela de log e automatizar todo o processo. Voc\u00ea\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"Step1_thumb1","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2010\/10\/step1_thumb15b45d.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":407,"url":"https:\/\/fabriciolima.net\/blog\/2011\/02\/07\/querys-do-dia-a-dia-como-visualizar-as-colunas-include-de-um-indice\/","url_meta":{"origin":268,"position":1},"title":"Querys do Dia a Dia: Como visualizar as colunas INCLUDE de um \u00cdndice","author":"Fabr\u00edcio Lima","date":"7 de fevereiro de 2011","format":false,"excerpt":"Fala Pessoal, Diariamente preciso\u00a0visualizar todos os \u00edndices de uma tabela para analisar a cria\u00e7\u00e3o, altera\u00e7\u00e3o ou exclus\u00e3o de um \u00edndice. A forma mais r\u00e1pida de ver os \u00edndices de uma tabela espec\u00edfica \u00e9 selecionar o nome da tabela e apertar Alt+f1. Entretanto, essa maneira n\u00e3o nos mostra as colunas da\u2026","rel":"","context":"Em &quot;Querys do Dia a Dia&quot;","block_context":{"text":"Querys do Dia a Dia","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/querys-do-dia-a-dia\/"},"img":{"alt_text":"Procedure sp_helpindex2","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2011\/02\/sp_helpindex2-300x84.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":578,"url":"https:\/\/fabriciolima.net\/blog\/2011\/03\/24\/querys-do-dia-a-dia-como-verificar-o-codigo-de-um-objeto-via-query\/","url_meta":{"origin":268,"position":2},"title":"Querys do Dia a Dia &#8211; Como verificar o c\u00f3digo de um objeto via Query","author":"Fabr\u00edcio Lima","date":"24 de mar\u00e7o de 2011","format":false,"excerpt":"Fala Pessoal, A dica de hoje \u00e9 bem simples, mas pode ser muito \u00fatil para quem ainda n\u00e3o conhece. Hoje estava sendo executada uma grande carga (SELECT * INTO FROM ...) em uma tabela de uma das minhas databases. Nesse exato momento, eu precisava verificar qual era o c\u00f3digo de\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2011\/03\/Expand-Stored-Procedure.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":286,"url":"https:\/\/fabriciolima.net\/blog\/2010\/04\/11\/como-criar-um-controle-de-versao-de-procedures-views-e-functions-no-sql-server\/","url_meta":{"origin":268,"position":3},"title":"Como criar um Controle de Vers\u00e3o de Procedures, Views e Functions no SQL Server","author":"Fabr\u00edcio Lima","date":"11 de abril de 2010","format":false,"excerpt":"Quantas vezes j\u00e1 te perguntaram qual era o c\u00f3digo de uma fun\u00e7\u00e3o, procedure ou view em uma determinada data? At\u00e9 o SQL Server 2000, s\u00f3 era poss\u00edvel obter essa informa\u00e7\u00e3o atrav\u00e9s da gera\u00e7\u00e3o peri\u00f3dica de arquivos com scripts dos objetos do banco de dados. Entretanto, a partir do SQL Server\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/fg7djq.bay.livefilestore.com\/y1pZnviks_oXTAbvTepEXLmnGOQrvNjLmPIYsnTtHeOc35EqnNRyKgWy5UP9pLfVfu7xdnua1G4ZCJ-dmwm3lqJfpEEYCjfqwI3\/Figura%201%20-%20Resultado%20query.JPG?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/fg7djq.bay.livefilestore.com\/y1pZnviks_oXTAbvTepEXLmnGOQrvNjLmPIYsnTtHeOc35EqnNRyKgWy5UP9pLfVfu7xdnua1G4ZCJ-dmwm3lqJfpEEYCjfqwI3\/Figura%201%20-%20Resultado%20query.JPG?resize=350%2C200 1x, https:\/\/i0.wp.com\/fg7djq.bay.livefilestore.com\/y1pZnviks_oXTAbvTepEXLmnGOQrvNjLmPIYsnTtHeOc35EqnNRyKgWy5UP9pLfVfu7xdnua1G4ZCJ-dmwm3lqJfpEEYCjfqwI3\/Figura%201%20-%20Resultado%20query.JPG?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/fg7djq.bay.livefilestore.com\/y1pZnviks_oXTAbvTepEXLmnGOQrvNjLmPIYsnTtHeOc35EqnNRyKgWy5UP9pLfVfu7xdnua1G4ZCJ-dmwm3lqJfpEEYCjfqwI3\/Figura%201%20-%20Resultado%20query.JPG?resize=700%2C400 2x"},"classes":[]},{"id":285,"url":"https:\/\/fabriciolima.net\/blog\/2010\/03\/24\/criando-um-checklist-automatico-do-banco-de-dados\/","url_meta":{"origin":268,"position":4},"title":"Criando um CheckList Autom\u00e1tico do Banco de Dados","author":"Fabr\u00edcio Lima","date":"24 de mar\u00e7o de 2010","format":false,"excerpt":"Atualizado em: 01\/05\/2017 OBS: Segue abaixo o link de um Post com uma nova vers\u00e3o desse CheckList muito mais pr\u00e1tica e com diversas melhorias. Desta vez, o CheckList ser\u00e1 enviado por e-mail em formato HTML: Link Post: Criando um E-mail de CheckList Di\u00e1rio no SQL Server \u00a0 Ol\u00e1 pessoal, Assim\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":293,"url":"https:\/\/fabriciolima.net\/blog\/2010\/06\/05\/passo-a-passo-para-encontrar-as-querys-mais-demoradas-do-banco-de-dados-parte-1\/","url_meta":{"origin":268,"position":5},"title":"Passo a passo para encontrar as querys mais demoradas do Banco de Dados &#8211; Parte 1","author":"Fabr\u00edcio Lima","date":"5 de junho de 2010","format":false,"excerpt":"Fala Pessoal, Quem n\u00e3o quer saber quais s\u00e3o as querys mais demoradas do seu ambiente de Banco de Dados? Em quais hor\u00e1rios essas querys rodam? Quem est\u00e1 executando? De onde est\u00e1 sendo rodada? Quais os recursos que essas querys consomem? Nesse artigo, demonstrarei como eu fa\u00e7o esse acompanhamento no meu\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"Resultado Query Trace","src":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2010\/10\/resultadoquerytrace5b65d.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2010\/10\/resultadoquerytrace5b65d.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2010\/10\/resultadoquerytrace5b65d.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2010\/10\/resultadoquerytrace5b65d.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]}],"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}]}}