Arquivo da categoria: Mundo SQL Server

Short Scripts – Setembro 2018


Buenos dias, bom dia, comunidade….

E ai como passaram os últimos meses?

Pergunto isso, devido ao post anterior desta sessão ter sido publicado no mês de maio, posso imaginar que neste intervalo de tempo nossas vidas apresentaram inúmeras situações, espero que todas possam ter sido dentro do possível boas, assim como a minha, e se caso venha a existir algo mais espinhoso, que você possa ter superado.

Seguindo em frente, que alegria poder te encontrar em mais um post da sessão Short Scripts, uma das sessões mais recentes do meu blog que esta alçando a marca de 34 posts publicados trimestralmente.

Mantendo a tradição estou retornando com mais um conjunto de “pequenos” scripts catalogados e armazenados em minha biblioteca pessoal de códigos relacionados ao Microsoft SQL Server e sua fantástica linguagem de desenvolvimento Transact-SQL.

Como promessa é dívida e deve ser cumprida “ou melhor” compartilhada, estou compartilhando a minha feita a alguns meses no final do último post desta sessão, publicando mais um conjunto de scripts adicionados atualmente na minha biblioteca particular de códigos e exemplos.

O post de hoje

Normalmente compartilhado os principais scripts armazenados nos últimos meses, no post de hoje vou fazer um pouco diferente, recentemente tive a necessidade de realizar alguns atividades relacionadas as Split de dados e Collation, sendo assim, decide então compartilhar alguns códigos que estejam envolvidos com estes assuntos e que também se vinculem com outros, dentre os quais destaco:

  • Collate Column,
  • Collate,
  • Collation,
  • Database Collate,
  • Database Collation,
  • Instâncias Microsoft SQL Server,
  • Junção de Tabelas,
  • Page Split,
  • Server Collation,
  • Servidores Microsoft SQL Server,
  • String Split,
  • User Defined Function, e
  • Valores separados por vírgulas.

Chegou a hora, mãos nos teclados, a seguir apresento os códigos e exemplos selecionados para o Short Script – Setembro 2018 . Vale ressaltar que todos os scripts publicados nesta sessão foram devidamente testados, mas isso não significa que você pode fazer uso dos mesmo em seu ambiente de produção, vale sim todo cuidado possível para evitar maiores problemas.

Fique a vontade para compartilhar, comentar e melhorar cada um destes códigos.

Short Scripts

— Short Script 1  – Identificando Page Split – Método 1  —
SELECT cntr_value
FROM sys.sysperfinfo
WHERE counter_name =’Page Splits/sec’ AND
OBJECT_NAME LIKE’%Access methods%’
Go

— Short Script 2  – Identificando Page Split – Método 2  —
SELECT object_name,
counter_name,
instance_name,
cntr_value, cntr_type

FROM sys.dm_os_performance_counters
WHERE counter_name =’Page Splits/sec’ AND
OBJECT_NAME LIKE’%Access methods%’
Go

— Short Script 3  – Criando um User Defined Function para separação de Strings por vírgula  – Método 1 —
CREATE FUNCTION dbo.UFN_SEPARATES_COLUMNS(@TEXT1 varchar(8000), @COLUMN tinyint, @SEPARATOR char(1))
RETURNS varchar(8000)
AS
BEGIN
DECLARE @POS_START int = 1
DECLARE @POS_END int = CHARINDEX(@SEPARATOR, @TEXT, @POS_START)

WHILE (@COLUMN >1 AND @POS_END> 0)
BEGIN
SET @POS_START = @POS_END + 1
SET @POS_END = CHARINDEX(@SEPARATOR, @TEXT, @POS_START)
SET @COLUMN = @COLUMN – 1
END

IF @COLUMN > 1 SET @POS_START = LEN(@TEXT) + 1
IF @POS_END = 0 SET @POS_END = LEN(@TEXT) + 1

RETURN SUBSTRING (@TEXT, @POS_START, @POS_END – @POS_START)
END
Go

SELECT
dbo.UFN_SEPARATES_COLUMNS(@ISBN, 1, ‘-‘) AS PREFIX,
dbo.UFN_SEPARATES_COLUMNS(@ISBN, 2, ‘-‘) AS REGISTRATION_GROUP,
dbo.UFN_SEPARATES_COLUMNS(@ISBN, 3, ‘-‘) AS REGISTRANT,
dbo.UFN_SEPARATES_COLUMNS(@ISBN, 4, ‘-‘) AS PUBLICATION,
dbo.UFN_SEPARATES_COLUMNS(@ISBN, 5, ‘-‘) AS [CHECK]
Go

— Short Script 4  – Criando um User Defined Function para separação de Strings por vírgula – Método 2  —

Create FUNCTION [dbo].[fnSplitString]
(
@string NVARCHAR(MAX),
@delimiter CHAR(1)
)
RETURNS @output TABLE(splitdata NVARCHAR(MAX)
)
BEGIN
DECLARE @start INT, @end INT
SELECT @start = 1, @end = CHARINDEX(@delimiter, @string)
WHILE @start < LEN(@string) + 1 BEGIN
IF @end = 0
SET @end = LEN(@string) + 1

INSERT INTO @output (splitdata)
VALUES(SUBSTRING(@string, @start, @end – @start))
SET @start = @end + 1
SET @end = CHARINDEX(@delimiter, @string, @start)

END
RETURN
END

Select * from dbo.fnSplitString(‘Querying SQL Server’,”)
Go

— Short Script 5  – Informando o Collate de uma coluna na cláusula Where  —
S
elect campo
From tabela
Where campo collate Latin_General_CI_AS like ‘%á%’
Go

— Short Script 6  – Informando o Collate na declaração de uma coluna e na cláusula Where  —
Select Campo collate Latin_General_CI_AS
From tabela
Where Campo collate Latin_General_CI_AS like ‘%á%’
Go

— Short Script 7  – Alterando o Collate de um Banco de Dados  —
Alter Database MosaicoClient
Collate SQL_Latin1_General_CP1_CI_AI
Go

— Short Script 8  – Alterando o Collate de uma Coluna  —
Alter Table Users
Alter Column [Password] Varchar(12) Collate SQL_Latin1_General_CP1_CS_AS
Go

— Short Script 9  – Identificando o Server Collation  – Método 1 —
Select SERVERPROPERTY (‘collation’)
Go

— Short Script 10 – Identificando o Server Collation  – Método 2 —
Exec sp_helpsort
Go

— Short Script 11 – Identificando o Database Collation —
Select DatabasePropertyEx(‘MRP’,’collation’)
Go

— Short Script 12 – Identificando o Column Collation – Método 1 —
Exec sp_help ‘Produtos’
Go

— Short Script 13 – Identificando o Column Collation – Método 2 —
Select * from Sys.columns
Where Name = ‘Produtos’
Go

— Short Script 14 – Identificando o Column Collation – Método 3 —
Select * from Information_schema.columns
Where Table_Name = ‘Produtos’
Go

Muito bem, missão mais que cumprida! Uma nova relação de short scripts acaba de ser compartilhada, mesmo sendo denominados short entre aspas “pequenos”, posso garantir que todos estes exemplos são de grande importância, apresentam um valor e conhecimento do mais alto nível.


Chegamos ao final de mais um Short Scripts, espero que este material possa lhe ajudar, ilustrando o uso de alguns recursos e funcionalidades do Microsoft SQL Server.

Acredito que você tenha observado que estes códigos são conhecidos em meu blog, todos estão relacionados aos posts dedicados ao Microsoft SQL Server publicados no decorrer dos últimos anos.

Boa parte deste material é fruto de um trabalho dedicado exclusivamente a colaboração com a comunidade, visando sempre encontrar algo que possa ser a solução de um determinado problema, bem como, a demonstração de como se pode fazer uso de um determinado recurso.

Links

Caso você queira acessar os últimos posts desta sessão, não perca tempo acesse os links listados abaixo:

https://pedrogalvaojunior.wordpress.com/2018/05/10/short-scripts-maio-2018/

https://pedrogalvaojunior.wordpress.com/2018/02/19/short-scripts-fevereiro-2018-transaction-log/

https://pedrogalvaojunior.wordpress.com/2017/12/09/short-scripts-dezembro-2017/

https://pedrogalvaojunior.wordpress.com/2017/09/16/short-scripts-setembro-2017/

Agradecimento

Obrigado mais uma vez por sua visita, fico honrado com sua ilustre presença ao meu blog, desejo e espero que você possa ter encontrado algo que lhe ajudou.

Volte sempre, nos encontraremos mais uma vez na sessão Short Scripts no post do mês de novembro de 2018.

Abraços…

Anúncios

Microsoft anuncia disponibilidade de Antimalware Scan Interface no Office 365


A Microsoft informou no decorrer desta semana o suporte para Antimalware Scan Interface no Office 365 visando oferecer mais segurança para os usuários.

Antimalware Scan Interface ou AMSI é uma interface aberta disponível no Windows 10 desde 2015 que os aplicativos podem usar para requisitar durante sua execução uma verificação síncrona de um buffer de memória por um antivírus ou outra solução de segurança. Qualquer aplicativo pode fazer uso da AMSI para requisitar uma verificação para qualquer dado potencialmente suspeito.

Qualquer software antivírus pode ser um provedor AMSI e inspecionar dados enviados pelos aplicativos através desta interface. Se o conteúdo enviado para verificação é detectado como malicioso, o aplicativo que enviou a requisição pode executar a ação necessária para lidar com a ameaça.

Maiores informações e detalhes técnicos sobre a AMSI estão disponíveis podem ser obtidas aqui.

A integração dos aplicativos do Office 365 com a AMSI significa que os softwares antivírus e outras soluções de segurança poderão verificar macros e outros scripts em documentos durante sua execução em busca de comportamento malicioso.

Por padrão, a integração já foi habilitada nos seguintes aplicativos do Office 365: Word, Excel, PowerPoint, Access, Visio e Publisher.

Na configuração padrão as macros são verificadas durante a execução exceto nos seguintes cenários:

– O usuário alterou as configurações de segurança do Office para “Habilitar todas as Macros”.
– O documento foi aberto a partir de um local confiável.
– O documento foi definido como confiável.
– O documento contém VBA assinado digitalmente por uma fonte confiável.

Usuários do Windows 10 com o Windows Defender ativo contam com uma camada extra de proteção graças ao mecanismo de segurança baseado na nuvem, que usa a integração com a AMSI para determinar se uma macro é ou não maliciosa:

Microsoft anuncia suporte para Antimalware Scan Interface no Office 365

Se a macro for detectada como sendo maliciosa o usuário será notificado pelo aplicativo do Office, que também terá sua execução encerrada para protegê-lo:

Amsi Microsoft 365 02

Empresas também podem fazer uso das novas políticas de grupo para que os administradores possam configurar se e quando as macros podem ser verificadas.

Fontes e Direitos Autorais: Microsoft Security – https://cloudblogs.microsoft.com/microsoftsecure/2018/09/12/office-vba-amsi-parting-the-veil-on-malicious-macros/

Nova atualização de microcódigo para processadores da Intel para o Windows 10 liberada


A Microsoft disponibilizou nos últimos dias sua mais recente atualização de microcódigo para processadores da Intel em PCs com o Windows 10 v1803, v1709, v1703, v1607 e v1507. Esta atualização tem como objetivo oferecer mitigações para a vulnerabilidade Spectre v2 (CVE 2017-5715).

Mais detalhes e a lista com os processadores suportados estão disponíveis nos artigos correspondentes publicado no site de suporte da Microsoft para as versões do Windows 10 mencionadas acima:

O links apresentados abaixo, destacam os KBs específicos de cada versão de Windows 10:

Os usuários das versões do Windows 10 suportadas podem fazer o download da atualização via Windows Update ou através do Catálogo do Microsoft Update clicando nos botões abaixo:

Download atualização Windows 10 v1803

Download atualização Windows 10 v1709

Download atualização Windows 10 v1703

Download atualização Windows 10 v1607

Download atualização Windows 10 v1507

Vale ressaltar, que estas novas atualizações podem apresentar o mesmo comportamento já presenciado nas atualizações disponibilizadas anteriormente, tornando possível a decorrência de impactos negativos na performance do computador.

Fontes e Direitos Autorais: Suporte da Microsoft – 13/09/2018.

Microsoft PowerShell Core v6.1.0 disponível


A Microsoft liberou para download a versão 6.1.0 do PowerShell Core v6.1.0, versão multi-plataforma e open-source do PowerShell para Windows, macOS e Linux. A versão para macOS é compatível com a versão 10.12 e posteriores e a versão para Linux esta disponível para distribuições: Ubuntu, CentOS, Red Hat Enterprise Linux, OpenSUSE e Fedora.

Similar ao o .NET e o .NET Core, o PowerShell Core é uma versão open-source do PowerShell. A Microsoft não pretende mais lançar novas versões do Windows PowerShell “normal”, com a 5.1 sendo a última*. Além disso, o PowerShell Core também pode ser usado mesmo em sistemas com o Windows PowerShell instalado.

A Microsoft informou que o processo de atualização do PowerShell Core entra na mesma lista de atualizações de outro produtos, passando por um processo de atualização regular.

Para realizar o download acesse: https://github.com/PowerShell/PowerShell, as instruções para instalação em cada arquitetura de sistema operacional podem ser encontradas através dos respectivos links:

O changelog publicado pela Microsoft, informa que o PowerShell Core v6.1.0 traz correções para múltiplos bugs, remove os cmdlets Suspend-Job e Resume-Job das versões para certas plataformas, adiciona ferramentas para análise de performance do PowerShell entre outras melhorias e alterações na arquitetura do produto.

Fontes e Direitos Autorais: Microsoft.com – 14/09/2018.

Windows Server 2019 Essentials, versão para pequena empresas é anunciada


Através do anuncio feito hoje no Windows Server Blog a Microsoft confirmou a existência do Windows Server 2019 Essentials, a nova edição do sistema operacional voltada para pequenas empresas.

Por mais de uma década a Microsoft vem oferecendo edições do Windows Server criadas para atender às necessidades das pequenas empresas. O Windows Server 2016 Essentials é a edição mais recente disponível no mercado e é voltado para empresas com até 25 usuários.

Com o anuncio da edição 2019 Essentials, a Microsoft destacou que esta edição terá as mesmas características da versão 2016:

– Uma licença com Client Access Licenses (CALs) para até 25 usuários/50 dispositivos.


– Preço mais baixo em comparação com as outras edições.

– Suporte para execução de aplicativos tradicionais e outros recursos como o compartilhamento de arquivos e impressoras.

O Windows Server 2019 Essentials apresentará as mesmas características técnicas e de licenciamento da atual edição do Windows Server 2016 Essentials.

  • Ao ser configurado como um Controlador de Domínio, ele deve ser o único controlador de domínio, deve executar todas as funções Flexible Single Master Operations (FSMO) e não pode ter two-way trusts com outros domínios do Active Directory.

Esta nova edição do Windows Server Essentials também trará suporte para o hardware mais recente, novos recursos como Storage Migration Services, System Insights e mais.

Outra característica importante, é que ele não terá a função Essentials Experience, que basicamente simplificava o compartilhamento de arquivos e o gerenciamento de dispositivos. A Microsoft recomenda o Windows Admin Center para uma melhor experiência de gerenciamento.

O lançamento desta nova versão e edição do Windows Server será ainda este ano junto com as outras edições do Windows Server 2019 e incluindo o suporte pelo Long Term Servicing Channel (LTSC).

Caso sua empresa possua mais de 25 usuários/50 dispositivos, a Microsoft recomenda o Windows Server 2019 Standard ou Datacenter.

Para maiores informações sobre esta nova versão e edição, acesse: Windows Server 2019 Essentials update.

Fontes e Direitos Autorais: Windows Server Blog – 05/09/2018.

Nova atualização para Windows 10 conhecida como RedStone 5 será lançada em outubro


A Microsoft divulgou na feira de tecnologia IFA, em Berlim, na Alemanha a data da próxima atualização do Windows 10, da Microsoft, chegará: 28 de outubro de 2018. Entretanto, espera-se que esta seja uma grande coleção de melhorias e atualizações, em vez de quaisquer novos recursos inovadores.

A Microsoft anunciou a data na última sexta-feira (31/8) durante o evento, onde a empresa também continuou sua tradição de destacar as novidades de hardware dos seus parceiros.

O ciclo de construção de atualização de outubro de 2018, também conhecido como Redstone 5, está se encerrando. Embora não se saiba qual será a versão final, a Microsoft geralmente emite várias rodadas de correções de bugs antes de decidir por uma versão “final” para liberar aos consumidores. É nesta fase que a empresa está agora.

A data que os consumidores receberão a atualização é desconhecida. A Microsoft originalmente lançou a versão “final” da sua atualização mais recente do Windows 10 em 10 de abril de 2018. À época, descobriu bugs que levaram a eventual liberação para o último dia possível, 30 de abril.

Normalmente, os Windows Insiders recebem a compilação “final” um pouco antes. É provável que a Microsoft promova a próxima grande atualização para Insiders para testes finais em meados de setembro. Isso daria à Microsoft várias semanas para analisar seus dados de telemetria e decidir se sua versão “final” é, de fato, definitiva.

Fontes e Direitos Autorais: Mark Hachman, da PCWorld (EUA) – 03/09/2018.

Microsoft SQL Server 2014 Service Pack 2 – Cumulative Update 13


A Microsoft divulgou no último dia 28 de agosto em seu blog SQL Server Release Services a disponibilidade da Atualização Cumulativa 13 (Cumulative Update 13) para SQL Server 2014 SP2.

A CU13 inclui todas as correções para os problemas que foram descobertos depois do lançamento do SQL Server 2014 SP2 e das atualizações cumulativas anteriores lançados até o presente momento.

Caso você deseje realizar o download das atualizações cumulativas anteriores, utilize a relação de links listadas abaixo:

Com base no artigo KB4456287, a atualização traz correções para quatro bugs específicos, dentre eles, um que causa erro de violação de acesso quando você consulta a tabela sysmembers, enquanto outro causa um erro durante a execução do sp_send_dbmail em certos cenários.

Ao instalar a Atualização Cumulativa 13 para SQL Server 2014 SP2, o build (número da versão) será atualizado para o número 12.0.5590.1.

Para realizar o download clique na imagem abaixo:

Fontes e Direitos Autorais: Microsoft Support – https://support.microsoft.com/en-us/help/4456287/cumulative-update-13-for-sql-server-2014-sp2