sexta-feira, 17 de novembro de 2017

SQL Operations Studio (for-preview)

Estamos muito animado para anunciar que SQL Operations Studio já está disponível em preview. SQL Operations Studio é uma ferramenta livre, leve para o desenvolvimento de banco de dados e operações para o SQL Server no Windows, Linux e Docker, banco de dados SQL Azure e SQL Azure Data Warehouse em máquinas com Windows, Mac ou Linux.


É fácil de se conectar ao Microsoft SQL Server com SQL Operations Studio e executar rotinas  operações-gerais reduzindo a curva de aprendizado para os administradores de banco de dados não-profissionais, que têm a responsabilidade de manter a integridade de dados baseados em SQL da sua organização.

À medida que mais organizações adotam DevOps para a gestão do ciclo de vida do aplicativo, os desenvolvedores e outros administradores de banco de dados não-profissionais encontram-se a assumir a responsabilidade pelo desenvolvimento e bancos de dados operacionais. Essas pessoas muitas vezes não têm tempo para aprender os "macetes" de banco de dados, tornando difícil de executar até mesmo as tarefas mais rotineiras. Microsoft SQL Operations Studio tem uma abordagem prescritiva para executar tarefas rotineiras, permitindo aos usuários realizar suas tarefas rapidamente, continuando a aprender sobre o trabalho.

Os usuários podem alavancar suas ferramentas de linha de comando favoritos (por exemplo, Bash, PowerShell, sqlcmd, o BCP e SSH) na janela de terminal integrado diretamente na interface do usuário SQL Operations Studio. Eles podem facilmente gerar e executar criar e inserir scripts para objetos de banco de dados SQL para criar cópias de seu banco de dados para fins de desenvolvimento ou teste. desenvolvedores de banco de dados pode aumentar a sua produtividade com trechos de código T-SQL inteligentes e experiências gráficas ricas para criar novos bancos de dados e objetos de banco de dados (como tabelas, vistas, procedimentos armazenados, usuários, logins, funções, etc.) ou para atualizar objetos de banco de dados existentes. Eles também têm a capacidade de criar ricos painéis personalizáveis ​​para monitorar e detectar rapidamente os gargalos de desempenho em seus bancos de dados SQL no local ou no Azure.

O SQL Operations Studio vem em um momento oportuno para usuários que usam clientes com o MacOS ou o Linux. Muitos usuários que usam ou planejam implantar o SQL Server 2017, que ficaram geralmente disponíveis em setembro de 2017, também usam Macs como clientes. Agora eles serão capazes de usar uma ferramenta de operações de desenvolvimento e operações de banco de dados gratuita da Microsoft, que é executada de forma nativa no seu sistema operacional escolhido.

SQL Operations Studio foi desenvolvido no código do Visual Studio com o objetivo de torná-lo altamente extensível. Ele é construído sobre uma arquitetura microservices extensíveis e inclui o serviço de ferramentas SQL construído em .NET Core. 

Eric Kang tem feito alguns grandes vídeos Visão geral. Confira o mais recente no Canal 9, abaixo, ou assistir a um dos Connect () sessões pré-gravadas acontecendo esta semana.




Esperamos que você adapte-se a esta nova ferramenta. É recebeu ótimas críticas da comunidade em testá-lo em beta privado e, com o seu feedback, podemos torná-lo ainda melhor. Junte-nos em melhorar SQL Operações Estúdio , contribuindo diretamente para o repositório GitHub .

Se você tiver dúvidas ou quiser adicionar comentários, por favor use a seção de comentários abaixo. Gostaríamos muito de ouvir de você!

quinta-feira, 9 de novembro de 2017

Funções determinísticas e não determinísticas - SQL Server

          As funções determinísticas sempre retornam o mesmo resultado quando são chamadas com o uso de um conjunto específico de valores de entrada e quando recebem o mesmo estado do banco de dados. 
          As funções não determinísticas podem retornar resultados diferentes cada vez que são chamadas com um conjunto específico de valores de entrada, mesmo que o estado do banco de dados que elas acessam permaneça o mesmo. Por exemplo, a função AVG sempre retorna o mesmo resultado, dadas as qualificações declaradas acima, mas a função GETDATE, que retorna o valor datetime atual, sempre retorna um resultado diferente. Este tópico identifica o determinismo de funções de sistema internas e o efeito da propriedade determinística de funções definidas pelo usuário.

Determinismo de função interna

Você não pode influenciar o determinismo de nenhuma função interna. Cada função interna é determinística ou não determinística com base no modo como a função é implementada peloSQL Server. Por exemplo, a especificação de uma cláusula ORDER BY em uma consulta não altera o determinismo de uma função usada nessa consulta.

As seguintes funções internas pertencentes a categorias de funções internas que sempre são determinísticas.
ABSDATEDIFFPOWER
ACOSDAYRADIANS
ASINDEGREESROUND
ATANEXPSIGN
ATN2FLOORSIN
CEILINGISNULLSQUARE
COALESCEISNUMERICSQRT
COSLOGTAN
COTLOG10YEAR
DATALENGTHMONTH
DATEADDNULLIF

As funções a seguir nem sempre são determinísticas, mas podem ser usadas em exibições indexadas ou índices em colunas computadas quando são especificadas de uma maneira determinística.

Todas as funções de agregação: Todas as funções de agregação são determinísticas, a menos que sejam especificadas com as cláusulas OVER e ORDER BY. 
CAST Determinística a menos que usado com datetimesmalldatetimeou sql_variant.
CHECKSUM Determinístico, com a exceção de CHECKSUM().
ISDATE Determinístico somente se usado com a função CONVERT, o parâmetro de estilo CONVERT é especificado e o estilo não é igual a 0, 100, 9 ou 109.
RAND RAND só é determinística quando um parâmetro seed é especificado.
CONVERT  Determinística, a menos que um destas condições exista:
O tipo é sql_variant. O tipo de destino é sql_variant e seu tipo de origem é não determinístico.
O tipo de origem ou de destino é datetime ou smalldatetime, o outro tipo de origem ou destino é uma cadeia de caracteres, e um estilo não determinístico é especificado. Para ser determinístico, o parâmetro de estilo deve ser uma constante. Além disso, estilos menores ou iguais a 100 são não determinísticos, com exceção dos estilos 20 e 21. Estilos maiores que 100 são determinísticos, com exceção dos estilos 106, 107, 109 e 113.

Todas as funções estatísticas de configuração, cursor, metadados, segurança e sistema são não determinísticas. As funções a seguir nunca são determinísticas
@@CONNECTIONSGETDATE
@@CPU_BUSYGETUTCDATE
@@DBTSGET_TRANSMISSION_STATUS
@@IDLELAG
@@IO_BUSYLAST_VALUE
@@MAX_CONNECTIONSLEAD
@@PACK_RECEIVEDMIN_ACTIVE_ROWVERSION
@@PACK_SENTNEWID
@@PACKET_ERRORSNEWSEQUENTIALID
@@TIMETICKSNEXT VALUE FOR
@@TOTAL_ERRORSNTILE
@@TOTAL_READPARSENAME
@@TOTAL_WRITEPERCENTILE_CONT
AT TIME ZONEPERCENTILE_DISC
CUME_DISTPERCENT_RANK
CURRENT_TIMESTAMPRAND
DENSE_RANKRANK
FIRST_VALUEROW_NUMBER
FORMATTEXTPTR