login sql server 2016

Recentemente instalei uma instância do sql server 2016 que permitia apenas autenticação to tipo windows authentication, posteriormente apliquei a atualização do SP1 eu modifiquei a instancia para também aceitar sql authentication, criei um novo usuário sql com permissão sysadmin, e ainda assim eu recebia uma negativa de conexão com a resposta:

Login failed for user ‘agnaldo’. ( Mcrosoft Sql Server, Error: 18456)

Aí reiniciei a instancia, e tudo funcionou normalmente. Conferindo a documentação msdn, verá que sempre que realizar a mudança de uma instancia que permite apenas windows authentication para mixed authentication, será necessário reiniciar a instancia, conforme a documentação oficial em 4 passos.

https://msdn.microsoft.com/en-us/library/ms188670.aspx

To change security authentication mode

  1. In SQL Server Management Studio Object Explorer, right-click the server, and then click Properties.
  2. On the Security page, under Server authentication, select the new server authentication mode, and then click OK.
  3. In the SQL Server Management Studio dialog box, click OK to acknowledge the requirement to restart SQL Server.
  4. In Object Explorer, right-click your server, and then click Restart. If SQL Server Agent is running, it must also be restarted.

Mas além disso, para muitas outras situações sabemos que vira e mexe a velha história de reboot/restart por mais simplória que pareça ser, zera alguns marcadores e variáveis que no final das contas resolve nossos problemas.

 

 

Erro informando path string no SSIS

Um problema muito comum em aplicações, e digo isso porque não se trata apenas de um problema restrito a ferramenta Sql Server Integration Service (SSIS), mas também lembro-me de me deparar com o mesmo problema quando programava em Delphi e PHP  para ambientes Windows Servers, diferentemente dos outros windows, sempre que se desejava informar um caminho físico de uma pasta no Servidor, não bastava informar algo do tipo

c:\pasta\arquivo.txt

Para ambientes windows server o correto seria:

c:\\pasta\\arquivo.txt

Hoje tentando atribuir um caminho a uma variável no SSIS, tive um erro conforme  conforme a imagem:

Por intuição descrobri que a composição de strings é semelhante no SSIS dentro de expressions, a diversas linguagens de programação. E é simplesmente resolvido passando a colocar 2 barras invertidas ao invés de uma única barra invertida. No SSIS sempre que se deseja passar um caracter que funcionaria como um caracter de fechamento, utiliza-se barra invertida (\) exemplo se eu quiser atribuir a string:  ela disse:- Ele é “forte”:

@str = “ela disse: – Ele é \”forte\”

Observe que sem a barra invertida, as aspas duplas funcionariam como final de string. Eis o porque da diferenciação da barra invertida dentro de strings, ela tem um tratamento deferenciado dos demais caracteres, ela funciona como um caracter de controle dentro de strings, para validar qualquer caracter seguinte como texto e não um modificador seja ele aspas duplas(“) ou a própria barra invertida (\), assim sendo se vc quiser passar uma barra invertida dentro de um string, deverá colocar 2 barras inverdidas ao invés de uma única, pois a primeira barra invertida irá funcionar como caracter de controle para dizer que a próxima barra invertida deve ser considerada como texto.

 

Translate »