Microsoft SQL Server 2016 SP2 – Atualização Cumulativa 1 disponível


A Microsoft disponibilizou para download hoje dia 30/05/2018 a Atualização Cumulativa 1 para SQL Server 2016 SP2.

As informações obtidas através do artigo KB4135048 publicado no site de suporte da Microsoft, esta atualização traz correções decorrentes dos problemas apresentados e identificados após o lançamento do SP2, sendo esta a primeira atualização cumulativa para este service pack.

Hotfixes que estão incluídos neste pacote de atualização cumulativa


Número de bug do VSTS Número de artigo do KB Descrição Corrigir a área
11983391 4131193 Problemas de desempenho ocorrem sob a forma de PAGELATCH_EX e PAGELATCH_SH espera em TempDB quando você usar o SQL Server 2016 Serviço do SQL
11983323 4133164 CORREÇÃO: Erro quando um trabalho do SQL Server Agent executa um comando do PowerShell para enumerar as permissões do banco de dados Ferramentas de gerenciamento
11516235 4087406 CORREÇÃO: Erro 9002 quando não houver nenhum espaço em disco suficiente para crescimento de crítica de log no SQL Server 2014, 2016 e 2017 Serviço do SQL
11695337 4092554 CORREÇÃO: “não é possível usar salvar transação dentro de uma transação distribuída” erro quando você executar um procedimento armazenado no SQL Server Serviço do SQL
11983395 4086173 CORREÇÃO: Violação de acesso ocorre ao executar uma consulta DAX em um modelo tabular no SQL Server Analysis Services Serviços de análise
11983390 4099472 PFS página melhoria de algoritmo round robin no SQL Server 2016 Serviço do SQL
11983376 3028216 CORREÇÃO: Ocorre uma falha quando o cache pró-ativo é desencadeada por uma dimensão no SSAS Serviços de análise
11971819 4230516 CORREÇÃO: Uma falha de asserção de memória ocorre e o servidor é incapaz de fazer qualquer novas conexões no SQL Server Serviço do SQL
11684529 4164562 CORREÇÃO: Nome de usuário errado aparece quando dois usuários acesse a MDS em momentos diferentes no SQL Server Serviços de qualidade de dados (DQS)
11578522 4089718 Melhoria: Problema de desempenho ao atualizar o MDS do SQL Server 2012 para 2016 Serviços de qualidade de dados (DQS)
11983367 4134541 CORREÇÃO: Erro do MDS Add-in para o Excel quando você usar a versão alemã do Excel no SQL Server Serviços de qualidade de dados (DQS)
11983360 4094858 CORREÇÃO: “ocorreu um erro inesperado” quando você usa o DAX medidas em visualizações de mesa poder BI no SQL Server Serviços de análise
11983362 4094706 FIX: Um thread de trabalho parece ficar depois que outro thread de trabalho é abortado quando você executa uma consulta paralela no SQL Server Serviço do SQL
11983392 4101502 CORREÇÃO: Backup de banco de dados habilitada a TDE com a compactação causa corrupção de banco de dados no SQL Server 2016 Serviço do SQL
11983382 4230306 CORREÇÃO: Restauração de um backup compactado TDE é vencida quando usando o cliente VDI Serviço do SQL
11983383 4163087 CORREÇÃO: Desempenho é lento para um sempre na AG quando você processa uma leitura consulta no SQL Server Serviço do SQL
11983373 4162814 CORREÇÃO: Ocorre uma violação de acesso de exceção interna e o servidor SSAS para de responder Serviços de análise
11922532 4157948 CORREÇÃO: Erro de estouro de ponto flutuante ocorre quando você executar um módulo compilado nativamente aninhado que usa EXP funções no SQL Server Na memória OLTP
11983358 4094893 CORREÇÃO: Banco de dados não pode ser descartado após seu armazenamento é desconectado e reconectado no SQL Server Serviço do SQL
11983381 4058175 CORREÇÃO: Backup banco de dados habilitado para TDE e as operações de restauração são lentas quando a chave de criptografia é armazenada em um provedor de EKM no SQL Server Segurança do SQL
11983369 4134175 FIX: Um cubo com várias partições de processamento gera muitas conexões de fonte de dados simultâneos no SSAS Serviços de análise
11983357 4091245 CORREÇÃO: Violação de acesso ocorre quando você consulta uma tabela com uma coluna de inteiro em 2017 de SQL Server e SQL Server 2016 Desempenho de SQL
11983366 4101554 CORREÇÃO: Paralelo refazer em uma réplica do secundária de um grupo de disponibilidade que contém tabelas heap gera um despejo de declaração de tempo de execução ou o servidor de SQL falha com um erro de violação de acesso Alta disponibilidade
11983379 4131960 CORREÇÃO: Um erro de declaração ocorre quando você executar uma consulta select aninhada contra um índice de columnstore no SQL Server Desempenho de SQL
11983359 4132267 CORREÇÃO: Implantar um projeto SSAS em SSDT é frequentemente mal sucedido no SQL Server Analysis Services no modo Tabular Serviços de análise
11057341 4052135 CORREÇÃO: Instrução RESTORE HEADERONLY para um TDE compactado backup leva muito tempo para concluir no SQL Server Serviço do SQL
11750742 4098762 CORREÇÃO: Parâmetros ocultos são incluídos nos relatórios quando o papel do navegador é usado em 2016 SSRS O Reporting Services
11983394 4163478 CORREÇÃO: Uma violação de acesso ocorre quando incrementais estatísticas são atualizadas automaticamente em uma tabela no SQL Server Desempenho de SQL

Dentre os mais diversos bugs identificados e corrigidos destaco um relacionado ao bug de número: 11983332, artigo KB: 4133164, relacionada a um erro apresentado quando um trabalho do SQL Server Agent executa um comando do PowerShell para enumerar as permissões do banco de dados.

Vale ressaltar que após a atualização desta nova atualização cumulativa, o número do build utilizado pelo Microsoft SQL Server 2016 SP2 será alterado para compilação: 13.0.5149.0.

Para realizar o download clique na imagem abaixo:

Fontes e Direitos Autorais: Suporte da Microsoft -https://support.microsoft.com/pt-br/help/4135048/cumulative-update-1-for-sql-server-2016-sp2 – 30/05/2018.

Anúncios

Microsoft disponibiliza atualização cumulativa 7 para o Microsoft SQL Server 2017


A Microsoft disponibilizou ontem dia 24/05 uma nova  Atualização Cumulativa para o Microsoft SQL Server 2017, denominada (Cumulative Update 7 – Build number: 14.0.3026.27), disponível para todas as edições existentes para Windows e Linux.

Com base no artigo KB4229789 publicado no site de suporte da Microsoft, a atualização apresenta correções para múltiplos bugs descobertos após o lançamento do SQL Server 2017 e atualizações cumulativas anteriores, dentre as quais ao final do artigo bloco de código que de ser realizado por aqueles que já tenham instalado as Cumulative Updates 2 ou 3 e necessitam trabalhar com o Query Store.

Outro bug corrigido destaca-se um bem conhecido relacionado ao Analysis Services após a execução de uma função DAX e um que faz com que o SQL Server não seja inicializado quando uma imagem de contêiner do Linux é usada no Docker para Windows.

A seguir destaco a lista de hotfixes incluídos nesta nova atualização:

VSTS bug number KB article number Description Fix area Platform
11701171 2932559 FIX: Totals are wrong after you filter on a pivot table item and remove the filter in SSAS Analysis Services Windows
11701194 4090032 FIX: Memory gets exhausted when you run Power BI report that executes DAX query on SSAS 2016 and 2017 Multidimensional mode Analysis Services Windows
11751257 4096258 FIX: An unexpected exception occurs and SSAS crashes when you run a particular DAX function in SQL Server 2017 Analysis Services Windows
11919582 4090004 Improvement: Configure SESSION_TIMEOUT value for a Distributed Availability Group replica in SQL Server 2016 and 2017 High Availability Windows
11919583 4099919 Transparent Data Encryption added for Log Shipping in SQL Server 2016 and 2017 High Availability Windows
11708399 4135045 FIX: DROP_ASYMMETRIC_KEY causes an instance of SQL Server to crash if it’s rolled back from a trigger SQL service All
11953218 4212960 FIX: SQL Server will not start when you run a SQL Server 2017 Linux container image on Docker for Windows SQL service Linux
11701193 4074862 FIX: Unexpected error when you create a subcube in SQL Server 2016 and 2017 Analysis Services (Multidimensional model) Analysis Services Windows
11701196 4083949 FIX: SSAS may crash when you run a DAX query by using a non-admin Windows user in SQL Server 2016 and 2017 Analysis Services Windows
11701201 4086136 FIX: SSAS stops responding when you run an MDX query in SQL Server 2016 and 2017 Analysis Services (Multidimensional model) Analysis Services Windows
11701140 4086173 FIX: Access violation occurs when executing a DAX query on a tabular model in SQL Server Analysis Services Analysis Services Windows
11701208 4089623 FIX: Out of memory occurs and query fails when you run MDX query with NON EMPTY option in SSAS Analysis Services Windows
11578523 4089718 Improvement: Performance issue when upgrading MDS from SQL Server 2012 to 2016 Data Quality Services (DQS) Windows
11701179 4093226 FIX: “DirectQuery may not be used with this data source” error when you browse a Direct Query model in SQL Server Analysis Services Windows
11814297 4099472 PFS page round robin algorithm improvement in SQL Server 2016 SQL service Windows
11870176 4136912 Multiple device VDI backup can hang on Linux SQL service Linux
11634330 4092554 FIX: “Cannot use SAVE TRANSACTION within a distributed transaction” error when you execute a stored procedure in SQL Server SQL service Windows
11922305 4157948 FIX: Floating point overflow error occurs when you execute a nested natively compiled module that uses EXP functions in SQL Server In-Memory OLTP All
11642085 4098732 FIX: A calculation error occurs when a secured measure is queried in SSAS 2017 Analysis Services Windows
11923799 4230306 FIX: Restore of a TDE compressed backup is unsuccessful when using the VDI client SQL service All
11823305 4101502 FIX: TDE enabled database backup with compression causes database corruption in SQL Server 2016 SQL service All
11971856 4230516 FIX: A memory assertion failure occurs and the server is unable to make any new connections in SQL Server SQL service Windows
11952929 4163087 FIX: Performance is slow for an Always On AG when you process a read query in SQL Server SQL service All
11951171 4230465 FIX: An unexpected communication link error occurs when using datetime2 fields accessing a database in SQL Server 2017 SQL service All
11974640 4230542 FIX: Pacemaker promotes local replica to primary may fail when you use AlwaysOn AG in SQL Server 2017 High Availability Linux
11974802 4293576 FIX: “Non-yielding” error when you try to recover an In-Memory database in SQL Server In-Memory OLTP All
11853504 4134601 FIX: “Could not load file or assembly ‘Microsoft.AnalysisServices.AdomdClientUI” error when a “Process Full” operation is run in SQL Server Analysis Services Windows
11967438 4230730 FIX: A dead latch condition occurs when you perform an online index rebuild or execute a merge command in SQL Server SQL service Windows

Para realizar o download clique na imagem abaixo:

Fontes e Direitos Autorais: Microsoft Support – 24/05/2018 – https://support.microsoft.com/en-us/help/4229789/cumulative-update-7-for-sql-server-2017

SQL Operations Studio versão preview v0.29.3 liberado


A Microsoft disponibilizou para download no último dia 05/08 a nova versão preview do SQL Operations Studio denominada v0.29.3. A ferramenta está disponível para Windows, macOS e Linux.

O SQL Operations Studio é uma ferramenta gratuita para gerenciamento do SQL Server, Azure SQL Database e Azure SQL Data Warehouse.

De acordo com o changelog, a versão 0.29.3 traz correções de bugs, nova extensão Redgate SQL Search disponível no Extension Manager, suporte para mais idiomas e outras novidades. Quer saber mais sobre todas as novidades, melhorias e mudança, clique aqui.

A versão para Windows do SQL Operations Studio Preview v0.29.3 está disponível para download com instaladorou versão portátil (não requer instalação).

Para maiores informações sobre o SQL Operations Studio para Windows e demais plataformas de sistemas operacionais acessem link: https://docs.microsoft.com/en-us/sql/sql-operations-studio/download?view=sql-server-2017.

Fontes e Direitos Autorias: Microsoft.com – 05/08/2018 –  Docs | SQL | Tools | SQL Operations Studio.

Short Scripts – Maio 2018


Olá Mundo, bom dia, comunidade….

Tudo bem? E ai como passaram os últimos meses?

Pergunto isso, devido ao post anterior desta sessão ter sido publicado no mês de fevereiro, 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 33 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 exatos três meses no final do último post da sessão Short Scripts, hoje publicando mais um conjunto de scripts adicionados atualmente na minha biblioteca particular de códigos e exemplos.

O post de hoje

Como de costume selecionei os principais scripts armazenados recentemente na minha biblioteca de códigos, que apresentam os seguintes assuntos:

  • Acesso de usuário a tabelas;
  • Acesso e Leitura a Banco de dados;
  • Contas de Execução;
  • Descrição de Colunas;
  • DMV – Sys.dm_os_memory_clerks;
  • DMV – Sys.dm_server_services;
  • Ident_Current;
  • Leitura de Log;
  • Memória;
  • Memory Cache Entries;
  • Memory Clerks;
  • Multipage Allocators Statistic
  • OS Threads;
  • Processos em execução;
  • Scope_Ident;
  • Serviços do SQL Server;
  • SessioID;
  • System Identity Variable; e
  • XP_ReadErrorLog.

Chegou a hora, mãos nos teclados, a seguir apresento os códigos e exemplos selecionados para o Short Script – Maio 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  – Encerramento processos que apresentam várias horas ou longo tempo de execução  —
SET NOCOUNT ON
DECLARE @spid SMALLINT, @spidString VARCHAR(12)

DECLARE spidCursor CURSOR
FOR SELECT spid
FROM master.sys.sysprocesses
WHERE last_batch < DATEADD(hh, -8, GETDATE()) AND spid > 50 — Change 8 to any other value for hours AND spid > 50 — for user spid
FOR READ ONLY
OPEN spidCursor
FETCH NEXT FROM spidCursor INTO @spid

SELECT ‘Killed spid(s) – ‘
WHILE (@@fetch_status = 0)
AND (@@error = 0)
BEGIN
SELECT @spidString = CONVERT(VARCHAR(12), @spid)
EXEC (‘kill ‘ + @spidString)
SELECT @spid
FETCH NEXT FROM spidCursor INTO @spid
END

CLOSE spidCursor
DEALLOCATE spidCursor
SET NOCOUNT OFF

— Short Script 2 –  Identificando – Memory Cache Entries —
WITH memory_cache_entries
AS
(
SELECT
name AS entry_name,
[type],
in_use_count,
pages_allocated_count,
CAST(entry_data AS XML) AS entry_data
FROM sys.dm_os_memory_cache_entries(nolock)
WHERE type = ‘USERSTORE_TOKENPERM’
),
memory_cache_entries_details
AS
(
SELECT
entry_data.value(‘(/entry/@class)[1]’, ‘bigint’) AS class,
entry_data.value(‘(/entry/@subclass)[1]’, ‘int’) AS subclass,
entry_data.value(‘(/entry/@name)[1]’, ‘varchar(100)’) AS token_name,
pages_allocated_count,
in_use_count
FROM memory_cache_entries
)
SELECT
class,
subclass,
token_name,
COUNT(*) AS nb_entries
FROM memory_cache_entries_details
GROUP BY token_name, class, subclass
ORDER BY nb_entries DESC;

— Short Script 3 – Obtendo a relação de últimos acessos de leitura e escrita por banco de dados —

;WITH myCTE AS
(
SELECT
DB_NAME(database_id) AS TheDatabase,
last_user_seek,
last_user_scan,
last_user_lookup,
last_user_update
FROM sys.dm_db_index_usage_stats
)
SELECT
ServerRestartedDate = (SELECT CREATE_DATE FROM sys.databases where name=’tempdb’),
x.TheDatabase,
MAX(x.last_read) AS last_read,
MAX(x.last_write) AS last_write
FROM
(
SELECT TheDatabase,last_user_seek AS last_read, NULL AS last_write FROM myCTE
UNION ALL
SELECT TheDatabase,last_user_scan, NULL FROM myCTE
UNION ALL
SELECT TheDatabase,last_user_lookup, NULL FROM myCTE
UNION ALL
SELECT TheDatabase,NULL, last_user_update FROM myCTE
) AS x

GROUP BY TheDatabase
ORDER BY TheDatabase

— Short Script 4 – Identificando e analisando as diferenças entre Ident_Current, Scope_Identity e Variável de Sistema Identity —
USE AdventureWorks2016;
Go

CREATE TABLE t6(id int IDENTITY);
CREATE TABLE t7(id int IDENTITY(100,1));
Go

CREATE TRIGGER t6ins ON t6 FOR INSERT
AS
BEGIN
INSERT t7 DEFAULT VALUES
END;
Go

SELECT id FROM t6;
SELECT id FROM t7;

— Do the following in Session 1.
INSERT t6 DEFAULT VALUES;
SELECT @@IDENTITY;
/*Returns the value 100.*/

SELECT SCOPE_IDENTITY();
/* Returns the value 1. This was inserted by the
INSERT statement two statements before this query.*/

SELECT IDENT_CURRENT(‘t7’);
/* Returns value inserted into t7, that is in the trigger.*/

SELECT IDENT_CURRENT(‘t6’);
/* Returns value inserted into t6. This was the INSERT statement four statements before this query.*/

— Do the following in Session 2.
SELECT @@IDENTITY;
/* Returns NULL because there has been no INSERT action
up to this point in this session.*/

SELECT SCOPE_IDENTITY();
/* Returns NULL because there has been no INSERT action
up to this point in this scope in this session.*/

SELECT IDENT_CURRENT(‘t7’);
/* Returns the last value inserted into t7.*/

— Short Script 5 – Identificando a SessionID e suas respectivas OS Threads —
SELECT osTask.session_id,
osThreads.os_thread_id,
osTask.scheduler_id,
osTask.task_state
FROM sys.dm_os_tasks AS osTask INNER JOIN sys.dm_os_threads AS osThreads
ON osTask.worker_address = osThreads.worker_address
WHERE osTask.session_id IS NOT NULL
ORDER BY osTask.session_id;
Go

— Short Script 6 – Identificando o último usuário que acesso a tabela —
SELECT DB_NAME(ius.[database_id]) AS [Database],
                 OBJECT_NAME(ius.[object_id]) AS [TableName],
                 MAX(ius.[last_user_lookup]) AS [last_user_lookup],
                 MAX(ius.[last_user_scan]) AS [last_user_scan],
                 MAX(ius.[last_user_seek]) AS [last_user_seek] FROM sys.dm_db_index_usage_stats AS ius
WHERE ius.[database_id] = DB_ID()
AND ius.[object_id] = OBJECT_ID(‘[PlayerAllData]’)
GROUP BY ius.[database_id], ius.[object_id]
Go

— Short Script 7 – Obtendo informações sobre a descrição de uma coluna —
declare @ColumnName nvarchar(300),
@TableName nvarchar(300);

Set @ColumnName= N’…’;
Set @TableName= N’…’;

Select st.name [Table],
sc.name [Column],
sep.value [Description]
from sys.tables st inner join sys.columns sc
on st.object_id = sc.object_id
left join sys.extended_properties sep
on st.object_id = sep.major_id
and sc.column_id = sep.minor_id
and sep.name = ‘MS_Description’
Where st.name = @TableName
And sc.name = @ColumnName
Go

— Short Script 8 – XP_ReadErrorLog – Identificando a porta padrão do SQL Server —
USE MASTER
Go

XP_readerrorlog 0, 1, N’Server is listening on’
Go

— Short Script 9 –  Utilizando – sys.dm_os_memory_clerks – Multipage Allocators Statistic —
Select name AS clerk_name, memory_node_id,
                 sum(single_pages_kb) / 1024 as single_page_total_size_mb,
                 sum(multi_pages_kb) / 1024 as multi_page_total_size_mb,
                 sum(awe_allocated_kb) / 1024 as awe_allocaed_size_MB
From sys.dm_os_memory_clerks(nolock)
Where memory_node_id = 64
Group by memory_node_id, name
Having SUM(multi_pages_kb) > 0
Order BY sum(single_pages_kb) + sum(multi_pages_kb) +
sum(awe_allocated_kb) DESC
Go

— Short Script 10 –  Utilizando – sys.dm_server_services – Identificando a conta que esta executando os serviços do SQL Server —
Select  servicename,
startup_type_desc,
status_desc,
               last_startup_time,
               service_account,
               is_clustered,
               cluster_nodename,
               filename,
               startup_type,
               status,
               process_id
From sys.dm_server_services
Go

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/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/

https://pedrogalvaojunior.wordpress.com/2017/06/08/short-scripts-junho-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 agosto de 2018.

Abraços…

Conferência Build 2018 realizada pela Microsoft será em Maio


A Microsoft ainda não divulgou os detalhes da conferência Build 2018, a nova edição do seu evento anual para desenvolvedores e profissionais de tecnologia. No post publicado no dia 06/02 por Mehedi Hassan  a data de realização do evento foi divulgada. A nova edição da conferência será realizada de 7 a 9 de maio em Seattle, nos Estados Unidos. Mais informações sobre a conferência Build 2018 serão publicadas em breve pela empresa no site https://build.microsoft.com/.

A edição de 2018 da conferência deve abordar a próxima grande atualização do Windows 10, codinome Redstone 4, e outras novidades para os desenvolvedores com foco em Azure, IA (Inteligência Artificial), IoT (Internet of Things ou Internet das Coisas), Visual Studio e mais.

Assim como ocorreu com a edição de 2017, a conferência deste ano também deverá ser transmitida ao vivo.

Conferência Build 2018 será realizada em maio pela MicrosoftFontes e Direitos Autorais: https://www.thurrott.com – 06/02/2018 – Mehedi Hassan.

SQL Operations Studio Preview v0.25.4 – Janeiro 2018


A Microsoft disponibilizou para download nesta semana o SQL Operations Studio Preview v0.25.4. A ferramenta está disponível para Windows, macOS e Linux.

Se você ainda não conhece esta nova ferramenta, saiba que o SQL Operations Studio é uma ferramenta gratuita para gerenciamento do SQL Server, Azure SQL Database e Azure SQL Data Warehouse.

A primeira versão Preview pública foi lançada no início de novembro de 2017. De acordo com o changelog, a versão 0.25.4 traz correções de bugs, corrige um problema com o tamanho do ícone no menu Iniciar, muda o campo Nome do servidor para Servidor na caixa de diálogo Conexão e mais.

Confira a lista completa de melhorias e correções disponíveis no changelog clicando aqui.

Microsoft SQL Operations Studio Preview v0.25.4

A versão para Windows do SQL Operations Studio Preview v0.25.4 está disponível para download aqui com instalador e aqui em versão portátil (não requer instalação). As versões para outras plataformas e as instruções de instalação podem ser encontradas aqui.

Para maiores informações acesse: https://docs.microsoft.com/en-us/sql/sql-operations-studio/what-is

Fontes e Direitos Autorais: Microsoft – 17/01/2018 – https://docs.microsoft.com/en-us/sql/sql-operations-studio/release-notes

Microsoft libera o .Net Core v2.0.5


A Microsoft disponibilizou para download nesta semana o .NET Core v2.0.5. Esta versão pode ser utilizada para desenvolvimento via linha de comando, editor de texto, Visual Studio 2017, Visual Studio Code ou Visual Studio for Mac.

O .NET Core é uma versão modular, multiplataforma e open-source do .NET Framework. O SDK (kit para desenvolvimento de software) v2.1.4 e o .NET Core Runtime v2.0.5 para Windows estão disponíveis para download aqui.

Na mesma página é possível encontrar o .NET Core e outros downloads para Linux e macOS. Instruções para instalação em diferentes distribuições do Linux estão disponíveis no link acima.

Imagens da versão 2.0.5 do .NET Core também estão disponíveis no Docker Hub. Elas podem ser usadas no Linux e no Nano Server.

Microsoft disponibiliza o .NET Core v2.0.5
A Microsoft disponibilizou para download nesta semana o .NET Core v2.0.5. Esta versão pode ser utilizada para desenvolvimento via linha de comando, editor de texto, Visual Studio 2017, Visual Studio Code ou Visual Studio for Mac

Fontes e Direitos Autorais: Baboo.com –  11 jan 2018 | 9:42 am.

Short Scripts – Dezembro 2017


Hello World, muito, mas muito bom dia….

Mais um sábado começando, justamente hoje que excepcionalmente eu não vou trabalhar e deveria estar dormindo estou aqui aproveitando um pouco do meu tempo para me dedicar a outra enorme paixão, meu blog e meu seguidores que estão me ajudando desde o começo deste ano a aumentar de forma considerável a audiência dos meus posts e sessões aqui compartilhadas.

Como promessa é dívida e deve ser cumprida “ou melhor” compartilhada, estou compartilhando a minha feita a exatos três meses no final do último post da sessão Short Scripts, hoje publicando mais um conjunto de scripts adicionados a minha biblioteca particular de códigos e exemplos nos últimos meses.

O post de hoje

Como de costume selecionei os principais scripts armazenados recentemente na minha biblioteca de códigos, que apresentam os seguintes assuntos:

  • Armazenamento de arquivos;
  • Construção de Frases;
  • Conversão de caracteres;
  • Data Type Money;
  • Excel;
  • Grant All Permissions;
  • Operador Cube;
  • Operador Rollup;
  • Select Recursivo;
  • Sequência Numérica;
  • Views;
  • XP_DirTree;
  • XML Path.

Chegou a hora, mãos nos teclados, a seguir apresento os códigos e exemplos selecionados para o Short Script – Dezembro 2017. 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  – Armazenando arquivos do Excel diretamente no SQL Server —
Set Nocount On
Go

Create Table FileList
(id int identity(1,1) primary key clustered,
FileName varchar(max))
Go

Create Table #TempTable
(id int identity(1,1) primary key clustered,
FileName varchar(max),
FileDepth int,
FileID int)
Go

Create Table dbo.TestBlob
(tbId int IDENTITY(1,1) NOT NULL,
tbName varchar (50) NULL,
tbDesc varchar (100) NULL,
tbBin varbinary (max) NULL)
Go

Insert Into #TempTable
EXEC master.sys.xp_dirtree ‘E:\ExcelOutput’,0,1;
Go

Select * from #TempTable
Go

Declare @I int=0, @FileName varchar(max), @Count int

Select * into #TempFileList from FileList
Set @Count=(Select count(*) from #TempFileList)

Declare @SQLText nvarchar(max)
While (@i<@Count)
 Begin

Set @FileName=(select top 1 FileName from #TempFileList)
  Set @SQLText=’Insert TestBlob(tbName, tbDesc, tbBin) Select ”’+@FileName+”’,”Files”,
  BulkColumn from Openrowset( Bulk ”’+@FileName+”’, Single_Blob) as tb’

  Print @SQLText
  Delete from #TempFileList where FileName=@FileName
  Set @I=@I+1
 End

Select tbID as ID,
tbName as ‘File Name’,
tbBin as ‘Converted file’
from TestBlob
Go

Drop Table #TempFileList
Go

— Short Script 2  – Convertendo caracteres diretamente para o formato e data type Money —
SELECT ‘1,,,,,,’+$0
Go

— Short Script 3  – Criando uma frase através de um Select Recursivo —
Create Table myWords
(RowID Int,
Word Varchar(20))
Go

Insert Into myWords Values(1, ‘This’),(2, ‘is’),(3, ‘an’),(4, ‘interesting’),
(5,’table’)

Declare @Sentence as varchar(8000)
SET @Sentence = ”

SELECT @Sentence = @Sentence + word + ‘ ‘
FROM myWords
ORDER BY RowID

PRINT @Sentence
Go

— Short Script 4  – Utilizando XML Path para gerar uma sequência numérica —
Declare @MyTable Table
(MyID Int)

Insert Into @MyTable Values(1),(2),(3),(4),(5)
Go

— Execução 1 —
Select MyID as “text()”, ‘;’ as “text()” from @MyTable for xml path(”)
Go

— Execução 2 —
Select MyID + ‘;’ as “text()” from @MyTable for xml path(”)
Go

— Short Script 5  – Atribuindo Grant All para todas tabelas em um Banco de Dados —

USE MyDatabase
Go

If EXISTS (Select [name] FROM master..sysdatabases WHERE [name] = ‘MyDatabase’)
Begin

Print ‘Updating Permissions for MyDatabase’
Print ‘ ‘

Declare @tablename varchar(255), @tablename_header varchar(255)

Declare tnames_cursor CURSOR FOR
Select name FROM MyDatabase..sysobjects
WHERE type = ‘U’

Open tnames_cursor
Fetch Next From tnames_cursor INTO @tablename

While (@@Fetch_status <> -1)
Begin

If (@@Fetch_status <> -2)
Begin
Select @tablename_header = ‘Updating ‘ + ‘MyDatabase..’ + RTrim(UPPER(@tablename) )
Print @tablename_header
Exec (‘Grant All on ‘ + @tablename +’ to shanewiso’)
End

Fetch Next From tnames_cursor INTO @tablename
End

Deallocate tnames_cursor
End
Go

— Short Script 6  – Diferença entre os operadores Rollup e Cube —
Create Table Funcionarios
(Codigo Int Primary Key,
Nome VarChar(50) Not Null,
Sexo VarChar(10) Not Null,
Salario Int Not Null,
Departamento VarChar(50) Not Null)
Go

Insert Into Funcionarios
Values
(1, ‘David’, ‘Masculino’, 5000, ‘Sales’),
(2, ‘Jim’, ‘Feminino’, 6000, ‘HR’),
(3, ‘Kate’, ‘Feminino’, 7500, ‘IT’),
(4, ‘Will’, ‘Masculino’, 6500, ‘Marketing’),
(5, ‘Shane’, ‘Feminino’, 5500, ‘Finance’),
(6, ‘Shed’, ‘Masculino’, 8000, ‘Sales’),
(7, ‘Vik’, ‘Masculino’, 7200, ‘HR’),
(8, ‘Vince’, ‘Feminino’, 6600, ‘IT’),
(9, ‘Jane’, ‘Feminino’, 5400, ‘Marketing’),
(10, ‘Laura’, ‘Feminino’, 6300, ‘Finance’),
(11, ‘Mac’, ‘Masculino’, 5700, ‘Sales’),
(12, ‘Pat’, ‘Masculino’, 7000, ‘HR’),
(13, ‘Julie’, ‘Feminino’, 7100, ‘IT’),
(14, ‘Elice’, ‘Feminino’, 6800,’Marketing’),
(15, ‘Wayne’, ‘Masculino’, 5000, ‘Finance’)
Go

— Agrupamento simples através de Group By através da coluna Departamento —
Select Departamento,
Sum(Salario) As Salario_Sum
From Funcionarios
Group By Departamento
Go

— Utilizando operador Rollup para gerar totais e subtotais com base na coluna Departamento —
Select Coalesce (Departamento, ‘Departamentos’) As Departamento,
Sum(Salario) As Salario_Sum
From Funcionarios
Group By Rollup (Departamento)
Go

— Procurando subtotais através do operador Rollup para colunas Departamento e Sexo —
Select Coalesce (Departamento, ‘Departamentos’) As Departamento,
Coalesce (Sexo,’Sexos’) As Sexo,
Sum(Salario) As Salario_Sum
From Funcionarios
Group By Rollup (Departamento, Sexo)
Go

— Utilizando o Operador Cube para gerar todas as possíveis combinações de agrupamentos de dados através das colunas Departamento e Sexo —
Select Coalesce (Departamento, ‘Departamentos’) As Departamento,
Coalesce (Sexo,’Sexos’) As Sexo,
Sum(Salario) As Salario_Sum
From Funcionarios
Group By Cube (Departamento, Sexo)
Go

— Short Script 7  – Identificando a relação de colunas utilizadas em uma view —
— Exemplo 1: Utilizando Information_Schema —

SELECT * FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE AS UsedColumns
WHERE UsedColumns.VIEW_NAME=’NameofView’
Go

— Exemplo 2: Utilizando DMVs —
SELECT
v.name AS ViewName,
c.name AS ColumnName,
columnTypes.name AS DataType,
aliases.name AS Alias
FROM sys.views v INNER JOIN sys.sql_dependencies d
ON d.object_id = v.object_id
INNER JOIN .sys.objects t
ON t.object_id = d.referenced_major_id
INNER JOIN sys.columns c
ON c.object_id = d.referenced_major_id
INNER JOIN sys.types AS columnTypes
ON c.user_type_id=columnTypes.user_type_id
AND c.column_id = d.referenced_minor_id
INNER JOIN sys.columns AS aliases
On c.column_id=aliases.column_id
AND aliases.object_id = object_id(‘[SchemaName].[ViewName]’)
WHERE v.name = ‘ViewName’;
Go

Show, missão cumprida! Mais uma 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:

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 fevereiro de 2018.

Um forte abraço, feliz natal e próspero ano novo.

Project Honolulu Technical Preview v1711 build 15002


A Microsoft anunciou em seu blog Server Management Experience a disponibilidade no TechNet Evaluation Center do Project Honolulu Technical Preview v1711 build 15002.

Project Honolulu Technical Preview v1711 build 15002

Disponível para download aqui, o Project Honolulu é uma experiência flexível e instalada localmente que possibilita o gerenciamento do Windows Server usando o navegador.

Com ele você pode substituir diversas soluções de gerenciamento e configuração, como snap-ins do Microsoft Management Console, o Server Manager do Windows Server, o Gerenciador de Tarefas e etc.

O Project Honolulu Technical Preview v1711 build 15002 pode ser instalado no Windows 10, no Windows Server 2016 e no Windows Server Technical Preview. As instruções para instalação e requisitos estão disponíveis através do link: https://docs.microsoft.com/en-us/windows-server/manage/honolulu/deployment-guide

Quem já tem o Honolulu instalado verá uma notificação “Update available” em sua página inicial indicando que a atualização está disponível.

As novidades neste build incluem uma nova ferramenta Remote Desktop, melhorias na performance da interface e mais.

Fontes e Direitos Autorais: Microsoft | TechNet – 07/12/2017 – https://blogs.technet.microsoft.com/servermanagement/2017/12/07/1711-update-to-project-honolulu-technical-preview-is-now-available/

Microsoft confirma volta do botão Iniciar no Windows 8.1


Windows 8.1 deixará o sistema mais customizável pelo usuário

São Paulo – A Microsoft lançou o Windows 8 em outubro de 2012 e trouxe diversas mudanças em sua interface. Menos de um ano após o lançamento, a empresa começa a fornecer detalhes das modificações para a atualização do sistema, chamada de Windows 8.1.

A empresa anunciou nesta quinta-feira (30) que entre essas mudanças estará a volta do botão Iniciar. Mas o botão não terá as mesmas funções que trazia até a versão 7 do Windows.

O botão não trará uma lista dos aplicativos instalados no sistema, mas levará o usuário para a página inicial. Para visualizar o botão Iniciar será preciso passar o mouse no canto esquerdo inferior da tela – ou tocar no mesmo local, caso for um hardware touchscreen.

No Windows 8.1 os usuários poderão também personalizar a página inicial. Uma das principais reclamações dos usuários era o fato de serem obrigados a iniciar o computador pela nova interface Modern. Mas a Microsoft resolveu ceder neste ponto e afirmou que no Windows 8.1 será possível escolher entre a nova interface e a antiga.

Os usuários também poderão optar por usar o fundo de tela da interface antiga na nova interface Modern. Além disso, os tiles poderão ter seus tamanhos ajustados e organizados como os usuários desejarem.

A empresa também revelou novidades para os recursos de busca, onde o usuário poderá pesquisar sobre um assunto e receber resultados da web e de pastas ou aplicativos instalados no sistema.

O Internet Explorer 11, que será o novo navegador no Windows 8.1, permitirá aos usuários abrirem quantas abas desejarem e customizar o browser da forma que quiser como ajustar para sempre mostrar a barra de endereços.

O Windows 8.1 também trará mais integração com o SkyDrive e permitirá que o usuário salve arquivos diretamente no serviço em nuvem. E mesmo que esteja sem conexão à internet, será possível acessar offline os arquivos.

Os dispositivos com Windows 8.1 também poderão ser compartilhados entre diversos usuários. Ao conectar no aparelho com uma conta da Microsoft, o sistema irá reconhecer e alterar as configurações de acordo com as preferências daquele usuário, incluindo os aplicativos.

Ainda não há uma data oficial para a atualização do sistema operacional, que será automática e gratuita. A Microsoft deve apresentar detalhes sobre o Windows 8.1 durante sua conferência para desenvolvedores que será realizada em junho.

Multitasking-1

Microsoft devolve aos usuário o botão Iniciar (logo no canto inferior esquerdo), mas com algumas limitações. (Reprodução/Microsoft).

Fontes e Direitos Autorais: , de INFO Online.