{"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\">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\">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 [&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":[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":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":511,"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\/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}]}}