Webcast Agosto–Virtual PASS PT

Olá pessoal, O Global Portuguese Virtual PASS (aka Virtual PASS PT) trouxe mais um webcast para vocês nesse mês de agosto e como sempre tentamos trazer um conteúdo diferente dessa vez o tema da reunião será SQL Database, o serviço de banco de dados na nuvem da Microsoft. E para falar desse assunto nada mais […]

SSIS – The package failed to load due to error 0xC0010014 "One or more error occurred…"


Olá novamente pessoal!
 
Ao realizar a importação de um pacote SSIS você já se deparou com o erro abaixo?


É um erro bem genérico contudo, pelo que pesquisei, na maioria das vezes ele ocorre quando a versão do pacote SSIS foi desenvolvida para uma SQL Server de versão superior a que você tentou importar.

Formalmente não existe um processo de conversão de pacotes SSIS, porém na internet tem algumas coisas a se tentar, use por sua conta e risco =), segue abaixo:

1. No Codeplexexiste uma ferramenta que faz o downgradede pacotes SSIS do SQL Server 2008 para o SQL Server 2005:


2. No site abaixo existe um procedimento manual que segundo o autor funcionou e atendeu a necessidade dele, ele precisou baixar as versões do pacote do SQL Server 2014 para SQL Server 2012:


Obs.: Seguindo a lógica dele consegui baixar a versão de um pacote do SQL Server 2012 para um SQL Server 2008.

É isso pessoal! Um abraço!
http://www.virtualpass.com.br/

Teaser – portal…

Trabalhando bastante no portal de treinamentos on-demand da Sr. Nimbus!
Novidades por vir...



Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

SQLSat 424 – ColumnStore Internals e PreCon

No dia 26 de Setembro estarei em São Paulo para mais um SQL Saturday! O SQLSat #424 vai acontecer na UNIP Tatuapé e novamente vai juntar grandes nomes da comunidade técnica de SQL Server deste país.

A grade foi publicada (http://www.sqlsaturday.com/424/Sessions/Schedule.aspx) e confesso que fiquei surpreso com a quantidade de assuntos interessantes. Espero que os palestrantes se preparem bastante e mandem muito bem, agradando ao público.

Estarei apresentando sobre Columnstore Internals (http://www.sqlsaturday.com/424/Sessions/Details.aspx?sid=38361), apareça por lá!

Aproveito para deixar uma dica sobre a precon do Kevin Boles, por R$ 300,00 você pode participar de um treinamento de um dia sobre tuning.



Tune like a Guru!
Com Kevin Boles (@TheSQLGuru)
Não perca essa chance de participar da Precon Tune Like a Guru com o Kevin Boles aqui em São Paulo. Será na sexta-feira, 25/Setembro. Esta Precon apresentada em inglês vai cobrir uma ampla gama de temas que formam a espinha dorsal da análise de desempenho do SQL Server. Como consultor OLTP a muito tempo, @TheSQLGuru percebeu repetidamente que a maioria dos clientes com quem trabalhou obtiveram melhorias surpreendentes passando apenas a usar um conjunto relativamente pequeno de conhecimentos e ferramentas.

Serão cobertos muitos tópicos, como:
  • Processo de Otimização;
  • Estatísticas: Uso e Manutenção;
  • Índices: Uso e Manutenção;
  • Entendendo o Query Plan;
  • Configurações de Servidor e Database;
  • Melhoramentos no Design;
  • Melhoramentos no Código;
  • Análise de Profiler;
  • Uso de objetos temporários;
  • Análises de Waits e IO




Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

Instalando o R e o RStudio para começar a trabalhar com Data Science

Fala galera, uma das ferramentas [free] mais interessantes e usadas por cientistas de dados é o R. Esta poderosa linguagem de programação criada na década de 70 é usada até hoje por matemáticos, estatísticos e cientistas ao redor do mundo. Com alguns poucos passos você consegue instalar o Framework R e o Rstudio em sua […]

The post Instalando o R e o RStudio para começar a trabalhar com Data Science appeared first on Think Think SQL.

SQLServerDF – Material do encontro XXVI

Post rápido para publicar o material do último encontro do SQLServerDF.

Apresentando o DocumentDB

Para variar eu esqueci de tirar fotos da sessão, só tirei uma foto da recepção do pessoal, então quem tiver algum outro registro, por favor me envie.



Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

Os Powers no Excel 2016

Hoje, após finalizar o upgrade do Windows 10 e testar todos os aplicativos para ver as perdas, finalmente resolvi instalar o Office 2016 Professional Retail no meu notebook.

Office instalado e ativado, fui conferir as funcionalidades da família Power, uma vez que a versão que eu tinha acesso não ativava esses recursos (Office 365 Home Premium).

Primeira verificação, ativar Power Pivot e Power View no Excel, nas opções de Com Add-Ins:


Opções do Excel
.


Gerenciador de Add-ins

Seleção de Add-ins

Com os Add-Ins selecionados, vamos ver as abas e ribbons do Excel, de cara a aba do Power Pivot já aparece no local esperado:



Agora, vamos ver como esta o Power Query, não instalei nenhum suplemento. O Power Query já foi incorporado na ribbon New Query, na aba Data, conforme imagem abaixo:


O Power Maps apareceu como ribbon após ativado, não foi preciso instalar nenhum plugin, mas e o Power View? O mesmo não está presente na aba Insert, local onde era disponível na versão 2013.


Durante a instalação, o Marcos, meu colega de trabalho, que escreve para o blog Dataficação, comentou comigo que agora era necessário incluir a ribbon manualmente. Comecei a procurar nas propriedades e customizações do Excel, apesar do Power View estar marcado como ativo, não consegui adicionar a ribbon do Power View. Ai, o Marcos me passou o link deste blog, onde fala como adicionar a mesma.

Nas opções do Excel, acesse a opção customize ribbon, e na coluna direita, expanda a opção Insert.
Depois de selecionar a opção Insert, clique em New Group:

Seguindo o exemplo do post,  troquei o nome do grupo para Insert Report:



Agora na coluna da esquerda, em Choose commands from, selecione a opção Commands Not in the Ribbon.



Com o grupo Insert Report selecionado do lado direito adicione o comando Insert a Power View Report.


Pronto, a ribbon já está disponível na aba Insert:



Lembrando que a versão do Office 2016 ainda está no Preview, então, até o lançamento oficial, isso pode mudar. Vamos acompanhar as novidades de perto, a seguir, estarei escrevendo sobre o Datazen, nova forma de disponibilizar dashboards e KPIs para dispositivos mobile.

Até a próxima!!!

Cursos Microsoft na plataforma edX

A Microsoft anunciou a criação de alguns cursos online, na plataforma edX. Para quem não conhece, o edX é uma plataforma de cursos online, mantida pelas universidades de Harvard e MIT (Massachusetts Institute Technology), o qual tem o objetivo de oferecer cursos abertos voltados para as massas (MOOCS na sigla em inglês). Os treinamentos nessa…

Non-foldable expressions e o QO

Post rápido.
Estou executando um pequeno benchmark para um cliente, avaliando se uma mudança na modelagem vai trazer benefícios para a aplicação, quando me deparo com um problema interessante. Conversando com o Fabiano ele citou non-foldable expressions, a causa raiz da questão.

Resumindo, quando o QO encontra non-foldable expressions ele não utiliza a densidade ou o histograma para estimar o número de registros, então ele chuta que um percentual dos registros será retornado (10% no meu caso).

Qual o problema disso? Mesmo com um índice em uma coluna com boa seletividade, acabo por ver cluster index scans e planos bem ruins.

Me parece que seria mais interessante o QO usar a densidade no caso de igualdade com non-foldable expression, mas com certeza devem haver cenários onde isso acaba por trazer resultados ruins.

Quer testar? Abaixo está o código que eu gerei para simular o problema utilizando o AdventureWorks2012.
Aproveite e teste o código no SQL Server 2014 e veja a diferença…

E não deixe de testar a última consulta do script e analisar a estimativa do QO. #fun


/****************************************************************************************
*****************************************************************************************

Autor: Luciano Caixeta Moreira
E-mail: luciano.moreira@srnimbus.com.br
LinkedIn: http://www.linkedin.com/in/luticm
Blog: http://luticm.blogspot.com
Twitter: @luticm

Título: non-foldable expression and bad plans
Descrição: 

Histórico de atualização (yyyy-mm-dd):
- 2015-07-30: Criação do script


*   Copyright (C) 2015 Sr. Nimbus Prestação de Serviços em Tecnologia LTDA
*   http://www.srnimbus.com.br

*****************************************************************************************
****************************************************************************************/

USE tempdb
GO

SELECT *
INTO tempdb.dbo.TestePredicado
FROM AdventureWorks2012.Sales.SalesOrderDetail

CREATE UNIQUE CLUSTERED INDEX idx01
ON dbo.TestePredicado (SalesOrderDetailID)
go

CREATE NONCLUSTERED INDEX idx02
ON dbo.TestePredicado (SalesOrderID)
GO

EXEC sp_helpindex 'TestePredicado'

DBCC SHOW_STATISTICS('dbo.TestePredicado', idx02)
GO

-- Usa o histograma, conforme esperado, e estima 1 registro.
SELECT *
FROM dbo.TestePredicado
WHERE salesorderid = 46040
GO

-- Vetor de densidade
-- 3.178134435086604e-5 * 121317 = 3.855617352614016
DECLARE @X INT
SET @X = 46040

SELECT *
FROM dbo.TestePredicado
WHERE salesorderid = @X
GO

-- Utiliza a densidade
SELECT *
FROM dbo.TestePredicado
WHERE salesorderid = CAST(RAND() * 10000 AS INT)
GO

-- Estimated number of rows: 12131.7 => 10%
-- Plano ruim, scan (10% estimate) + filter
SELECT *
FROM dbo.TestePredicado
WHERE salesorderid = CAST(CAST(NEWID() AS binary(6)) % 20000000 AS INT)
GO

-- Ok, densidade
SELECT *
FROM dbo.TestePredicado
WHERE salesorderid = DATEPART(YEAR,GETDATE()) 
GO

-- Para resolver o problema...
DECLARE @X INT
SET @X = CAST(CAST(NEWID() AS binary(6)) % 20000000 AS INT)

SELECT *
FROM dbo.TestePredicado
WHERE salesorderid = @X
GO

/*
In a larger and more complex query on a larger data set, this type of error can result 
in bad plan selection. If this is a problem for your application, consider using a 
technique like the one illustrated above. Use sp_executesql or a stored procedure 
containing the problem query, and pass in the precomputed result of the non-foldable 
expression as a parameter. 
This will allow you to work around the problem and get good cardinality estimates.

https://technet.microsoft.com/en-us/library/cc966419.aspx
*/

-- Estimativa OK
WITH C AS (
SELECT TOP 100
CAST(RAND() * 10000 AS INT) AS IDVenda
FROM sys.columns
)
SELECT *
FROM dbo.TestePredicado AS T
INNER JOIN C
ON T.SalesOrderID = C.IDVenda

-- Estimativa ficou ótima (!!!??!!!?!!), considerou um cross join...
WITH C AS (
SELECT TOP 100
CAST(CAST(NEWID() AS binary(6)) % 20000 AS INT) AS IDVenda
FROM sys.columns
)
SELECT *
FROM dbo.TestePredicado AS T
INNER JOIN C

ON T.SalesOrderID = C.IDVenda


Abraços

Luciano Caixeta Moreira - {Luti}
luciano.moreira@srnimbus.com.br
www.twitter.com/luticm
www.srnimbus.com.br

Microsoft SQL Server 2016 – Lista de Novidades – Final

Bom dia, bom dia, bom dia!!!!! Meu deus que friooooo, neste momento 4.5º graus de temperatura em São Roque e região, para começar o dia esquentando nada como tentar escrever mais um post no meu blog, posso dizer que não é uma missão fácil, pois a chuva de conteúdo que esta na internet sobre o […]
Go to Top