#01 – Para que serve


Muito bom dia, comunidade…..Tudo bem?

Hoje com muito orgulho e bastante ansiedade estou lançando uma nova sessão no meu blog, tenho a certeza que será algo muito diferente e que poderá trazer bastante interesse de todos. Este é o post #01 da sessão “Para que serve”, uma nova sessão que estará sendo publicada mensalmente com objetivo de apresentar como um script, ferramenta, linha de comando, enfim algo que esteja relacionado ao SQL Server e Banco de Dados que você não conheça ou tenha uma leve ideia de como pode ser utilizado.

Para este primeiro post, vou apresentar um pequeno script que utilizo frequentemente no SQL Server, sempre que necessito identificar algumas informações relacionadas a índices. Segue abaixo o Script #01 – Para que serve:

— #01 – Para que serve —

SELECT OBJECT_NAME(B.object_id) AS TableName,

              B.name AS IndexName,

              A.index_type_desc AS IndexType,

             A.avg_fragmentation_in_percent

FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, ‘LIMITED’) A

            INNER JOIN sys.indexes B WITH(NOLOCK)

             ON B.object_id = A.object_id AND B.index_id = A.index_id

WHERE A.avg_fragmentation_in_percent > 30

AND OBJECT_NAME(B.object_id) NOT LIKE ‘[_]%’

AND A.index_type_desc != ‘HEAP’

ORDER BY A.avg_fragmentation_in_percent DESC


 

Então, veja, analíse e tente identificar o que este pequeno script pode fazer, e agora eu vou fazer a pergunta que leva o nome desta sessão.

Para que serve? Para que serve este script? Você já tem a resposta? Ela é muito simples e bastante útil.

Dicas: Se você analisou o código, poderá ter identificado algumas palavras chaves que podem ajudar:

  • Indexes;
  • Fragmentation;
  • AVG; e
  • Percent.

Hummm, se você juntar todas estas palavras, começamos a ter ideia do que e para que serve este script, se você chegou a conclusão que estamos falando de fragmentação de índices, acerto, consegui descobrir para que serve.

Resposta: O #01 – Para que serve faz referência e apresenta uma das maneiras mais utilizadas no SQL Server para se obter informações sobre índices fragmentados ou com indicadores de fragmentação. A primeira etapa para optar pelo método de fragmentação a ser usado é analisar o índice para determinar o grau de fragmentação.

Usando a função de sistema sys.dm_db_index_physical_stats, você pode detectar a fragmentação em um índice específico, em todos os índices de uma tabela ou exibição indexada, em todos os índices de um banco de dados ou em todos os índices de todos os bancos de dados.

Para índices particionados, sys.dm_db_index_physical_stats também fornece informações de fragmentação por partição.


Então é isso pessoal, este foi #01 – Para que serve, com certeza muito coisa será melhorada, novas ideias e formas de demonstrar como podemos usar e para que serve algo que se relaciona ao SQL Server e Banco de Dados.

Deseje suas críticas, sugestões, comentários e opiniões.

Mais uma vez o meu obrigado, um grande abraço, sucesso, nos encontramos em breve.

Valeu.

Dica do Mês – Função Next Value For


Olá, galera, bom dia.

Estamos chegando ao final do primeiro mês de 2016, nossa janeiro já esta indo embora. Como eu havia prometido no início deste ano, dentro do possível vou tentar trazer novas sessões para o meu blog e hoje falo do lançamento ou melhor o retorno de uma delas que vou batizar de “Dica do Mês“, é isso mesmo, no final de cada vez vou trazer uma simples dica relacionada a algo que utililizei em minhas atividades profissionais e acadêmicas.

O objetivo desta sessão como seu próprio nome diz, é compartilhar com você leitor ou seguidor do meu blog, uma simples dica que poderá fazer toda diferença no seu dia-á-dia ou simplesmente mostrar como utilizar um determinado recurso, funcionalidade e produto existente no SQL Server.

Neste primeiro post, quero destacar uma função muito legal que foi introduzida no Microsoft SQL Server 2012 e que recentemente em diversas dúvidas nos fóruns brasileiros de SQL Server acabou sendo destaque como solução. Estou me referindo ao função Next Valeu For fazendo uma tradução ao pé da letra podemos dizer: Próximo Valor para.

 

Sobre Next Value For –  Função que possui a característica possibilitar a geração de uma sequência de números para uma objeto específico, neste caso, o objeto que refiro é Sequence Object, funcionalidade também introduzida a partir do Microsoft SQL Server 2012, em conjunto com diversas novidades relacionadas a geração de sequência de valores numéricos.

A Next Value For é reconhecida como uma função não-determinística, desta maneira o sua utilização é somente permitida em conjunto com o objeto sequence, sendo este responsável pela geração da sequência numérica repassada para a função.

 

Sintaxe – A função Next Value For possui uma forma de uso bastante simples, uma das suas particularidades é permitir o uso da função Over como opção para geração de valores dentro da sequência.

  • Exemplo da Sintaxe: NEXT VALUE FOR [ database_name . ] [ schema_name . ]  sequence_name
    [ OVER (<over_order_by_clause>) ]

 

Argumentos – Com base em sua sintaxe podemos identificar quatro argumentos que formam sua estrutura de código, sendo eles:

  • database_name – Representa o nome do banco de dados que possui o objeto sequence;
  • schema_name –  Representa o nome do schema que contém o objeto sequence;
  • sequence_name – Representa o nome do objeto sequence responsável em armazenar e garantir a sequência numérica
  • Over_order_by_clause – Determina a ordem de organização e apresentação dos valores das linhas dentro de uma faixa de valores gerados pelo objeto sequence.

 

Exemplos: Vou destacar algumas maneiras de como utilizar a função Next Value For:

— Exemplo 1- Utilizando a função Next Valeu For para mostrar dois valores em sequência —

CREATE SCHEMA Test;
GO

CREATE SEQUENCE Test.Contador
START WITH 1
INCREMENT BY 1 ;
GO

SELECT NEXT VALUE FOR Test.Contador AS FirstUse;
SELECT NEXT VALUE FOR Test.Contador AS SecondUse;

Go

 

— Exemplo 2 – Utilizando a função Next Valeu For em conjunto com variável —

DECLARE @var1 bigint = NEXT VALUE FOR Test.Contador
DECLARE @var2 bigint ;
DECLARE @var3 bigint ;

SET @var2 = NEXT VALUE FOR Test.Contador ;

SELECT @var3 = NEXT VALUE FOR Test.Contador;
SELECT @var1 AS myvar1, @var2 AS myvar2, @var3 AS myvar3 ;
GO

 

— Exemplo 3 – Utilizando a função Next Valeu For em conjunto com constraint Default —

CREATE TABLE Test.MyTable
(
IDColumn nvarchar(25) PRIMARY KEY,
name varchar(25) NOT NULL) ;
GO

CREATE SEQUENCE Test.CounterSeq
AS int
START WITH 1
INCREMENT BY 1 ;
GO

ALTER TABLE Test.MyTable
ADD DEFAULT N’AdvWorks_’ + CAST(NEXT VALUE FOR Test.CounterSeq AS NVARCHAR(20)) FOR IDColumn;
GO

INSERT Test.MyTable (name) VALUES (‘Junior’) ;
INSERT Test.MyTable (name) VALUES (‘Galvão’) ;

INSERT Test.MyTable (name) VALUES (‘SQL’) ;
INSERT Test.MyTable (name) VALUES (‘Server’) ;
SELECT * FROM Test.MyTable;
GO

 

— Exemplo 4 – Utilizando a função Next Value For com ranking windows function —

Use AdventureWorks2012

Go

SELECT NEXT VALUE FOR Test.Contador OVER (ORDER BY LastName) AS ListNumber,
FirstName, LastName
FROM Person.Contact ;
GO


 

Muito bem galera, é isso, este é o primeiro post da nova sessão Dica do Mês, simples, direto, rápido e prático, espero que você tenha gostado.

Não deixe de me visitar, amanhã vou retornar com mais uma novidade, uma nova sessão chamada “Para que serve“, por enquanto uma surpresa.

Mais uma vez obrigado, nos encontramos novamente nos próximos posts.

Até mais.

Material de Apoio – Janeiro – 2016


Olá, boa tarde comunidade.

Estamos no começo de 2016 e pelo andar da carroagem não serão 366 dias fáceis, acredito que todos estão se perguntando até quando vamos continuar vivendo em um país tão injusto e desigual.

Mas vamos em frente, lutar para superar tudo isso!!!

Estou iniciando mais um ano com a mesma missão e objetivo dos anos anteriores, aprender, compartilhar e repassar o conhecimento para todos, algo que se devemos sempre fazer sem qualquer tipo de interesse, compartilhar nossas experiências, dificuldades, vivências e soluções.

Neste primeiro post relacionado a sessão “Material de Apoio”, gostaria de destacar que todos os scripts disponibilizados foram obtidos através do SQLServerCentral.com, na sessão Question of the Day, sendo este uma das minhas principais fontes de aperfeiçoamento em relação ao SQL Server,  onde reservo pelo menos uma hora do meu dia para responder e aprender com as questões postados pelos participantes deste portal.

Aproveito para deixar esta dica, procure reservar um pouco do seu tempo para se capacitar cada vez mais, mesmo que seja uma hora por dia, se você analisar isso no decorrer do ano será uma grande oportunidade para se aprimorar.

Muito bem, voltando a falar do post de hoje, você vai poder observar que os assuntos tratados por cada arquivo são bem distintos e podem ser aplicados em diversas situações. Dentre eles, existe um bem interesse que é a possibilidade de se criar uma árvove de natal através de um código Transact-SQL, muito legal isso.

Por questões de segurança e compatibilidade com a plataforma do WordPress.com, todos os arquivos foram renomeados, recebendo ao final do seu nome a extensão .doc, após o download basta remover esta extensão mantendo a extensão padrão .sql. Vale ressaltar que todos os scritps foram testados a partir da versão 2008 do Microsoft SQL Server, apresentando total compatibilidade com as versões: 2008, 2008 R2, 2012 e 2016.

A seguir a relação de arquivos, fique a vontade para compartilhar estes arquivos, como também, em adicionar sua crítica, dúvida ou sugestão.

Exemplo – Básico – Descobrindo e Alterando o Database Owner.sql

Exemplo – Básico – Utilizando comando Like na junção de tabelas.sql

Exemplo – Criando uma árvore de asterísticos no SQL Server.sql

Exemplo – Intermediário – Concatenação de string diretamente no select.sql

Exemplo – Intermediário – CTE Recursiva para geração de linhas + Option MaxRecursion.sql

Exemplo – Intermediário – Session Settings – Utilizando ANSI_Defaults forçando SQL Server trabalhar com SET IMPLICIT_TRANSACTIONS.sql

Exemplo – Intermediário – Trabalhando com a função Hashbytes para conversão de dados string para hexadecimal.sql

Exemplo – Intermediário – Utilizando Try..Catch + Transaction + Print para apresentar mensagem.sql

Como de costume, quero agradecer sua visita e interesse por este material, espero que os arquivos disponibilizados possam ser úteis e venham a ajudar em suas atividades.

Até a próxima.

Microsoft lançará seu próprio chip SIM para aparelhos com Windows 10


De acordo com informações divulgadas nesta semana, a Microsoft está planejando lançar seu próprio chip SIM para aparelhos com Windows 10, como tablets e laptops.

Chip SIM para aparelhos com Windows 10

Com ele a empresa poderá oferecer conectividade via rede celular onde o sinal Wi-Fi não é uma boa opção*. Especulações sobre o serviço começaram a surgir depois que o aplicativo Celullar Data apareceu na Windows Store.

*Como em locais sem Wi-Fi ou com sinal fraco.

Microsoft lançará seu próprio chip SIM para aparelhos com Windows 10
A descrição do aplicativo da Microsoft na loja diz o seguinte:

Você está procurando uma maneira confiável e conveniente de permanecer conectado onde quer que esteja, mesmo quando o Wi-Fi não estiver disponível? O aplicativo Cellular Data permite que você conecte a uma rede de dados de celular confiável em todo o país usando apenas sua conta da Microsoft.

Conecte-se com – e pague por – um plano de dados de rede celular em seu dispositivo Windows 10 usando apenas as informações de sua conta da Microsoft. Isso significa que não há contrato fixo e compromissos de longo prazo com uma operadora de celular.

Agora você pode comprar e usar dados móveis em sua própria conveniência. Essa é a maneira mais fácil de acessar a Internet usando uma rede confiável em todo o país. Compre um plano na Windows Store em qualquer lugar em que haja cobertura da rede disponível.

O aplicativo Cellular Data pode conectar você a qualquer momento com uma conexão de celular de alta velocidade. Este aplicativo foi projetado para funcionar exclusivamente com dispositivos Windows 10 específicos e requer um chip SIM da Microsoft.

O serviço está disponível em alguns mercados e as ofertas são apenas para planos domésticos – ofertas de roaming internacional estarão disponíveis em breve. Para comprar um plano de dados, você pode facilmente seguir estas etapas:

1. Clique no ícone de Wi-Fi na extrema direita da barra de tarefas.

2. Na lista de redes, procure uma rede chamada Cellular Data e selecione-a.

3. Nas configurações do celular, selecione ‘Exibir planos’ e siga as etapas para comprar dados de rede celular e acessar a Internet.

Note que a descrição do aplicativo menciona claramente que ele requer um chip SIM da Microsoft e não de outras operadoras de telefonia celular.

De acordo com diversos sites, o chip SIM para aparelhos com Windows 10 e o serviço serão oferecidos em parceria com a empresa Transatel. O próprio chip será baseado no atual Transatel SIM 901.

A Transatel está presente atualmente em 38 países e esse número deve chegar a 50 no dia 15 de janeiro.

Fontes e Direitos Autorais: Baboo.com.

Microsoft atualiza a Office 2016 Deployment Tool


A Microsoft disponibilizou recentemente para download a versão 16.0.6508.6351 da Office 2016 Deployment Tool. Esta ferramenta permite que os administradores personalizem e gerenciem implantações do Office 2016 baseadas em Click-to-Run.

Com ela os administradores poderão gerenciar as fontes de instalação, combinações de produtos/idiomas e as configurações de implantação do Office 2016 Click-to-Run.

De acordo com o changelog na página de download, a versão 16.0.6508.6351 da ferramenta corrige um problema que faz com que o download dos arquivos de instalação do Office falhe de forma intermitente.

Microsoft atualiza a Office 2016 Deployment Tool

Microsoft Office 2016 Deployment Tool

Por padrão, as instalações do Office 2016 que usam o método Click-to-Run baixarão o Office com sua interface completa e com o suporte para atualizações automáticas habilitado.

Administradores que precisarem de maior controle sobre o método Click-to-Run para implantação do Office poderão usar esta ferramenta para realização das seguintes tarefas:

• Download de uma fonte de instalação do Office para um local de rede.

• Configurar uma instalação para que ela use o local de rede como a fonte de instalação ao invés da internet.

• Configurar uma instalação para que ela não exiba nenhuma interface.

• Configurar se o Office 2016 virá ou não com o suporte para atualizações automáticas habilitado.

• Configurar quais produtos e idiomas serão instalados.

• Remover instalações do Office baseadas no método.

Disponível para download aqui, a Microsoft Office 2016 Deployment Tool pode ser executada via linha de comando. Esta ferramenta criará um arquivo de configuração que o administrador poderá modificar para atender suas necessidades.

A ferramenta é compatível com o Windows 10 , Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 e Windows Server 2012 R2.

Confira um tutorial mostrando como personalizar a instalação do Office 2016 com esta ferramenta clicando aqui.

O Office 2016 foi lançado no dia 22 de setembro de 2015 pela Microsoft. Saiba mais aqui.

Fontes e Direitos Autorais: Baboo.com – Sid Vicious @ 11 jan 2016 | 8:28 am

Estados brasileiros cobrarão ICMS para software obtido via download


Aprovado recentemente pelo Conselho Nacional de Política Fazendária (CONFAZ), o Convênio ICMS Nº 181 autoriza a cobrança de ICMS para software obtido via download no Brasil.

Estados brasileiros cobrarão ICMS para software obtido via download

Aprovado recentemente pelo Conselho Nacional de Política Fazendária (CONFAZ), o Convênio ICMS Nº 181 autoriza a cobrança de ICMS para software obtido via download no Brasil

ICMS para software obtido via download

Com isso, 19 estados poderão cobrar o imposto sobre a venda de softwares e serviços obtidos pela internet a partir de 1 de janeiro de 2016.

Os 19 estados estão listados abaixo:

– Acre
– Alagoas
– Amapá
– Amazonas
– Bahia
– Ceará
– Goiás
– Maranhão
– Mato Grosso do Sul
– Paraíba
– Paraná
– Pernambuco
– Piauí
– Rio de Janeiro
– Rio Grande do Norte
– Rio Grande do Sul
– Santa Catarina
– São Paulo
– Tocantins

O comunicado do CONFAZ pode ser visto abaixo:

Cláusula primeira
Ficam os Estados do Acre, Alagoas, Amapá, Amazonas, Bahia, Ceará, Goiás, Maranhão, Mato Grosso do Sul, Paraná, Paraíba, Pernambuco, Piauí, Rio de Janeiro, Rio Grande do Norte, Rio Grande do Sul, , Santa Catarina, São Paulo, Tocantins autorizados a conceder redução na base de cálculo do ICMS, de forma que a carga tributária corresponda ao percentual de, no mínimo, 5% (cinco por cento) do valor da operação, relativo às operações com softwares, programas, jogos eletrônicos, aplicativos, arquivos eletrônicos e congêneres, padronizados, ainda que sejam ou possam ser adaptados, disponibilizados por qualquer meio, inclusive nas operações efetuadas por meio da transferência eletrônica de dados.

Cláusula segunda
O benefício previsto neste convênio será utilizado opcionalmente pelo contribuinte em substituição à sistemática normal de tributação, sendo vedada à apropriação de quaisquer outros créditos ou benefícios fiscais.

Cláusula terceira
Ficam as unidades federadas referidas na cláusula primeira autorizadas a não exigir, total ou parcialmente, os débitos fiscais do ICMS, lançados ou não, inclusive juros e multas, relacionados com as operações previstas na cláusula primeira, ocorridas até a data de início da vigência deste convênio.

Parágrafo único. A não exigência de que trata esta cláusula:

I – não autoriza a restituição ou compensação de importâncias já pagas;
II – observará as condições estabelecidas na legislação estadual.

Cláusula quarta
Este convênio entra em vigor na data da publicação de sua ratificação nacional, produzindo efeitos a partir de 1º de janeiro de 2016.

Fontes e Direitos Autorais: Baboo.com – Sid Vicious @ 11 jan 2016 | 5:47 pm