Segue abaixo um problema que não tinha passado no SQL 2008 mais que muitos podem vir a passar:

Em muitos sistemas que já vi as somas ou subtrações são feitas como este exemplo abaixo:

DECLARE @DATE as DATETIME = GETDATE()

SELECT @DATE - 1
-----------------------
2011-09-21 14:28:33.910

 

Porém no SQL2008 com os novos tipos de datas isso não funciona mais

DECLARE @DATE as DATETIME2(0) = SYSDATETIME()
SELECT @DATE - 1

GO
DECLARE @DATE as DATE = SYSDATETIME()
SELECT @DATE - 1
Msg 206, Level 16, State 2, Line 4
Operand type clash: datetime2 is incompatible with int
Msg 206, Level 16, State 2, Line 3
Operand type clash: date is incompatible with int

#FICA_A_DICA

Xupinhado de: http://sqlblog.com/blogs/aaron_bertrand/archive/2011/09/20/bad-habits-to-kick-using-shorthand-with-date-time-operations.aspx

Hoje fui aprovado em mais uma certificação a primeira da carreira de DEV (MCTS – 70-433), já tenho as 2 de ADM (MCTS e MITP) e as 2 de BI (MCTS e MITP).

Estas 2 ultimas linhas (ADM e BI) praticamente não estudei, fui com o meu conhecimento do dia-a-dia, pois estava atuando diretamente com elas. No caso de DEV não estava atuando diretamente o que me fez ter de estudar e rever alguns conhecimentos.

Sempre que alguém falava da prova de DEV sempre falava “a parte de XML é muito difícil”, estudei tanto isso que a parte de XML acertei todas 😛 alguns outros pontos acabei ficando com dúvida.

Em breve coloco um post sobre tudo que estudei sobre XML, por enquanto fica em anexo o guia de certificação para quem esta interessado no assunto

SQLServer2008_CertPath_Complete


Mais uma que não conhecia, sempre temos algo para aprender 🙂

O GROUP BY ALL mostra a soma dos valores “ZERADOS” desconsiderando o filtro do WHERE

SELECT collation_name as COLLATION, COUNT(*) as [COUNT]
FROM sys.databases
WHERE collation_name = 'SQL_Latin1_General_CP1_CI_AS'
GROUP BY ALL collation_name

COLLATION                    COUNT
---------------------------- -----------
Latin1_General_CI_AS         0
Latin1_General_CI_AS_KS_WS   0
SQL_Latin1_General_CP1_CI_AS 5

(3 row(s) affected)

Hoje estava estudando para certificação 70-433 descobri algo que desconhecia até então, é possivel fazer uma soma “SUM”, média “AVG”, etc sobre um conjunto ou subconjunto de registros… Melhor ver na pratica…

SELECT
	[database_id]
	,[name]
	,[compatibility_level]
	,COUNT(*) OVER() as [QTD_TOTAL_DATABASES]
	,COUNT(*) OVER(partition by [compatibility_level]) as [QTD_TOTAL_DATABASES_DO_MESMO_COMPLEVEL]
FROM SYS.databases
ORDER BY [database_id]




REF: http://msdn.microsoft.com/en-us/library/ms189461.aspx

Como vocês sabem não tenho muita paciencia para escrever, mas segue abaixo algumas funções novas do T-SQL no SQL Denali as funções são auto-explicativas… Ou como diria um amigo meu: “o código é a própria documentação

Continue lendo »


Acabei de receber a confirmação, vamos ver se dessa vez consigo postar alguma coisa dos eventos


Hoje descobri que a interface do BIDS tem um bug grave, meio raro de acontecer mas aconteceu comigo.

Considere o cenário: por algum motivo você criar uma Perspectiva e atribuir uma Default Measure. OK

image

image

Mas depois você decide tirar este Default Measure, aparentemente tudo certo

image

Só que ele larga uma sugeira que fica escondida até o momendo de você tentar acessar o cubo retornando o erro “Parser: The end of the input was reached

 

SOLUÇÃO

Basta ir nas propriedades da perspectiva e remover este trecho de código

image

Espero que ajude alguém

Fonte:

http://www.ssas-info.com/analysis-services-faq/29-mgmt/1254-q-how-to-fix-error-qerror-loading-metadata-parser-the-end-of-the-input-was-reachedq


Segue abaixo artigo xupinhado do MSSQLTips (http://www.mssqltips.com/tip.asp?tip=2362) que mostra o recurso novo de paginação no SQL Denali

Overview of OFFSET and FETCH Feature of SQL Server Denali

By: Ashish Kumar Mehta

Problem

While looking through the new features in SQL Server Denali I came across a new feature OFFSET and FETCH. The OFFSET and FETCH clause of SQL Server Denali provides you an option to fetch only a page or a window of the results from the complete result set.  In this tip we will take a look at an example which uses the OFFSET and FETCH feature of SQL Server Denali.  Also, we will show how you can implement SQL Server Paging or SQL data page retrieval using this new feature.

Solution

Using this feature of SQL Server Denali one can easily implement SQL Server Paging while displaying results to the client.  We will take a look at simple example and then also how you could construct a stored procedure to implement SQL paging.

Let’s go through a simple example which demonstrates how to use the OFFSET and FETCH feature of SQL Server Denali.  You can see below that the TSQL looks the same as what you write today except after the ORDER BY clause we have the OFFSET and FETCH commands.  One thing to note is that you have to use an ORDER BY to use this feature.  The OFFSET basically tells SQL to skip the first 100 rows and the FETCH will get the next 5 rows.

USE AdventureWorks2008R2
GO
SELECT
  BusinessEntityID
  ,PersonType
 ,FirstName + ' ' + MiddleName + ' ' + LastName
FROM Person.Person
 ORDER BY BusinessEntityID ASC
  OFFSET 100 ROWS
  FETCH NEXT 5 ROWS ONLY
GO

The below snippet shows the output when running the above commands.  This shows that the first 100 rows were discarded and the query fetched the next 5 rows in the complete recordset.

Let’s go through another example where we will create a stored procedure which will use the OFFSET and FETCHfeature of SQL Server Denali to achieve sql paging while displaying results to client machines.  In this stored procedure we are passing in a page number and the number of rows to return.  These values are then computed to get the correct page and number of rows.

USE AdventureWorks2008R2
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[ExampleUsageOfSQLServerDenaliPagingFeature]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[ExampleUsageOfSQLServerDenaliPagingFeature]
GO
CREATE PROCEDURE ExampleUsageOfSQLServerDenaliPagingFeature
 (
  @PageNo INT,
 @RowCountPerPage INT
 )
AS
SELECT
  BusinessEntityID
 ,PersonType
 ,FirstName + ' ' + MiddleName + ' ' + LastName
FROM Person.Person
 ORDER BY BusinessEntityID
  OFFSET (@PageNo - 1) * @RowCountPerPage ROWS
  FETCH NEXT @RowCountPerPage ROWS ONLY
GO

Let’s go ahead and execute the stored procedure using the below command.  This will give us five records starting at page 21 where the records are ordered by BusinessEntityID.

/* Display Records Between 101 AND 105 BusinessEntityID */
EXECUTE ExampleUsageOfSQLServerDenaliPagingFeature 21, 05
GO

The below snippet shows the output once the above stored procedure is executed successfully. You can see that first 100 (20 pages * 5 rows per page = 100) rows were discarded and the stored procedure fetched only the next 5 rows thereby limiting the number of rows sent to the client.

You have seen in this tip how easily you can achieve SQL Server Paging using the OFFSET and FETCH feature of SQL Server Denali. SQL paging is not as hard as it used to be with this new feature.


Os duendes das estatísticas do WordPress.com analisaram o desempenho deste blog em 2010 e apresentam-lhe aqui um resumo de alto nível da saúde do seu blog:

Healthy blog!

O Blog-Health-o-Meter™ indica: Este blog é fantástico!.

Números apetitosos

Imagem de destaque

Um Boeing 747-400 transporta 416 passageiros. Este blog foi visitado cerca de 1,600 vezes em 2010. Ou seja, cerca de 4 747s cheios.

 

Em 2010, escreveu 22 novo artigo, aumentando o arquivo total do seu blog para 36 artigos. Fez upload de 57 imagens, ocupando um total de 5mb. Isso equivale a cerca de 1 imagens por semana.

The busiest day of the year was 27 de outubro with 47 views. The most popular post that day was RTF to Text usando Custom Assembly no SSRS 2008 R2.

De onde vieram?

Os sites que mais tráfego lhe enviaram em 2010 foram blog.fonsecanet.com, social.msdn.microsoft.com, google.com.br, sqlblog.com e lmodules.com

Alguns visitantes vieram dos motores de busca, sobretudo por shapefile america do sul, excel 2010, o que powerpivot, mapa do brasil shapefile e migracao de sql 2005 para 2008 qual a melhor forma

Atracções em 2010

Estes são os artigos e páginas mais visitados em 2010.

1

RTF to Text usando Custom Assembly no SSRS 2008 R2 outubro, 2010
1 comentário

2

SSRS 2008 R2 + Mapas Vetoriais (ESRI shapefile) maio, 2010
1 comentário

3

SQL x64 + Oracle Client setembro, 2010
1 comentário

4

Reporting Services 2008 R2 – MAPS março, 2010
1 comentário

5

Master Data Services – Introdução maio, 2010
2 comentários


Usei o código do artigo (http://sqlblog.com/blogs/jamie_thomson/archive/2010/11/14/convert-an-integer-seconds-value-into-words-in-reporting-services.aspx) para gerar a versão em T-SQL para transformar tempo

(Segundo) em String (1d 3h 46m 40s)

Continue lendo »