{"id":752,"date":"2015-10-23T23:08:31","date_gmt":"2015-10-24T02:08:31","guid":{"rendered":"http:\/\/thesqltimes.com\/blog\/?p=752"},"modified":"2018-12-19T20:28:31","modified_gmt":"2018-12-19T23:28:31","slug":"instancia-default-e-conectividade-nao-default-parte-3-final","status":"publish","type":"post","link":"https:\/\/thesqltimes.com\/blog\/2015\/10\/23\/instancia-default-e-conectividade-nao-default-parte-3-final\/","title":{"rendered":"Inst\u00e2ncia DEFAULT e conectividade n\u00e3o default &#8211; Parte 3"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Muito \u00fatil!\" data-post-id=\"752\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">    <\/span>\r\n<\/div><\/div><div class=\"seriesmeta\">Post 3\/3. Este post \u00e9 parte da s\u00e9rie: <a href=\"https:\/\/thesqltimes.com\/blog\/series\/instancia-default-e-conectividade-nao-default\/\" class=\"series-152\" title=\"Inst\u00e2ncia DEFAULT e conectividade n\u00e3o default\">Inst\u00e2ncia DEFAULT e conectividade n\u00e3o default<\/a>\r\n<\/div>\r\n<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de Leitura:<\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span><p>Ol\u00e1! Finalmente, chegamos ao \u00faltimo post sobre conectividade e inst\u00e2ncia DEFAULT! Na <a href=\"http:\/\/thesqltimes.com\/blog\/2015\/10\/14\/instancia-default-e-conectividade-nao-default-parte-1\/\" target=\"_blank\" rel=\"noopener\">parte 1<\/a> e <a href=\"http:\/\/thesqltimes.com\/blog\/2015\/10\/18\/instancia-default-e-conectividade-nao-default-parte-2\/\" target=\"_blank\" rel=\"noopener\">parte 2<\/a> eu mostrei como as configura\u00e7\u00f5es de conectividade podem resultar em timeouts e delays na conex\u00e3o. Para encerrar, tem um outro caso bem interessante: quando uma inst\u00e2ncia nomeada est\u00e1 rodando na porta ou pipe default, em um servidor com uma inst\u00e2ncia DEFAULT rodando em outra porta. Como voc\u00ea j\u00e1 deve esperar, este \u00e9 um caso que pode gerar problemas mais s\u00e9rios! Vamos l\u00e1!?<\/p>\n<h3><strong>Cen\u00e1rio Outra Inst\u00e2ncia na porta 1433<\/strong><\/h3>\n<p>Bom! J\u00e1 vimos que uma inst\u00e2ncia DEFAULT aguardando conex\u00f5es em portas ou pipes diferente dos valores padr\u00f5es j\u00e1 pode trazer muitos problemas. Agora, indo contra todos os exemplos anteriores, vamos colocar uma inst\u00e2ncia nomeada rodando na porta 1433 e no final voc\u00ea ter\u00e1 um servidor com duas inst\u00e2ncias:<\/p>\n<ul>\n<li>A inst\u00e2ncia DEFAULT est\u00e1 em uma porta diferente da default (1436 em nosso exemplo)<\/li>\n<li>A inst\u00e2ncia nomeada (SQL08R2) est\u00e1 na 1433<\/li>\n<\/ul>\n<p>Eu acho que um ambiente assim n\u00e3o faz sentido, mas penso que podem haver certas situa\u00e7\u00f5es que acabem resultando nesta configura\u00e7\u00e3o. Esta \u00e9 uma outra discurs\u00e3o e n\u00e3o v\u00eam ao caso. Bom, chega de bl\u00e1 bl\u00e1 e vamos ao que interessa. Vou executar um script simples: Ele se conecta em cada inst\u00e2ncia e mostra o nome da mesma usando a vari\u00e1vel @@SERVERNAME. Bom, vamos fazer o teste na inst\u00e2ncia DEFAULT:<\/p>\n<pre class=\"lang:batch decode:true\">sqlcmd -S SQL1 -U Rodrigo -P rrg -Q \"SELECT @@SERVERNAME As ServerName\"<\/pre>\n<p>Como este \u00e9 uma teste bem trivial apenas executar o sqlcmd basta. Olha qual foi o resultado pra mim:<\/p>\n<p><a href=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2015\/10\/Cenrario2Instancias-Sqlcmd-default-Resultado.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-737\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2015\/10\/Cenrario2Instancias-Sqlcmd-default-Resultado.png\" alt=\"Resultado da conex\u00e3o na inst\u00e2ncia DEFAULT\" width=\"818\" height=\"200\" srcset=\"https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2015\/10\/Cenrario2Instancias-Sqlcmd-default-Resultado.png 818w, https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2015\/10\/Cenrario2Instancias-Sqlcmd-default-Resultado-300x73.png 300w\" sizes=\"auto, (max-width: 818px) 100vw, 818px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Nossa! Que mer*@$$%! hein!? \u00a0Dessa vez n\u00e3o houveram delays, mas aconteceu algo pior. Voc\u00ea se conectou na inst\u00e2ncia errada! Isso pode representar um perigo se estas duas inst\u00e2ncias t\u00eam, por exemplo, duas bases id\u00eanticas. Depois de tudo o que vimos anteriormente, fica f\u00e1cil dizer o que houve: aquela tentativa inicial na 1433 foi feita, e como a inst\u00e2ncia SQL08R2 est\u00e1 escutando nesta porta, o client acabou se conectando na inst\u00e2ncia nomeada ao inv\u00e9s de se conectar na inst\u00e2ncia DEFAULT.<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Diante disto, o que podemos deixar para a li\u00e7\u00e3o \u00e9: Sempre deixe uma inst\u00e2ncia DEFAULT na porta e pipe defaults, a menos que voc\u00ea tenha total controle de como as aplica\u00e7\u00f5es v\u00e3o se conectar nela. Imagie este problema em aplica\u00e7\u00f5es como o SSIS que, dependendo do pacote, abre v\u00e1rias conex\u00f5es ao mesmo tempo&#8230; O pr\u00f3prio SSMS abre muitas conex\u00f5es a medida que vamos usando a interface, o que pode tornar tarefas simples um pouco mais demoradas. Isso sem contar os poss\u00edveis timeouts.<\/p>\n<p>&nbsp;<\/p>\n<p>Antes de ir, deixo aqui alguns links \u00fateis que falam mais sobre este problema e outros de conectividade:<\/p>\n<ul>\n<li>\n<p class=\"post-name\">Running SQL Server \u2018Default\u2019 instance on a non-default (or non-standard) TCP port: : tips for making application connectivity work<br \/>\n<a href=\"http:\/\/blogs.msdn.com\/b\/dataaccesstechnologies\/archive\/2010\/03\/03\/running-sql-server-default-instance-on-a-non-default-or-non-standard-tcp-port-tips-for-making-application-connectivity-work.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/blogs.msdn.com\/b\/dataaccesstechnologies\/archive\/2010\/03\/03\/running-sql-server-default-instance-on-a-non-default-or-non-standard-tcp-port-tips-for-making-application-connectivity-work.aspx<\/a><\/p>\n<\/li>\n<li>Steps to troubleshoot SQL connectivity issues<br \/>\n<a href=\"http:\/\/blogs.msdn.com\/b\/sql_protocols\/archive\/2008\/04\/30\/steps-to-troubleshoot-connectivity-issues.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/blogs.msdn.com\/b\/sql_protocols\/archive\/2008\/04\/30\/steps-to-troubleshoot-connectivity-issues.aspx<br \/>\n<\/a><\/li>\n<li>How best to connect to a default instance of SQL Server listening on a non-standard port with a firewall enabled<br \/>\n<a href=\"http:\/\/blogs.msdn.com\/b\/dataaccesstechnologies\/archive\/2010\/03\/10\/how-best-to-connect-to-a-default-instance-of-sql-server-listening-on-a-non-standard-port-with-a-firewall-enabled.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/blogs.msdn.com\/b\/dataaccesstechnologies\/archive\/2010\/03\/10\/how-best-to-connect-to-a-default-instance-of-sql-server-listening-on-a-non-standard-port-with-a-firewall-enabled.aspx<\/a><\/li>\n<li>SQL Server 2005 Connectivity Issue Troubleshoot &#8211; Part I<br \/>\n<a href=\"http:\/\/blogs.msdn.com\/b\/sql_protocols\/archive\/2005\/10\/22\/sql-server-2005-connectivity-issue-troubleshoot-part-i.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/blogs.msdn.com\/b\/sql_protocols\/archive\/2005\/10\/22\/sql-server-2005-connectivity-issue-troubleshoot-part-i.aspx<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: right;\">[]&#8217;s<br \/>\nRodrigo Ribeiro Gomes<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_701\" aria-describedby=\"caption-attachment-701\" style=\"width: 236px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.sqlsaturday.com\/469\/RegisterNow.aspx\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-701\" src=\"http:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2015\/10\/sqlsat469_web.png\" alt=\"Registre-se no SQL Saturday 469 e garanta sua vaga para!\" width=\"236\" height=\"115\" \/><\/a><figcaption id=\"caption-attachment-701\" class=\"wp-caption-text\">Registre-se no SQL Saturday 469 e garanta sua vaga para!<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<div class=\"seriesmeta\">This entry is part 3 of 3 in the series <a href=\"https:\/\/thesqltimes.com\/blog\/series\/instancia-default-e-conectividade-nao-default\/\" class=\"series-152\" title=\"Inst\u00e2ncia DEFAULT e conectividade n\u00e3o default\">Inst\u00e2ncia DEFAULT e conectividade n\u00e3o default<\/a><\/div><p>Ol\u00e1! Finalmente, chegamos ao \u00faltimo post sobre conectividade e inst\u00e2ncia DEFAULT! Na parte 1 e parte 2 eu mostrei como as configura\u00e7\u00f5es de conectividade podem resultar em timeouts e delays na conex\u00e3o. Para encerrar, tem um outro caso bem interessante: quando uma inst\u00e2ncia nomeada est\u00e1 rodando na porta ou pipe default, em um servidor com&hellip;&nbsp;<a href=\"https:\/\/thesqltimes.com\/blog\/2015\/10\/23\/instancia-default-e-conectividade-nao-default-parte-3-final\/\" rel=\"bookmark\"><span class=\"screen-reader-text\">Inst\u00e2ncia DEFAULT e conectividade n\u00e3o default &#8211; Parte 3<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":701,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_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,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[8,9,3,7],"tags":[160,170,158,161,73],"series":[152],"class_list":["post-752","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administracao","category-arquitetura","category-banco-de-dados-2","category-sql-server","tag-160","tag-instancia-nomeada","tag-instancias-default","tag-named-pipes","tag-sql-server","series-instancia-default-e-conectividade-nao-default"],"_links":{"self":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts\/752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/comments?post=752"}],"version-history":[{"count":6,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts\/752\/revisions"}],"predecessor-version":[{"id":960,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts\/752\/revisions\/960"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/media\/701"}],"wp:attachment":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/media?parent=752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/categories?post=752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/tags?post=752"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/series?post=752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}