{"id":511,"date":"2016-03-31T13:34:09","date_gmt":"2016-03-31T13:34:09","guid":{"rendered":"http:\/\/www.tiagoneves.net\/blog\/?p=511"},"modified":"2016-03-31T13:34:09","modified_gmt":"2016-03-31T13:34:09","slug":"descobrindo-a-quanto-tempo-a-instancia-esta-up","status":"publish","type":"post","link":"https:\/\/www.tiagoneves.net\/blog\/descobrindo-a-quanto-tempo-a-instancia-esta-up\/","title":{"rendered":"Descobrindo a quanto tempo a inst\u00e2ncia est\u00e1 UP"},"content":{"rendered":"<p style=\"text-align: justify;\">Ol\u00e1 pessoal,<\/p>\n<p style=\"text-align: justify;\">No post de hoje vou compartilhar com voc\u00eas como descobrir o tempo que o servi\u00e7o do SQL Server est\u00e1 em execu\u00e7\u00e3o no seu servidor.<\/p>\n<p style=\"text-align: justify;\">Para obter essa informa\u00e7\u00e3o vamos utilizar a DMV <a href=\"https:\/\/msdn.microsoft.com\/pt-br\/library\/ms175048(v=sql.110).aspx\" target=\"_blank\" rel=\"noopener\">dm_os_sys_info<\/a> ela retorna informa\u00e7\u00f5es sobre os recursos que a inst\u00e2ncia est\u00e1 consumindo, al\u00e9m da data que a inst\u00e2ncia foi iniciada, a DMV est\u00e1 dispon\u00edvel desde a vers\u00e3o SQL Server 2008, por\u00e9m no SQL Server 2012 algumas colunas foram renomeadas. Para obter o tempo que a inst\u00e2ncia est\u00e1 online tamb\u00e9m podemos utilizar a data de cria\u00e7\u00e3o do Temdb.<\/p>\n<p style=\"text-align: justify;\">\n<pre class=\"theme:ssms2012 lang:tsql decode:true\"> DECLARE\r\n    @starttime DATETIME,\r\n    @minutos INT,\r\n    @dias INT,\r\n    @horas INT; \r\n \r\n SELECT\r\n    @starttime = sqlserver_start_time\r\n FROM\r\n    sys.dm_os_sys_info;\r\n\r\n SET @minutos = DATEDIFF(mi, @starttime, GETDATE());\r\n SET @dias = @minutos \/ 1440;\r\n SET @horas = ( @minutos \/ 60 ) - ( @dias * 24 );\r\n SET @minutos = @minutos - ( ( @horas + ( @dias * 24 ) ) * 60 );\r\n\r\n PRINT 'A inst\u00e2ncia \"' + CONVERT(VARCHAR(20), SERVERPROPERTY('SERVERNAME')) + '\" est\u00e1 online h\u00e1 ' + CAST(@dias AS VARCHAR(30)) + ' dias &amp; ' + CAST(@horas AS VARCHAR(30)) + ' horas &amp; ' + CAST(@minutos AS VARCHAR(30)) + ' minutos';\r\n IF NOT EXISTS ( SELECT\r\n                    1\r\n                 FROM\r\n                    master.sys.sysprocesses\r\n                 WHERE\r\n                    program_name = N'SQLAgent - Generic Refresher' )\r\n    BEGIN\r\n        PRINT 'O servi\u00e7o do SQL Server est\u00e1 em execu\u00e7\u00e3o, por\u00e9m o SQL Server Agent est\u00e1 parada';\r\n    END;\r\n ELSE\r\n    BEGIN\r\n        PRINT 'O servi\u00e7o do SQL Server e SQL Server Agent est\u00e3o em execu\u00e7\u00e3o';\r\n    END;\r\n<\/pre>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao.png\"  rel=\"lightbox[511] attachment wp-att-522\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-522\" src=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao.png?resize=678%2C65\" alt=\"ServicoEmExecucao\" width=\"678\" height=\"65\" srcset=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao.png?w=837&amp;ssl=1 837w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao.png?resize=300%2C29&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao.png?resize=768%2C73&amp;ssl=1 768w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Script utilizando a data de cria\u00e7\u00e3o do Tempdb.<\/p>\n<pre class=\"theme:ssms2012 lang:tsql decode:true\"> DECLARE\r\n    @dtcriacao DATETIME,\r\n    @minutos INT,\r\n    @dias INT,\r\n    @horas INT,\r\n\t@hoje datetime;\r\n\r\nSET @hoje = GETDATE()\r\n\r\nSELECT @dtcriacao=crdate FROM sysdatabases WHERE NAME='tempdb'\r\n\r\nSET @minutos = DATEDIFF (mi,@dtcriacao,@hoje)\r\nSET @dias= @minutos\/1440\r\nSET @horas = (@minutos\/60) - (@dias * 24)\r\nSET @minutos= @minutos - ( (@horas + (@dias*24)) * 60)\r\n\r\nPRINT 'A inst\u00e2ncia \"' + CONVERT(VARCHAR(20), SERVERPROPERTY('SERVERNAME')) + '\" est\u00e1 online h\u00e1 ' + CAST(@dias AS VARCHAR(30)) + ' dias &amp; ' + CAST(@horas AS VARCHAR(30)) + ' horas &amp; ' + CAST(@minutos AS VARCHAR(30)) + ' minutos';\r\n IF NOT EXISTS ( SELECT\r\n                    1\r\n                 FROM\r\n                    master.sys.sysprocesses\r\n                 WHERE\r\n                    program_name = N'SQLAgent - Generic Refresher' )\r\n    BEGIN\r\n        PRINT 'O servi\u00e7o do SQL Server est\u00e1 em execu\u00e7\u00e3o, por\u00e9m o SQL Server Agent est\u00e1 parada';\r\n    END;\r\n ELSE\r\n    BEGIN\r\n        PRINT 'O servi\u00e7o do SQL Server e SQL Server Agent est\u00e3o em execu\u00e7\u00e3o';\r\n    END;\r\n\r\n<\/pre>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao_Tempdb.png\"  rel=\"lightbox[511] attachment wp-att-521\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-521\" src=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao_Tempdb.png?resize=678%2C60\" alt=\"ServicoEmExecucao_Tempdb\" width=\"678\" height=\"60\" srcset=\"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao_Tempdb.png?w=836&amp;ssl=1 836w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao_Tempdb.png?resize=300%2C27&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/03\/ServicoEmExecucao_Tempdb.png?resize=768%2C68&amp;ssl=1 768w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">A diferen\u00e7a de 1 (um) minuto entre a DMV <a href=\"https:\/\/msdn.microsoft.com\/pt-br\/library\/ms175048(v=sql.110).aspx\" target=\"_blank\" rel=\"noopener\">dm_os_sys_info<\/a> e a data de cria\u00e7\u00e3o do arquivo do Tempdb, \u00e9 por que a DMV utiliza o exato momento que a inst\u00e2ncia foi iniciada, o fluxo normal \u00e9 a inst\u00e2ncia ser iniciada, carrega-se as configura\u00e7\u00f5es e depois cria o arquivo do Tempdb, por isso essa diferen\u00e7a, em alguns contratos de SLA com disponibilidade 99,999% utiliza-se o contador da DMV.<\/p>\n<p style=\"text-align: justify;\">Bom por hoje \u00e9 isso, at\u00e9 a pr\u00f3xima.<\/p>\n<p style=\"text-align: justify;\">Abra\u00e7os,<\/p>\n<p style=\"text-align: justify;\">Tiago Neves<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 pessoal, No post de hoje vou compartilhar com voc\u00eas como descobrir o tempo que o servi\u00e7o do SQL Server est\u00e1 em execu\u00e7\u00e3o no seu servidor. Para obter essa informa\u00e7\u00e3o vamos utilizar a DMV dm_os_sys_info ela retorna informa\u00e7\u00f5es sobre os recursos que a inst\u00e2ncia est\u00e1 consumindo, al\u00e9m da data que a inst\u00e2ncia foi iniciada, a&#8230;<\/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","_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},"jetpack_post_was_ever_published":false,"_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":[2,4,20,5],"tags":[127,125,35,105,115,119,126],"class_list":["post-511","post","type-post","status-publish","format-standard","hentry","category-casos-do-dia-a-dia","category-scripts","category-sqlserver-geral","category-virtual-pass-br","tag-dbasqlserver","tag-dmv","tag-sql-server","tag-tempdb","tag-tiago-neves","tag-tiagodba","tag-uptime"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6eIyh-8f","jetpack-related-posts":[{"id":586,"url":"https:\/\/www.tiagoneves.net\/blog\/habilitando-dac-sql-server\/","url_meta":{"origin":511,"position":0},"title":"Habilitando DAC SQL Server","author":"tiagoneves","date":"31 de maio de 2016","format":false,"excerpt":"Ol\u00e1 pessoal, tudo certo? No post de hoje vou comentar a respeito de uma conex\u00e3o especial que poucos DBA's habilitam ao configurar a inst\u00e2ncia, essa conex\u00e3o est\u00e1 disponibilizada desde a vers\u00e3o SQL Server 2005, a Microsoft introduziu a feature chamada Dedicated Administrator Connection (DAC), essa conex\u00e3o deve ser utilizada somente\u2026","rel":"","context":"Em &quot;SQLServer Geral&quot;","block_context":{"text":"SQLServer Geral","link":"https:\/\/www.tiagoneves.net\/blog\/category\/sqlserver-geral\/"},"img":{"alt_text":"Habilitando_DAC_sys.dm_os_schedulers","src":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/05\/Habilitando_DAC_sys.dm_os_schedulers.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":167,"url":"https:\/\/www.tiagoneves.net\/blog\/restaurar-uma-database-sql-server-2012-em-uma-instancia-sql-server-inferior\/","url_meta":{"origin":511,"position":1},"title":"Restaurando uma database SQL Server 2012 em uma inst\u00e2ncia SQL Server inferior.","author":"tiagoneves","date":"29 de junho de 2015","format":false,"excerpt":"Ol\u00e1 pessoal, tudo certo? No post de hoje vou falar sobre uma d\u00favida que \u00e9 comum entre muitos usu\u00e1rios, algumas vezes vejo posts de d\u00favida sobre o como fazer o restore de uma base, em uma vers\u00e3o anterior da vers\u00e3o corrente do SQL Server, como por exemplo: Restaurar uma base\u2026","rel":"","context":"Em &quot;Casos do dia-a-dia&quot;","block_context":{"text":"Casos do dia-a-dia","link":"https:\/\/www.tiagoneves.net\/blog\/category\/casos-do-dia-a-dia\/"},"img":{"alt_text":"1.2","src":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/06\/1.2.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/06\/1.2.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2015\/06\/1.2.png?resize=525%2C300 1.5x"},"classes":[]},{"id":2234,"url":"https:\/\/www.tiagoneves.net\/blog\/dicas-do-dia-a-dia-melhorando-a-performance-reduzindo-os-waits-do-t-log\/","url_meta":{"origin":511,"position":2},"title":"Dicas do dia a dia &#8211; Melhorando a performance reduzindo os waits do T-Log","author":"tiagoneves","date":"8 de outubro de 2019","format":false,"excerpt":"Ol\u00e1 pessoal tudo certo? No post de hoje quero compartilhar com voc\u00eas uma situa\u00e7\u00e3o que \u00e9 bastante comum no meu dia a dia de Consultor de Banco de Dados SQL Server. Estava realizando uma atividade de tuning em um cliente e percebi que quando executava algo que escrevia no log\u2026","rel":"","context":"Em &quot;Casos do dia-a-dia&quot;","block_context":{"text":"Casos do dia-a-dia","link":"https:\/\/www.tiagoneves.net\/blog\/category\/casos-do-dia-a-dia\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2019\/10\/T-Log-take-care-014.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2019\/10\/T-Log-take-care-014.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2019\/10\/T-Log-take-care-014.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2019\/10\/T-Log-take-care-014.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2216,"url":"https:\/\/www.tiagoneves.net\/blog\/como-tirei-a-certificacao-mcse-data-management-and-analytics\/","url_meta":{"origin":511,"position":3},"title":"Como tirei a certifica\u00e7\u00e3o MCSE &#8211; Data Management and Analytics","author":"tiagoneves","date":"18 de setembro de 2019","format":false,"excerpt":"Ol\u00e1 pessoal tudo certo? No post de hoje eu vou comentar um pouco sobre provas de certifica\u00e7\u00e3o, especialmente sobre as provas 70-764, 70-765 e 70-465. Quem me acompanha nas redes sociais (LinkedIn \/ Twitter \/ Facebook) viu que nas \u00faltimas semanas eu recebi o t\u00edtulo de MCSE (Microsoft Certified Solutions\u2026","rel":"","context":"Em &quot;Certifica\u00e7\u00e3o&quot;","block_context":{"text":"Certifica\u00e7\u00e3o","link":"https:\/\/www.tiagoneves.net\/blog\/category\/certificacao\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2019\/09\/MCSE-Data-Management-and-Analytics2019.png?fit=600%2C600&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2019\/09\/MCSE-Data-Management-and-Analytics2019.png?fit=600%2C600&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2019\/09\/MCSE-Data-Management-and-Analytics2019.png?fit=600%2C600&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":664,"url":"https:\/\/www.tiagoneves.net\/blog\/instalando-o-sql-server-2016-e-o-management-studio\/","url_meta":{"origin":511,"position":4},"title":"Instalando o SQL Server 2016 e o Management Studio","author":"tiagoneves","date":"5 de julho de 2016","format":false,"excerpt":"Ol\u00e1 pessoal, tudo certo? Neste post, demonstrarei como fazer a instala\u00e7\u00e3o stand-alone do SQL Server 2016. Ele segue o mesmo padr\u00e3o das outras vers\u00f5es do SQL Server, por\u00e9m agora, temos alguns pontos novos que devemos nos atentar. Portanto, se voc\u00ea que ainda n\u00e3o fez a instala\u00e7\u00e3o do SQL Server, espero\u2026","rel":"","context":"Em &quot;Casos do dia-a-dia&quot;","block_context":{"text":"Casos do dia-a-dia","link":"https:\/\/www.tiagoneves.net\/blog\/category\/casos-do-dia-a-dia\/"},"img":{"alt_text":"Install_SQLSERVER2016_ERROR_CONFIGURATION","src":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/07\/Install_SQLSERVER2016_ERROR_CONFIGURATION.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/07\/Install_SQLSERVER2016_ERROR_CONFIGURATION.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/07\/Install_SQLSERVER2016_ERROR_CONFIGURATION.png?resize=525%2C300 1.5x"},"classes":[]},{"id":468,"url":"https:\/\/www.tiagoneves.net\/blog\/atualizando-o-windows-server-de-um-cluster-sql-server\/","url_meta":{"origin":511,"position":5},"title":"Atualizando o Windows Server de um Cluster SQL Server","author":"tiagoneves","date":"24 de fevereiro de 2016","format":false,"excerpt":"Ol\u00e1 pessoal tudo certo? No post de hoje vou comentar e demonstrar uma migra\u00e7\u00e3o de sistema operacional de um Cluster SQL Server que fiz essa semana. Cen\u00e1rio: Na empresa que trabalho tem um cluster SQL Server ativo\/passivo, nele tem 10 inst\u00e2ncias SQL Server 2008 R2 instaladas e os servidores eram\u2026","rel":"","context":"Em &quot;Casos do dia-a-dia&quot;","block_context":{"text":"Casos do dia-a-dia","link":"https:\/\/www.tiagoneves.net\/blog\/category\/casos-do-dia-a-dia\/"},"img":{"alt_text":"Windows_Cluster_Single_Node","src":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/02\/Windows_Cluster_Single_Node.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/02\/Windows_Cluster_Single_Node.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/02\/Windows_Cluster_Single_Node.png?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/02\/Windows_Cluster_Single_Node.png?resize=700%2C400 2x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/02\/Windows_Cluster_Single_Node.png?resize=1050%2C600 3x, https:\/\/i0.wp.com\/www.tiagoneves.net\/blog\/wp-content\/uploads\/2016\/02\/Windows_Cluster_Single_Node.png?resize=1400%2C800 4x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/posts\/511","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=511"}],"version-history":[{"count":8,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/posts\/511\/revisions"}],"predecessor-version":[{"id":526,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/posts\/511\/revisions\/526"}],"wp:attachment":[{"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/media?parent=511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/categories?post=511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tiagoneves.net\/blog\/wp-json\/wp\/v2\/tags?post=511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}