{"id":392,"date":"2015-12-29T12:45:48","date_gmt":"2015-12-29T12:45:48","guid":{"rendered":"http:\/\/www.tiagoneves.net\/blog\/?p=392"},"modified":"2015-12-29T12:45:48","modified_gmt":"2015-12-29T12:45:48","slug":"trace-flags-mais-comuns-do-sql-server","status":"publish","type":"post","link":"https:\/\/www.tiagoneves.net\/blog\/trace-flags-mais-comuns-do-sql-server\/","title":{"rendered":"Trace Flags mais comuns do SQL Server"},"content":{"rendered":"<p>Ol\u00e1 pessoal, tudo certo?<\/p>\n<p>No post de hoje vou abordar um pouco sobre as trace flags mais comuns do SQL Server, o Trace Flag \u00e9 uma configura\u00e7\u00e3o que nos permite customizar o que iremos rastrear na nossa inst\u00e2ncia.<\/p>\n<p>A maioria dos trace flags n\u00e3o est\u00e3o documentados pela Microsoft, ent\u00e3o n\u00e3o temos suporte e devemos ter muito cuidado para usa-las<span class=\"notranslate\">.<\/span> <span class=\"notranslate\">Ent\u00e3o, por que algu\u00e9m iria utiliza-las?<\/span> <span class=\"notranslate\">Porque eles nos d\u00e1 algumas possibilidades para fazer o ajustes de desempenho e diagn\u00f3stico.<\/span><\/p>\n<p>Segue uma tabela com os principais trace flags, maiores informa\u00e7\u00f5es podem ser obtidas no <a href=\"https:\/\/technet.microsoft.com\/pt-br\/library\/ms188396%28v=sql.110%29.aspx\">Technet.<\/a><\/p>\n\n<table id=\"tablepress-5\" class=\"tablepress tablepress-id-5\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Trace Flag <\/th><th class=\"column-2\">Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">260<br \/>\n<\/td><td class=\"column-2\">Imprime informa\u00e7\u00f5es de vers\u00e3o sobre DLLs (bibliotecas de v\u00ednculo din\u00e2mico) de procedimento armazenado estendido. Para obter mais informa\u00e7\u00f5es sobre __GetXpVersion(), consulte Criando procedimentos armazenados estendidos.<br \/>\nEscopo: global ou sess\u00e3o<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">1204<\/td><td class=\"column-2\">\t<br \/>\nRetorna os recursos e tipos de bloqueios que participam de um deadlock e tamb\u00e9m o comando atual afetado.<br \/>\nEscopo: somente global<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">1211<\/td><td class=\"column-2\">Desabilita o escalonamento de bloqueios com base na press\u00e3o de mem\u00f3ria ou no n\u00famero de bloqueios. A Engine de Banco de Dados do SQL Server n\u00e3o escalona bloqueios de linha ou de p\u00e1gina para bloqueios de tabela.<br \/>\nO uso desse sinalizador de rastreamento pode gerar um n\u00famero excessivo de bloqueios. Isso pode reduzir o desempenho do Mecanismo de Banco de Dados ou causar erros 1204 (n\u00e3o \u00e9 poss\u00edvel alocar recurso de bloqueio) por causa de mem\u00f3ria insuficiente.<br \/>\nSe os sinalizadores de rastreamento 1211 e 1224 forem definidos, o 1211 ter\u00e1 preced\u00eancia sobre o 1224. Entretanto, como o sinalizador de rastreamento 1211 evita o escalonamento em todos os casos, mesmo sob press\u00e3o de mem\u00f3ria, recomendamos usar 1224. Isso ajuda a evitar erros de \"falta de bloqueios\" quando muitos bloqueios s\u00e3o usados.<br \/>\nEscopo: global ou sess\u00e3o<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">1222<\/td><td class=\"column-2\">Retorna os recursos e os tipos de bloqueios que participam de um deadlock e tamb\u00e9m o comando atual afetado, em um formato XML que n\u00e3o obedece a nenhum esquema XSD.<br \/>\nEscopo: somente global<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">1224*<\/td><td class=\"column-2\">Desabilita o escalonamento de bloqueios baseado no n\u00famero de bloqueios. Entretanto, a press\u00e3o de mem\u00f3ria ainda pode ativar o escalonamento de bloqueios. O Mecanismo de Banco de Dados escalona bloqueios de linha ou de p\u00e1gina para bloqueios de tabela (ou parti\u00e7\u00e3o) se a quantidade de mem\u00f3ria utilizada pelos objetos de bloqueio exceder uma das seguintes condi\u00e7\u00f5es:<br \/>\nQuarenta por cento da mem\u00f3ria usada pelo Mecanismo de Banco de Dados. Isso \u00e9 aplic\u00e1vel somente quando o par\u00e2metro locks de sp_configure \u00e9 definido como 0.<br \/>\nQuarenta por cento da mem\u00f3ria de bloqueio que \u00e9 configurada usando o par\u00e2metro locks de sp_configure. Para obter mais informa\u00e7\u00f5es, consulte Op\u00e7\u00f5es de configura\u00e7\u00e3o de servidor.<br \/>\nSe os sinalizadores de rastreamento 1211 e 1224 forem definidos, o 1211 ter\u00e1 preced\u00eancia sobre o 1224. Entretanto, como o sinalizador de rastreamento 1211 evita o escalonamento em todos os casos, mesmo sob press\u00e3o de mem\u00f3ria, recomendamos usar 1224. Isso ajuda a evitar erros de \"falta de bloqueios\" quando muitos bloqueios s\u00e3o usados.<br \/>\nEscopo: global ou sess\u00e3o<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">1448<\/td><td class=\"column-2\">Permite que o leitor de log de replica\u00e7\u00e3o continue mesmo se os secund\u00e1rios ass\u00edncronos n\u00e3o reconhecerem a recep\u00e7\u00e3o de uma altera\u00e7\u00e3o. Mesmo com este sinalizador de rastreamento habilitado, o leitor de log sempre espera pelos secund\u00e1rios de sincroniza\u00e7\u00e3o. O leitor de log n\u00e3o passar\u00e1 do reconhecimento m\u00ednimo dos secund\u00e1rios de sincroniza\u00e7\u00e3o. Este sinalizador de rastreamento se aplica \u00e0 inst\u00e2ncia do SQL Server, n\u00e3o apenas a um grupo de disponibilidade, um banco de dados de disponibilidade ou uma inst\u00e2ncia do leitor de log. Entra em vigor imediatamente, sem reinicializa\u00e7\u00e3o. Este sinalizador de rastreamento pode ser ativado antecipadamente ou quando um secund\u00e1rio ass\u00edncrono falha.<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">2528<\/td><td class=\"column-2\">\t<br \/>\nDesabilita a verifica\u00e7\u00e3o paralela de objetos por DBCC CHECKDB, DBCC CHECKFILEGROUP e DBCC CHECKTABLE. Por padr\u00e3o, o grau de paralelismo \u00e9 automaticamente determinado pelo processador de consultas. O grau de m\u00e1ximo de paralelismo \u00e9 configurado da mesma forma que as consultas paralelas. Para obter mais informa\u00e7\u00f5es, consulte Configurar a op\u00e7\u00e3o de configura\u00e7\u00e3o de servidor max degree of parallelism.<br \/>\nDBCC paralelo, em geral, deve permanecer habilitado. Para DBCC CHECKDB, o processador de consultas reavalia e automaticamente ajusta o paralelismo em cada tabela ou lote de tabelas verificadas. \u00c0s vezes, a verifica\u00e7\u00e3o pode iniciar quando o servidor est\u00e1 quase ocioso. Um administrador que sabe que a carga aumentar\u00e1 antes que a verifica\u00e7\u00e3o seja conclu\u00edda poder\u00e1 manualmente diminuir ou desabilitar o paralelismo.<br \/>\nDesabilitar a verifica\u00e7\u00e3o paralela do DBCC pode fazer com que o DBCC leve mais tempo para ser conclu\u00eddo e se o DBCC for executado com o recurso TABLOCK habilitado e o paralelismo definido como off, as tabelas poder\u00e3o ser bloqueadas por longo tempo.<br \/>\nEscopo: global ou sess\u00e3o<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">3042<\/td><td class=\"column-2\">Ignora o algoritmo padr\u00e3o de pr\u00e9-aloca\u00e7\u00e3o de compacta\u00e7\u00e3o de backup para permitir que o arquivo de backup cres\u00e7a somente quando necess\u00e1rio para alcan\u00e7ar seu tamanho final. Este sinalizador de rastreamento ser\u00e1 \u00fatil se voc\u00ea precisar salvar em espa\u00e7o alocando somente o tamanho real necess\u00e1rio para o backup compactado. Usar este sinalizador de rastreamento pode causar uma pequena penalidade de desempenho (um poss\u00edvel aumento na dura\u00e7\u00e3o da opera\u00e7\u00e3o de backup).<br \/>\nPara obter mais informa\u00e7\u00f5es sobre o algoritmo de pr\u00e9-aloca\u00e7\u00e3o, consulte Compacta\u00e7\u00e3o de backup (SQL Server).<\/td>\n<\/tr>\n<tr class=\"row-10\">\n\t<td class=\"column-1\">3205<\/td><td class=\"column-2\">\t<br \/>\nPor padr\u00e3o, se uma unidade de fita oferecer suporte \u00e0 compacta\u00e7\u00e3o de hardware, a instru\u00e7\u00e3o DUMP ou BACKUP a usar\u00e1. Com esse sinalizador de rastreamento, \u00e9 poss\u00edvel desabilitar a compacta\u00e7\u00e3o de hardware para drivers de fita. Isso \u00e9 \u00fatil quando se deseja trocar as fitas por outros locais ou unidades de fita que n\u00e3o oferecem suporte \u00e0 compacta\u00e7\u00e3o.<br \/>\nEscopo: global ou sess\u00e3o<\/td>\n<\/tr>\n<tr class=\"row-11\">\n\t<td class=\"column-1\">3226<\/td><td class=\"column-2\">Por padr\u00e3o, toda opera\u00e7\u00e3o de backup bem-sucedida acrescenta uma entrada ao log de erros do SQL Server e ao log de eventos do sistema. Se voc\u00ea criar backups de log com frequ\u00eancia, essas mensagens se acumular\u00e3o rapidamente, resultando em enormes logs de erros nos quais ser\u00e1 dif\u00edcil localizar outras mensagens.<br \/>\nCom este sinalizador de rastreamento, voc\u00ea pode suprimir estas entradas de log. Isso \u00e9 \u00fatil se voc\u00ea estiver executando backups de log frequentes e se nenhum dos seus scripts depender dessas entradas.<\/td>\n<\/tr>\n<tr class=\"row-12\">\n\t<td class=\"column-1\">3608<\/td><td class=\"column-2\">Impede que o SQL Server seja iniciado automaticamente e recupere qualquer banco de dados, exceto o banco de dados mestre. Se as atividades que requerem tempdb forem iniciadas, o modelo ser\u00e1 recuperado e tempdb ser\u00e1 criado. Os bancos de dados do usu\u00e1rio ser\u00e3o iniciados e recuperados quando acessados. Alguns recursos, como isolamento de instant\u00e2neo e instant\u00e2neo de leitura confirmada, talvez n\u00e3o funcionem. Use para Mover bancos de dados do sistema e Mover bancos de dados de usu\u00e1rio. N\u00e3o use durante opera\u00e7\u00e3o normal.<\/td>\n<\/tr>\n<tr class=\"row-13\">\n\t<td class=\"column-1\">3625<\/td><td class=\"column-2\">Limita a quantidade de informa\u00e7\u00f5es retornadas aos usu\u00e1rios que n\u00e3o s\u00e3o membros da fun\u00e7\u00e3o de servidor fixa sysadmin, mascarando os par\u00e2metros de algumas mensagens de erro usando '******'. Isso pode ajudar a evitar a divulga\u00e7\u00e3o de informa\u00e7\u00f5es confidenciais.<br \/>\nEscopo: somente global<\/td>\n<\/tr>\n<tr class=\"row-14\">\n\t<td class=\"column-1\">4199<\/td><td class=\"column-2\">\t<br \/>\nControla v\u00e1rias altera\u00e7\u00f5es do otimizador de consulta feitas anteriormente em v\u00e1rios sinalizadores de rastreamento. Para obter mais informa\u00e7\u00f5es, consulte este artigo do Suporte da Microsoft<br \/>\nEscopo: global ou sess\u00e3o<\/td>\n<\/tr>\n<tr class=\"row-15\">\n\t<td class=\"column-1\">4616<\/td><td class=\"column-2\">Torna os metadados em n\u00edvel de servidor vis\u00edveis para fun\u00e7\u00f5es de aplicativo. No SQL Server, uma fun\u00e7\u00e3o de aplicativo n\u00e3o pode acessar metadados fora de seu pr\u00f3prio banco de dados porque as fun\u00e7\u00f5es de aplicativo n\u00e3o s\u00e3o associadas a um principal em n\u00edvel de servidor. \u00c9 uma altera\u00e7\u00e3o de comportamento de vers\u00f5es anteriores do SQL Server. Definir esse sinalizador global desabilita as novas restri\u00e7\u00f5es e permite que fun\u00e7\u00f5es de aplicativo acessem metadados em n\u00edvel de servidor.<br \/>\nEscopo: somente global<\/td>\n<\/tr>\n<tr class=\"row-16\">\n\t<td class=\"column-1\">6527<\/td><td class=\"column-2\">Desabilita a gera\u00e7\u00e3o de um despejo de mem\u00f3ria na primeira ocorr\u00eancia de uma exce\u00e7\u00e3o de mem\u00f3ria insuficiente na integra\u00e7\u00e3o de CLR. Por padr\u00e3o, o SQL Server gera um despejo de mem\u00f3ria pequeno na primeira ocorr\u00eancia de uma exce\u00e7\u00e3o de mem\u00f3ria insuficiente no CLR. O comportamento do sinalizador de rastreamento \u00e9:<br \/>\nSe isso for usado como um sinalizador de rastreamento de inicializa\u00e7\u00e3o, um despejo de mem\u00f3ria nunca ser\u00e1 gerado. No entanto, um despejo de mem\u00f3ria poder\u00e1 ser gerado se forem usados outros sinalizadores de rastreamento.<br \/>\nSe esse sinalizador de rastreamento estiver habilitado em um servidor em execu\u00e7\u00e3o, um despejo de mem\u00f3ria n\u00e3o ser\u00e1 gerado automaticamente a partir desse ponto. No entanto, se um despejo de mem\u00f3ria j\u00e1 tiver sido gerado devido a uma exce\u00e7\u00e3o de mem\u00f3ria insuficiente no CLR, este sinalizador de rastreamento n\u00e3o ter\u00e1 nenhum efeito.<br \/>\nEscopo: somente global<\/td>\n<\/tr>\n<tr class=\"row-17\">\n\t<td class=\"column-1\">7806<\/td><td class=\"column-2\">Habilita uma conex\u00e3o de administrador dedicada (DAC) no SQL Server Express. Por padr\u00e3o, nenhum recurso DAC \u00e9 reservado no SQL Server Express. Para obter mais informa\u00e7\u00f5es, consulte Conex\u00e3o de diagn\u00f3stico para administradores de banco de dados.<br \/>\nEscopo: somente global<\/td>\n<\/tr>\n<tr class=\"row-18\">\n\t<td class=\"column-1\">8032*<\/td><td class=\"column-2\">Reverte os par\u00e2metros de limite de cache para a configura\u00e7\u00e3o do SQL Server 2005 RTM, que, em geral, permite que os caches sejam maiores. Use esta configura\u00e7\u00e3o quando entradas de cache reutilizadas com frequ\u00eancia n\u00e3o se ajustarem no cache e quando o Op\u00e7\u00e3o de configura\u00e7\u00e3o de servidor optimize for ad hoc workloads n\u00e3o tiver resolvido o problema com o cache do plano.<\/td>\n<\/tr>\n<tr class=\"row-19\">\n\t<td class=\"column-1\">8207<\/td><td class=\"column-2\">Habilita atualiza\u00e7\u00f5es singleton para replica\u00e7\u00e3o transacional. As atualiza\u00e7\u00f5es nos assinantes podem ser replicadas como um par de DELETE e INSERT. Isso pode n\u00e3o atender a regras de neg\u00f3cio, como acionar um gatilho UPDATE. Com o sinalizador de rastreamento 8207, uma atualiza\u00e7\u00e3o em uma coluna exclusiva que afeta apenas uma linha (uma atualiza\u00e7\u00e3o singleton) \u00e9 replicada como um UPDATE e n\u00e3o como um par DELETE ou INSERT. Se a atualiza\u00e7\u00e3o afetar uma coluna com uma restri\u00e7\u00e3o exclusiva ou se a atualiza\u00e7\u00e3o afetar v\u00e1rias linhas, a atualiza\u00e7\u00e3o ainda ser\u00e1 replicada como um par DELETE ou INSERT.<\/td>\n<\/tr>\n<tr class=\"row-20\">\n\t<td class=\"column-1\">9485<\/td><td class=\"column-2\">Desabilita a permiss\u00e3o SELECT para DBCC SHOW_STATISTICS.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-5 from cache -->\n<p><em>* Trace flag 1224 &#8211; O escalonamento de bloqueios para a granularidade no n\u00edvel de tabela ou HoBT tamb\u00e9m pode ser controlado usando a op\u00e7\u00e3o LOCK_ESCALATION da instru\u00e7\u00e3o<span class=\"Apple-converted-space\">\u00a0<\/span>ALTER TABLE.<br \/>\n* Trace flag 8032 &#8211; O sinalizador de rastreamento 8032 pode levar a um baixo desempenho se caches grandes disponibilizam menos mem\u00f3ria para outros consumidores de mem\u00f3ria, como o pool de buffers.<\/em><\/p>\n<p><span id=\"mt120\" class=\"sentence\" data-guid=\"839c50ef706622c97342146039631b49\" data-source=\"Global trace flags are set at the server level and are visible to every connection on the server.\">No SQL Server, h\u00e1 dois tipos de trace flags: sess\u00e3o e global.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><span id=\"mt121\" class=\"sentence\" data-guid=\"b9b9e956836a5c0fe4c40b8d802615f1\" data-source=\"Some flags can only be enabled as global, and some can be enabled at either global or session scope.\">Os trace flags de sess\u00e3o s\u00e3o ativos para uma conex\u00e3o. Enquanto os trace flags<\/span><span id=\"mt122\" class=\"sentence\" data-guid=\"160d7e532e2864958f4a6e1cc654e3dd\" data-source=\"The following rules apply:\"> globais s\u00e3o definidos no n\u00edvel de inst\u00e2ncia e s\u00e3o vis\u00edveis em todas as conex\u00f5es no servidor.<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span id=\"mt124\" class=\"sentence\" data-guid=\"beb78981e02493eb42deefbdbc020f0d\" data-source=\"Otherwise, the trace flag has no effect.\">As seguintes regras se aplicam:<\/span><\/p>\n<ul>\n<li><span id=\"mt125\" class=\"sentence\" data-guid=\"0d79c8c17fe4633128d6f8b8bf734aab\" data-source=\"We recommend that you enable global trace flags at startup, by using the &lt;strong&gt;-T&lt;\/strong&gt; command line option.\">O trace flag global deve ser habilitado <\/span><span id=\"mt127\" class=\"sentence\" data-guid=\"b6c8dd9270092fa009f717fbe9c2fec9\" data-source=\"A trace flag that is enabled at the session level never affects another session, and the effect of the trace flag is lost when the SPID that opened the session logs out.\">na inicializa\u00e7\u00e3o da inst\u00e2ncia, usando a op\u00e7\u00e3o de linha de comando<span class=\"Apple-converted-space\">\u00a0<\/span><strong>-T<\/strong>.<\/span><\/li>\n<\/ul>\n<ul>\n<li><span id=\"mt128\" class=\"sentence\" data-guid=\"077b30fe992d4bd8db70b9ff04c42716\" data-source=\"Trace flags are set on or off by using either of the following methods:\">O trace flag de sess\u00e3o, ele poder\u00e1 ser ativado na sess\u00e3o aberta, u<\/span><span id=\"mt129\" class=\"sentence\" data-guid=\"38316cb42d835c0fcfe51c59d06d7ab6\" data-source=\"Using the DBCC TRACEON and DBCC TRACEOFF commands. \">m trace flag habilitado no n\u00edvel de sess\u00e3o nunca afeta outra sess\u00e3o, e seu efeito se perde quando a SPID que abriu a sess\u00e3o faz logoff.<\/span><\/li>\n<\/ul>\n<p><strong>Habilitando um Trace Flag<\/strong><\/p>\n<p>Voc\u00ea pode habilitar um trace flag utilizando o comando DBCC TRACEON ou ent\u00e3o adiciona-lo como par\u00e2metro de inicializa\u00e7\u00e3o utilizando o par\u00e2metro <strong>-T<\/strong>.<\/p>\n<p><strong>Ativando o Trace Flag com o comando DBCC TRACEON<\/strong><\/p>\n<p><span class=\"notranslate\">Para habilitar um trace flag em<span class=\"Apple-converted-space\">\u00a0<\/span><strong>n\u00edvel de sess\u00e3o<\/strong><span class=\"Apple-converted-space\">\u00a0<\/span>(por exemplo trace flag 2528) voc\u00ea digita:<\/span><\/p>\n<p><span class=\"notranslate\">DBCC TRACEON (2528)<\/span><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON.png\"  rel=\"lightbox[392] attachment wp-att-403\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-403\" src=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON.png?resize=678%2C170\" alt=\"DBCC_TRACEON\" width=\"678\" height=\"170\" srcset=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON.png?w=868&amp;ssl=1 868w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON.png?resize=300%2C75&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON.png?resize=768%2C193&amp;ssl=1 768w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<p><span class=\"notranslate\">Se voc\u00ea em vez disso quiser habilitar um trace flag em<span class=\"Apple-converted-space\">\u00a0<\/span>n\u00edvel de inst\u00e2ncia<strong>, <\/strong>voc\u00ea deve adicionar um -1 como um par\u00e2metro.<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><\/p>\n<p><span class=\"notranslate\">DBCC TRACEON (2528, -1)<\/span><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON_GLOBAL.png\"  rel=\"lightbox[392] attachment wp-att-404\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-404\" src=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON_GLOBAL.png?resize=678%2C184\" alt=\"DBCC_TRACEON_GLOBAL\" width=\"678\" height=\"184\" srcset=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON_GLOBAL.png?w=939&amp;ssl=1 939w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON_GLOBAL.png?resize=300%2C81&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACEON_GLOBAL.png?resize=768%2C209&amp;ssl=1 768w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<p><strong>Usando par\u00e2metros de inicializa\u00e7\u00e3o<\/strong><\/p>\n<p><span class=\"notranslate\">Como j\u00e1 foi dito alguns trace flags funcionam apenas a n\u00edvel de sess\u00e3o e outros apenas no n\u00edvel de inst\u00e2ncia.<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><span class=\"notranslate\">Alguns devem ser definidos como par\u00e2metros de inicializa\u00e7\u00e3o do SQL Server.<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><span class=\"notranslate\">Isso pode ser feito usando o SQL Server Configuration Manager.<\/span><span class=\"Apple-converted-space\">\u00a0<\/span><span class=\"notranslate\">Clique duas vezes no servi\u00e7o do SQL Server (ou clique com o bot\u00e3o direito e escolha Propriedades)<\/span><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/Alter_Parametro_Properties.png\"  rel=\"lightbox[392] attachment wp-att-400\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-400\" src=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/Alter_Parametro_Properties.png?resize=678%2C172\" alt=\"Alter_Parametro_Properties\" width=\"678\" height=\"172\" srcset=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/Alter_Parametro_Properties.png?w=1279&amp;ssl=1 1279w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/Alter_Parametro_Properties.png?resize=300%2C76&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/Alter_Parametro_Properties.png?resize=768%2C195&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/Alter_Parametro_Properties.png?resize=1024%2C260&amp;ssl=1 1024w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<p>Alterne para a aba &#8220;Startup Parameters&#8221;<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/AddParameters.png\"  rel=\"lightbox[392] attachment wp-att-402\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-402\" src=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/AddParameters.png?resize=428%2C502\" alt=\"AddParameters\" width=\"428\" height=\"502\" srcset=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/AddParameters.png?w=428&amp;ssl=1 428w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/AddParameters.png?resize=256%2C300&amp;ssl=1 256w\" sizes=\"auto, (max-width: 428px) 100vw, 428px\" \/><\/a><\/p>\n<p>Se<span class=\"notranslate\"> voc\u00ea por exemplo quiser habilitar os trace flags 2528 e 3205, basta adiciona-los como par\u00e2metro:<\/span><\/p>\n<p><span class=\"notranslate\">-T2528; -T3205<\/span><\/p>\n<p>Reinicie o SQL Server para que as altera\u00e7\u00f5es entrem em vigor.<\/p>\n<p><span class=\"notranslate\"><strong>Verificando quais trace flags est\u00e3o ativos<br \/>\n<\/strong><\/span><\/p>\n<p><span class=\"notranslate\">Voc\u00ea pode verificar quais traces flags est\u00e3o ativos na sua inst\u00e2ncia usando o seguinte comando:<\/span><\/p>\n<p><span class=\"notranslate\">DBCC TRACESTATUS<\/span><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACESTATUS.png\"  rel=\"lightbox[392] attachment wp-att-405\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-405\" src=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACESTATUS.png?resize=678%2C170\" alt=\"DBCC_TRACESTATUS\" width=\"678\" height=\"170\" srcset=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACESTATUS.png?w=969&amp;ssl=1 969w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACESTATUS.png?resize=300%2C75&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/12\/DBCC_TRACESTATUS.png?resize=768%2C193&amp;ssl=1 768w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<p><span class=\"notranslate\">A sa\u00edda \u00e9 uma tabela que informa se um trace flag \u00e9 habilitado em sess\u00e3o ou em n\u00edvel global.<\/span><\/p>\n<p>Outros trace flags n\u00e3o documentados podem ser encontrados no artigo do Yusuf Anis no <a href=\"http:\/\/www.sqlservercentral.com\/articles\/trace+flags\/70131\/\">SQL Server Central.<\/a><\/p>\n<p>Bom pessoal espero ter ajudado.<\/p>\n<p>Um abra\u00e7o a todos,<\/p>\n<p>Tiago Neves<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 pessoal, tudo certo? No post de hoje vou abordar um pouco sobre as trace flags mais comuns do SQL Server, o Trace Flag \u00e9 uma configura\u00e7\u00e3o que nos permite customizar o que iremos rastrear na nossa inst\u00e2ncia. A maioria dos trace flags n\u00e3o est\u00e3o documentados pela Microsoft, ent\u00e3o n\u00e3o temos suporte e devemos ter [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"twitter_91251433_91251433":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpscppro_dont_share_socialmedia":false,"_wpscppro_custom_social_share_image":0,"_facebook_share_type":"","_twitter_share_type":"","_linkedin_share_type":"","_pinterest_share_type":"","_linkedin_share_type_page":"","_instagram_share_type":"","_medium_share_type":"","_threads_share_type":"","_google_business_share_type":"","_selected_social_profile":[],"_wpsp_enable_custom_social_template":false,"_wpsp_social_scheduling":{"enabled":false,"datetime":null,"platforms":[],"status":"template_only","dateOption":"today","timeOption":"now","customDays":"","customHours":"","customDate":"","customTime":"","schedulingType":"absolute"},"_wpsp_active_default_template":true},"categories":[20,5],"tags":[],"class_list":["post-392","post","type-post","status-publish","format-standard","hentry","category-sqlserver-geral","category-virtual-pass-br"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6eIyh-6k","jetpack-related-posts":[{"id":2414,"url":"https:\/\/www.tiagoneves.net\/blog\/sql-server-2016-esta-chegando-ao-fim-do-suporte-o-que-isso-significa-na-pratica\/","url_meta":{"origin":392,"position":0},"title":"SQL Server 2016 est\u00e1 chegando ao fim do suporte: o que isso significa na pr\u00e1tica?","author":"tiagoneves","date":"27 de abril de 2026","format":false,"excerpt":"O SQL Server 2016 ter\u00e1 seu suporte estendido encerrado em 14 de julho de 2026, o que resultar\u00e1 na falta de atualiza\u00e7\u00f5es de seguran\u00e7a e suporte. Continuar usando essa vers\u00e3o traz riscos como vulnerabilidades e n\u00e3o conformidade regulat\u00f3ria. Planejar a migra\u00e7\u00e3o para vers\u00f5es mais recentes ou cloud deve ser prioridade\u2026","rel":"","context":"Em &quot;Seguran\u00e7a&quot;","block_context":{"text":"Seguran\u00e7a","link":"https:\/\/www.tiagoneves.net\/blog\/category\/seguranca\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2026\/04\/sql_server_2016_eos_v3.png?fit=772%2C702&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2026\/04\/sql_server_2016_eos_v3.png?fit=772%2C702&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2026\/04\/sql_server_2016_eos_v3.png?fit=772%2C702&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2026\/04\/sql_server_2016_eos_v3.png?fit=772%2C702&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/posts\/392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/comments?post=392"}],"version-history":[{"count":7,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/posts\/392\/revisions"}],"predecessor-version":[{"id":407,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/posts\/392\/revisions\/407"}],"wp:attachment":[{"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/media?parent=392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/categories?post=392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/tags?post=392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}