SlideShare uma empresa Scribd logo
Novos RecursosNovos Recursos
Transact-SQL no SQLTransact-SQL no SQL
Server 2005Server 2005
Ioannis XylarasIoannis Xylaras
Rapid Response EngineerRapid Response Engineer
Microsoft CorporationMicrosoft Corporation
Fabricio CataeFabricio Catae
Rapid Response EngineerRapid Response Engineer
Microsoft CorportationMicrosoft Corportation
ObjetivoObjetivo
Esta apresentação proverá uma visãoEsta apresentação proverá uma visão
geral dos principais recursos dageral dos principais recursos da
linguagem Microsoftlinguagem Microsoft ®® SQL ServerSQL Server™™
2005 Transact-SQL, incluindo claros e2005 Transact-SQL, incluindo claros e
consistentes exemplos de cenáriosconsistentes exemplos de cenários
onde as funcionalidades poderão seronde as funcionalidades poderão ser
utilizadas.utilizadas.
AgendaAgenda
Novos Data TypesNovos Data Types
DML com OutputDML com Output
TOP (%n)TOP (%n)
Recursos DRIRecursos DRI
Particionamento deParticionamento de
TabelaTabela
Exception HandlingException Handling
Common TableCommon Table
Expression andExpression and
Recursive QueriesRecursive Queries
Except e IntersectExcept e Intersect
Função RankingFunção Ranking
Novas OperaçõesNovas Operações
RelacionaisRelacionais
Melhorias do IndexMelhorias do Index
Snapshot IsolationSnapshot Isolation
LevelLevel
Mudanças noMudanças no
comportamento decomportamento de
recompilaçãorecompilação
XML showplanXML showplan
Novos Data TypesNovos Data Types
XMLXML
varchar(max)varchar(max)
nvarchar(max)nvarchar(max)
varbinary(max)varbinary(max)
XML Data TypeXML Data Type
Primeira classe data type em T-SQLPrimeira classe data type em T-SQL
Colunas, Variáveis, ParametrosColunas, Variáveis, Parametros
Opcionalmente confinado por um Schema XMLOpcionalmente confinado por um Schema XML
XQuery(W3C Básico)+DMLXQuery(W3C Básico)+DML
Habilidade em referenciar colunas variáveisHabilidade em referenciar colunas variáveis
em XQueryem XQuery
Indices XMLIndices XML
Exemplo:Exemplo:
varchar(max)varchar(max)
Modelo de programação unified para tipos deModelo de programação unified para tipos de
dados pequenos e grandesdados pequenos e grandes
ComparisonsComparisons
TriggersTriggers
ConcatenationConcatenation
AggregatesAggregates
ParametersParameters
VariablesVariables
Index Included columnsIndex Included columns
Facilita a transição quando os dados pequenosFacilita a transição quando os dados pequenos
de string/binary passam o limite de 8kde string/binary passam o limite de 8k
Recomendado alternativamente para TEXTORecomendado alternativamente para TEXTO
varchar(max)varchar(max)
DetalhesDetalhes
MicrosoftMicrosoft ®® SQL ServerSQL Server™ 2000™ 2000
varchar(max)varchar(max)
DetalhesDetalhes
SQL Server 2005SQL Server 2005
varbinary(max)varbinary(max)
Extensão para varbinaryExtensão para varbinary
maior que 2GBmaior que 2GB
Utiliza MAX size especificadoUtiliza MAX size especificado
Alternativa para IMAGEAlternativa para IMAGE
Não suporta texto pointerNão suporta texto pointer
.WRITE (expression,@Offset,@Length).WRITE (expression,@Offset,@Length)
DML com cláusula OUTPUTDML com cláusula OUTPUT
HaHabilidade de retornar linhas como parte debilidade de retornar linhas como parte de
operações DMLoperações DML
Imagens “inseridas” e “eliminadas” disponíveisImagens “inseridas” e “eliminadas” disponíveis
pra capturar valores pre e pós atuliazaçãopra capturar valores pre e pós atuliazação
Linhas retornadas irão para dentro de tabelas /Linhas retornadas irão para dentro de tabelas /
variáveisvariáveis
OUTPUT ... INTO ...OUTPUT ... INTO ...
OUTPUTOUTPUT
Como utilizar o recurso OUTPUTComo utilizar o recurso OUTPUT
Declarar as variáveis da tabela avaliadaDeclarar as variáveis da tabela avaliada11
DECLARE @InsertDetails TABLE
(ProductID int,
InsertedBy sysname)
Utilize OUTPUT para retornar detalhes para a
variável
Utilize OUTPUT para retornar detalhes para a
variável22
DECLARE @InsertDetails TABLE
(ProductModelID int,
InsertedBy sysname)
INSERT INTO Production.ProductModel(Name, ModifiedDate)
OUTPUT inserted.ProductModel ID, suser_name()
INTO @InsertDetails
VALUES
('Racing Bike', getdate())
SELECT * FROM @InsertDetails
Recurso TOPRecurso TOP
Em Microsoft SQL Server 2000:Em Microsoft SQL Server 2000:
SELECT TOP <const.>SELECT TOP <const.>
Em Microsoft SQL Server 2005:Em Microsoft SQL Server 2005:
SELECT TOPSELECT TOP (<expressão>) PERCENT(<expressão>) PERCENT
Também suportado em INSERT,Também suportado em INSERT,
UPDATE, DELETEUPDATE, DELETE
<expressão> deve ser variável,<expressão> deve ser variável,
subquery(retorna escala numerica), ousubquery(retorna escala numerica), ou
uma constanteuma constante
PERCENT somente para SELECTPERCENT somente para SELECT
Mudanças DRIMudanças DRI
Suporte para novas ações SETSuporte para novas ações SET
DEFAULT e SET NULL DeclarativeDEFAULT e SET NULL Declarative
Referential Integrity (DRI)Referential Integrity (DRI)
ParticionamentoParticionamento
O que é Tabela Particionada ?O que é Tabela Particionada ?
Dados da tabela distribuídos através deDados da tabela distribuídos através de
múltiplos file groupsmúltiplos file groups
Melhora a performance em sistemasMelhora a performance em sistemas
multiprocessados / multidrivemultiprocessados / multidrive
Fácil Gerenciamento de tabelas grandesFácil Gerenciamento de tabelas grandes
ParticionamentoParticionamento
Como particionar a tabela ?Como particionar a tabela ?
Criando uma partition functionCriando uma partition function11
CREATE PARTITION FUNCTION emailPF (nvarchar(30))
AS RANGE RIGHT FOR VALUES ('G', 'N')
Criando um partition schemeCriando um partition scheme22
CREATE PARTITION SCHEME emailPS
AS PARTITION emailPF TO (fg1, fg2, fg3)
Criando uma tabela particionadaCriando uma tabela particionada33
CREATE TABLE Sales.CustomerEmail
(CustID int, email nvarchar(30))
ON EMailPS (email)
ParticionamentoParticionamento
BenefíciosBenefícios
AdministraçãoAdministração
Eliminação e Recuperação Rápida de DadosEliminação e Recuperação Rápida de Dados
Backup / Recuperação parcial dos dados históricosBackup / Recuperação parcial dos dados históricos
Administração inteligente do gerenciamento de índicesAdministração inteligente do gerenciamento de índices
Minimiza fragmentação de índices para tabelasMinimiza fragmentação de índices para tabelas
historicamente particionadashistoricamente particionadas
Suporte alternativo para armazenamento de histórico dosSuporte alternativo para armazenamento de histórico dos
dadosdados
Desempenho de queries com tabelas grandesDesempenho de queries com tabelas grandes
Eficiente JoinEficiente Join
Pequena arvore de indice ou scaneamento de tabela (tablePequena arvore de indice ou scaneamento de tabela (table
scan) quando usadas queries com partições simplesscan) quando usadas queries com partições simples
Planos de queries simples comparadas com PartitionPlanos de queries simples comparadas com Partition
ViewsViews
Exception HandilingException Handiling
Captura todas as exceções do SQL ServerCaptura todas as exceções do SQL Server
Captura qualquer erro com o ajuste do @@errorCaptura qualquer erro com o ajuste do @@error
Previne terminação de uma batchPrevine terminação de uma batch
Modelo TRY / CATCHModelo TRY / CATCH
O fluxo de controle desloca para CATCH errosO fluxo de controle desloca para CATCH erros
fatais de uma transaçãofatais de uma transação
Nenhuma perda do contexto da transaçãoNenhuma perda do contexto da transação
Registra o estado quando os erros fatais àRegistra o estado quando os erros fatais à
transação ocorremtransação ocorrem
Exception HandilingException Handiling
Syntax:Syntax:
As construções de TRY/CATCH podem serAs construções de TRY/CATCH podem ser
alinhadasalinhadas
As exceções são capturadas pelo bloco doAs exceções são capturadas pelo bloco do
CATCH associadas com a construção maisCATCH associadas com a construção mais
próxima de TRY/CATCHpróxima de TRY/CATCH
Exception HandilingException Handiling
Detalhes dos erros estão disponíveis aDetalhes dos erros estão disponíveis a
qualquer momento dentro do blocoqualquer momento dentro do bloco
CATCHCATCH
Error_number()Error_number()
Error_message()Error_message()
Error_severity()Error_severity()
Error_state()Error_state()
Error_procedure()Error_procedure()
Error_line()Error_line()
O que sãoO que são Common TableCommon Table
Expressions?Expressions?
O resultado pode ser usado em SELECT, INSERT,O resultado pode ser usado em SELECT, INSERT,
UPDATE ou DELETEUPDATE ou DELETE..
Vantagens de expressões comuns da tabela:Vantagens de expressões comuns da tabela:
Queries com tabelas derivadas tornam-se mais legiveisQueries com tabelas derivadas tornam-se mais legiveis
Fornece movimentações para hierarquias recursivasFornece movimentações para hierarquias recursivas
WITH TopSales (SalesPersonID, NumSales) AS
( SELECT SalesPersonID, Count(*)
FROM Sales.SalesOrderHeader GROUP BY SalesPersonId )
SELECT * FROM TopSales
WHERE SalesPersonID IS NOT NULL
ORDER BY NumSales DESC
Um resultado provisório nomeado para
ajustar-se baseado em uma query
SELECT
Um resultado provisório nomeado para
ajustar-se baseado em uma query
SELECT
Common Table
Expression
Como usar umaComo usar uma CommonCommon
Table ExpressionTable Expression
Escolha um nome CTE e uma lista de colunaEscolha um nome CTE e uma lista de coluna11
WITH TopSales (SalesPersonID, NumSales) ASWITH TopSales (SalesPersonID, NumSales) AS
(SELECT SalesPersonID, Count(*)
FROM Sales.SalesOrderHeader GROUP BY SalesPersonId)
Cria um CTE SELECT queryCria um CTE SELECT query22
Utilize um CTE em uma queryUtilize um CTE em uma query33
WITH TopSales (SalesPersonID, NumSales) AS
(SELECT SalesPersonID, Count(*)
FROM Sales.SalesOrderHeader GROUP BY SalesPersonId)
SELECT LoginID, NumSales
FROM HumanResources.Employee e INNER JOIN TopSales
ON TopSales.SalesPersonID = e.EmployeeID
ORDER BY NumSales DESC
Como executar Queries RecursivasComo executar Queries Recursivas
com Common Table Expressionscom Common Table Expressions
Crie uma query membro inicial (topo da arvore
recursiva)
Crie uma query membro inicial (topo da arvore
recursiva)11
SELECT ManagerID, EmployeeID
FROM HumanResources.Employee
WHERE ManagerID IS NULL
Adicione um operador UNION ALLAdicione um operador UNION ALL22
SELECT ManagerID, EmployeeID
FROM HumanResources.Employee
WHERE ManagerID IS NULL
UNION ALL
Crie um query membro recursiva que faça uma
auto-referencia ao CTE
Crie um query membro recursiva que faça uma
auto-referencia ao CTE
33
SELECT ManagerID, EmployeeID
FROM HumanResources.Employee
WHERE ManagerID IS NULL
UNION ALL
SELECT e.ManagerID, e.EmployeeID
FROM HumanResources.Employee e
INNER JOIN HumanResources.Employee mgr
ON e.ManagerID = mgr.EmployeeID
Except e IntersectExcept e Intersect
Ajuste dos operadores que produzem um resultado baseandoAjuste dos operadores que produzem um resultado baseando
no ajuste de duas outras linhasno ajuste de duas outras linhas
EXCEPT retorna o ajuste consistente de todas as linhas queEXCEPT retorna o ajuste consistente de todas as linhas que
são parte do primeiro resultado e não do segundosão parte do primeiro resultado e não do segundo
INTERSEC retorna o ajude de linhas que são parte dos dois.INTERSEC retorna o ajude de linhas que são parte dos dois.
SELECT OrdemdeVendaID, ClienteID, VendedorID FROM
Vendas.CabecalhoOrdemVenda
EXCEPT
SELECT OrdemdeVendaID, ClienteID, VendedorID FROM
OrdemImportada
SELECT OrdemdeVendaID, ClienteID, VendedorID FROM
Vendas.CabecalhoOrdemVenda
INTERSECT
SELECT OrdemdeVendaID, ClienteID, VendedorID FROM
OrdemImportada
O que são Ranking Functions?O que são Ranking Functions?
FunçãoFunção DescriçãoDescrição
RANKRANK
Retorna um rank para cada linha dentro deRetorna um rank para cada linha dentro de
uma partição específica no ajuste douma partição específica no ajuste do
resultadoresultado
DENSE_RANKDENSE_RANK
Retorna um rank consecutivo para cadaRetorna um rank consecutivo para cada
linha dentro de uma partição específica nolinha dentro de uma partição específica no
ajuste do resultadoajuste do resultado
ROW_NUMBERROW_NUMBER
Retorna a posição de linha ordinal paraRetorna a posição de linha ordinal para
cada linha dentro de um grupo no ajustecada linha dentro de um grupo no ajuste
do resultadodo resultado
NTILENTILE
Divide as linhas em cada divisória de umDivide as linhas em cada divisória de um
ajuste de resultado em um númeroajuste de resultado em um número
especificado de ranks baseados em umespecificado de ranks baseados em um
valor dado.valor dado.
Ranking FunctionRanking Function
DetalhesDetalhes
Ranking FunctionRanking Function
ResultadoResultado
Novos Operadores RelacionaisNovos Operadores Relacionais
PIVOTPIVOT
Transforma o ajuste de linhas paraTransforma o ajuste de linhas para
colunascolunas
Similar ao acesso TRANSFORMSimilar ao acesso TRANSFORM
Util para abrir schemas / cenários OnlineUtil para abrir schemas / cenários Online
Analytical Processing (OLAP)Analytical Processing (OLAP)
UNPIVOTUNPIVOT
Operação reversa do PIVOTOperação reversa do PIVOT
APPLYAPPLY
Perminte avaliar uma função table-valuePerminte avaliar uma função table-value
pra cada linha de outer-tablepra cada linha de outer-table
PivotPivot
O que são as operações Pivot e Unpivot ?O que são as operações Pivot e Unpivot ?
CustCust BikeBike ChainChain
MikeMike 88 22
LisaLisa 33 77
PIVOT – converte valores para colunasPIVOT – converte valores para colunas
CustCust ProdProd QtyQty
MikeMike BikeBike 88
MikeMike ChainChain 22
LisaLisa BikeBike 33
LisaLisa ChainChain 77
SELECT * FROM
Sales.Order
PIVOT (SUM(Qty) FOR
Prod IN ([Bike],
[Chain])) PVT
SELECT * FROM
Sales.Order
PIVOT (SUM(Qty) FOR
Prod IN ([Bike],
[Chain])) PVT
SELECT Cust, Prod, Qty
FROM Sales.PivotedOrder
UNPIVOT (Qty FOR Prod
IN ([Bike],[Chain]))
UnPVT
SELECT Cust, Prod, Qty
FROM Sales.PivotedOrder
UNPIVOT (Qty FOR Prod
IN ([Bike],[Chain]))
UnPVT
CustCust BikeBike ChainChain
MikeMike 88 22
LisaLisa 33 77
CustCust ProdProd QtyQty
MikeMike BikeBike 33
MikeMike ChainChain 22
MikeMike BikeBike 55
LisaLisa BikeBike 33
LisaLisa ChainChain 33
LisaLisa ChainChain 44
UNPIVOT – converte colunas para valoresUNPIVOT – converte colunas para valores
O que é o operador Apply ?O que é o operador Apply ?
Invoca uma função table-valuedInvoca uma função table-valued
uma vez por linhauma vez por linha
CROSS APPLY – somente linhas comCROSS APPLY – somente linhas com
resultados combinados da função.resultados combinados da função.
OUTER APPLY – todas as linhas, nãoOUTER APPLY – todas as linhas, não
importanto os resultados combinados daimportanto os resultados combinados da
função.função.
CREATE FUNCTION Sales.MostRecentOrders
(@CustID AS int) RETURNS TABLE AS
RETURN
SELECT TOP(3) SalesOrderID, OrderDate
FROM Sales.SalesOrderHeader
WHERE CustomerID = @CustID
ORDER BY OrderDate DESC
CustIDCustID NameName
11 A Bike StoreA Bike Store
22 Progressive SportsProgressive Sports
SalesOrderIDSalesOrderID OrderDateOrderDate
101101 11/200311/2003
205205 12/200312/2003
356356 01/200401/2004
CustomerCustomer SalesSales
OrderIDOrderID
OrderDateOrderDate
A Bike StoreA Bike Store 101101 11/200311/2003
A Bike StoreA Bike Store 205205 12/200312/2003
A Bike StoreA Bike Store 356356 01/200401/2004
SELECT Name AS Customer, MR.*
FROM Sales.Store
CROSS APPLY Sales.MostRecentOrders(CustomerID) AS MR
IndicesIndices
MudançasMudanças
ALTER INDEXALTER INDEX
Modifica uma tabela ou view index (relacional ou XML)Modifica uma tabela ou view index (relacional ou XML)
desabilitando, reconstruindo ou reorganizando o índice; oudesabilitando, reconstruindo ou reorganizando o índice; ou
por ajustar opções no índicepor ajustar opções no índice
Opções de ÍndicesOpções de Índices
DISABLEDISABLE
ALLOW_ROW_LOCKSALLOW_ROW_LOCKS
ALLOW_PAGE_LOCKSALLOW_PAGE_LOCKS
MAXDOPMAXDOP
ONLINEONLINE
INDICE com colunas incluídasINDICE com colunas incluídas
Inclui colunas não-chave em índices não clusterizadosInclui colunas não-chave em índices não clusterizados
contorna os limites atuais do índice no tamanho total decontorna os limites atuais do índice no tamanho total de
uma chave do índice e do número de colunas máximasuma chave do índice e do número de colunas máximas
IndicesIndices
Operações OnlineOperações Online
Manutenção online dos indicesManutenção online dos indices
CriaçãoCriação
ReconstruçãoReconstrução
Reorganização (incluindo BLOBs)Reorganização (incluindo BLOBs)
ExcluindoExcluindo
Incluindo ou excluindo confinamente (chaveIncluindo ou excluindo confinamente (chave
primária, única)primária, única)
Totalmente paralelaTotalmente paralela
Online / Offline são suportados ambosOnline / Offline são suportados ambos
Os updates funcionam um pouco mais lentosOs updates funcionam um pouco mais lentos
durante uma operação online do índicedurante uma operação online do índice
IndicesIndices
Características do Novo IndiceCaracterísticas do Novo Indice
O recurso ALTER INDEX permite:O recurso ALTER INDEX permite:
DesabilitarDesabilitar
ReconstruirReconstruir
ReorganizarReorganizar
Configurar as opçõesConfigurar as opções
ALTER INDEX PK_Customer_CustomerID ON Sales.Customer REBUILD
ALTER INDEX IX_Customer_TerritoryID ON Sales.Customer DISABLE
ALTER INDEX PK_Customer_CustomerID ON Sales.Customer
REORGANIZE
ALTER INDEX PK_Customer_CustomerId ON Sales.Customer SET(...)
Snapshot IsolationSnapshot Isolation
Transaction isolation levelsTransaction isolation levels
Read UncommittedRead Uncommitted
Read CommitedRead Commited
Repeatable ReadRepeatable Read
SerializableSerializable
SnapshotSnapshot
Snapshot IsolationSnapshot Isolation
Disponibilidade de dados aumentada paraDisponibilidade de dados aumentada para
aplicações lidasaplicações lidas
Permite consistente leitura non-blocking dentroPermite consistente leitura non-blocking dentro
um ambiente de OLTPum ambiente de OLTP
Permite escritas, que podem causar conflitosPermite escritas, que podem causar conflitos
MAS ...MAS ... inclui a deteção imperativa do conflitoinclui a deteção imperativa do conflito
Usado melhor em Leitura - na maior parte aUsado melhor em Leitura - na maior parte a
base de dados com relativamente poucasbase de dados com relativamente poucas
escritasescritas
Fácil migração de outras bases de dadosFácil migração de outras bases de dados
Mudanças no comportamentoMudanças no comportamento
do Recompiledo Recompile
SQL Server 2000SQL Server 2000
Compilação e recompilação Módulo-levelCompilação e recompilação Módulo-level
Módulo: sp, triggers, functions, batch, etc.Módulo: sp, triggers, functions, batch, etc.
SQL Server 2005SQL Server 2005
Compilação Batch-level mas recompilaçãoCompilação Batch-level mas recompilação
em statement-levelem statement-level
Recompilação deve ser provocada porRecompilação deve ser provocada por
várias condições: Exemplo:mudança devárias condições: Exemplo:mudança de
estatísticas, mudança de opções SET, etc.estatísticas, mudança de opções SET, etc.
Custo menor de recompilaçãoCusto menor de recompilação
Mudanças no comportamentoMudanças no comportamento
do Recompiledo Recompile
Aplicável para todos os motivos deAplicável para todos os motivos de
recompilação.recompilação.
Cenários que mais se beneficiam:Cenários que mais se beneficiam:
Recompilação causada por mudanças deRecompilação causada por mudanças de
estatisticasestatisticas
Batch é grande e somente pequenaBatch é grande e somente pequena
porção necessita de recompilaçãoporção necessita de recompilação
(statement simples em um caso de(statement simples em um caso de
mudanção de estatísticas)mudanção de estatísticas)
Nova tabela é criada dentro da batchNova tabela é criada dentro da batch
XML ShowplanXML Showplan
Informação de perfil da saída showplan/statsInformação de perfil da saída showplan/stats
no formato de XMLno formato de XML
Uso XML schema documentado e revisadoUso XML schema documentado e revisado
com mais informações do que SQL 2000 nocom mais informações do que SQL 2000 no
formato texto ou gráficoformato texto ou gráfico
Entrega para cliente como ajuste deEntrega para cliente como ajuste de
resultado single-valueresultado single-value
Pode ser processado de várias maneirasPode ser processado de várias maneiras
Usando tecnologias XML: XQuery(de dentro doUsando tecnologias XML: XQuery(de dentro do
SQL Server), XSLT, XPath, SAX, DOM, ...SQL Server), XSLT, XPath, SAX, DOM, ...
Programaticamente: Microsoft Visual C#,Programaticamente: Microsoft Visual C#,
Microsoft Visual C++, Java, ...Microsoft Visual C++, Java, ...
Visível usando qualquer ferramenta XMLVisível usando qualquer ferramenta XML
DocumentaçãoDocumentação
Alguns Títulos de Livros MS PressAlguns Títulos de Livros MS Press
Para Maiores InformaçõesPara Maiores Informações
Mais sobre Visual Studio 2005
http://lab.msdn.microsoft.com/vs2005
Mais sobre SQL Server 2005
http://msdn.microsoft.com/SQL/2005/default.aspx
XML Develop Center
http://msdn.microsoft.com/xml/default.aspx
Site SQL Skills
http://www.sqlskills.com
Microsoft SQL Server Home
http://www.microsoft.com/sql/default1.mspx
Recursos ComunitáriosRecursos Comunitários
Site da Comunidade SQL ServerSite da Comunidade SQL Server
http://www.microsoft.com/http://www.microsoft.com/sql/community/default.mspxsql/community/default.mspx
Lista de newsgroupsLista de newsgroups
http://www.microsoft.com/http://www.microsoft.com/
sql/community/newsgroups/default.mspxsql/community/newsgroups/default.mspx
Localizar Grupo de Usuários LocaisLocalizar Grupo de Usuários Locais
httphttp://www.microsoft.com/communities/://www.microsoft.com/communities/
usergroups/default.mspxusergroups/default.mspx
Atender a chat ou web cast gratuitosAtender a chat ou web cast gratuitos
http://www.microsoft.com/communities/chats/http://www.microsoft.com/communities/chats/default.mspxdefault.mspx
http://www.microsoft.com/http://www.microsoft.com/usa/webcasts/default.aspusa/webcasts/default.asp
Sua Avaliação éSua Avaliação é
Importante!Importante!
Por Favor, Não Esqueça dePor Favor, Não Esqueça de
Preencher a Ficha de AvaliaçãoPreencher a Ficha de Avaliação
para esta sessãopara esta sessão
© 2005 Microsoft Corporation. Todos os direitos reservados.
O propósito desta apresentação é apenas informativa. Microsoft não faz nenhuma garantia expressa ou implícita nesta apresentação.
Seu potencial. Nossa inspiração.MR

Mais conteúdo relacionado

Mais procurados

Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
Marco Pinheiro
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysqlLeo Frazão
 
Funcoes excel
Funcoes excelFuncoes excel
Funcoes excelvgbarros
 
Curso de excel
Curso de excelCurso de excel
Curso de excelmgo26
 
Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8
Emiliano Barbosa
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
Emiliano Barbosa
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
Marcos Thomaz
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
Helder Lopes
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
Ricardo Kovalski Cruz
 
Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008
Leonardo Lourenço Silva
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
Fábio dos Reis
 
Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8
Emiliano Barbosa
 
Banco II - PostgreSQL - Filtros
Banco II - PostgreSQL - FiltrosBanco II - PostgreSQL - Filtros
Banco II - PostgreSQL - Filtros
Gustavo Sávio
 
Excelavancado
ExcelavancadoExcelavancado
Excelavancado
Eugrocha10
 
Funções integradas no sql
Funções integradas no sql Funções integradas no sql
Funções integradas no sql Gelivaldo Filho
 

Mais procurados (19)

Basesdedados
BasesdedadosBasesdedados
Basesdedados
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Funcoes excel
Funcoes excelFuncoes excel
Funcoes excel
 
Curso de excel
Curso de excelCurso de excel
Curso de excel
 
Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
 
Aula 12 banco de dados
Aula 12   banco de dadosAula 12   banco de dados
Aula 12 banco de dados
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
 
Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008Hands on Labs - SQL Server 2008
Hands on Labs - SQL Server 2008
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8Fundamentos de SQL - Parte 4 de 8
Fundamentos de SQL - Parte 4 de 8
 
Banco II - PostgreSQL - Filtros
Banco II - PostgreSQL - FiltrosBanco II - PostgreSQL - Filtros
Banco II - PostgreSQL - Filtros
 
Excelavancado
ExcelavancadoExcelavancado
Excelavancado
 
Funções integradas no sql
Funções integradas no sql Funções integradas no sql
Funções integradas no sql
 

Destaque

Christian Buckley - 10 Steps Toward Information Governance Nirvana - The Info...
Christian Buckley - 10 Steps Toward Information Governance Nirvana - The Info...Christian Buckley - 10 Steps Toward Information Governance Nirvana - The Info...
Christian Buckley - 10 Steps Toward Information Governance Nirvana - The Info...
ARMA International
 
How information spreads in a network
How information spreads in a networkHow information spreads in a network
How information spreads in a networkDave Larson
 
pmnetwork201503-dl
pmnetwork201503-dlpmnetwork201503-dl
pmnetwork201503-dlKamil Mroz
 
Presentación1 ivonne
Presentación1 ivonnePresentación1 ivonne
Presentación1 ivonne
ivonneanabella
 
El rol-del-docente-virtual claudia -paola.
El rol-del-docente-virtual claudia -paola.El rol-del-docente-virtual claudia -paola.
El rol-del-docente-virtual claudia -paola.
claudia lorena perilla meneses
 
Национальная система мониторинга окружающей среды в республике беларусь
Национальная система мониторинга окружающей среды в республике беларусьНациональная система мониторинга окружающей среды в республике беларусь
Национальная система мониторинга окружающей среды в республике беларусь
cesbelarus
 
Grimm User Stories - Introductory Presentation
Grimm User Stories - Introductory PresentationGrimm User Stories - Introductory Presentation
Grimm User Stories - Introductory Presentation
Garm Lucassen
 

Destaque (8)

Christian Buckley - 10 Steps Toward Information Governance Nirvana - The Info...
Christian Buckley - 10 Steps Toward Information Governance Nirvana - The Info...Christian Buckley - 10 Steps Toward Information Governance Nirvana - The Info...
Christian Buckley - 10 Steps Toward Information Governance Nirvana - The Info...
 
How information spreads in a network
How information spreads in a networkHow information spreads in a network
How information spreads in a network
 
CV EDDY
CV EDDYCV EDDY
CV EDDY
 
pmnetwork201503-dl
pmnetwork201503-dlpmnetwork201503-dl
pmnetwork201503-dl
 
Presentación1 ivonne
Presentación1 ivonnePresentación1 ivonne
Presentación1 ivonne
 
El rol-del-docente-virtual claudia -paola.
El rol-del-docente-virtual claudia -paola.El rol-del-docente-virtual claudia -paola.
El rol-del-docente-virtual claudia -paola.
 
Национальная система мониторинга окружающей среды в республике беларусь
Национальная система мониторинга окружающей среды в республике беларусьНациональная система мониторинга окружающей среды в республике беларусь
Национальная система мониторинга окружающей среды в республике беларусь
 
Grimm User Stories - Introductory Presentation
Grimm User Stories - Introductory PresentationGrimm User Stories - Introductory Presentation
Grimm User Stories - Introductory Presentation
 

Semelhante a TechEd 2005: Novos Recursos T-SQL (SQL 2005)

Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
Emiliano Barbosa
 
Oracle 11g - Fundamentos
Oracle 11g - FundamentosOracle 11g - Fundamentos
Oracle 11g - Fundamentos
Gustavo Sávio
 
Extração de Features Usando Compilação Condicional
Extração de Features Usando Compilação CondicionalExtração de Features Usando Compilação Condicional
Extração de Features Usando Compilação Condicional
Camilo Ribeiro
 
Refactoring Databases
Refactoring DatabasesRefactoring Databases
Refactoring Databases
Ismael
 
Orm android
Orm androidOrm android
Orm android
Lucas Aquiles
 
Curso basico matlab
Curso basico matlabCurso basico matlab
Curso basico matlabEva Santana
 
Curso basico matlab
Curso basico matlabCurso basico matlab
Curso basico matlab
MikeNandes
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
QuitriaSilva550
 
Matlab – curso básico (1)
Matlab – curso básico (1)Matlab – curso básico (1)
Matlab – curso básico (1)
Felipe Meganha
 
07 LabMM4 - Bases de dados
07 LabMM4 - Bases de dados07 LabMM4 - Bases de dados
07 LabMM4 - Bases de dadosCarlos Santos
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
Luis Ferreira
 
Project coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidadesProject coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidades
Marcelo de Castro
 
Introdução ao CMake
Introdução ao CMakeIntrodução ao CMake
Introdução ao CMake
Paulo Remoli
 
Funções estatísticas (referência) - Suporte da Microsoft.pdf
Funções estatísticas (referência) - Suporte da Microsoft.pdfFunções estatísticas (referência) - Suporte da Microsoft.pdf
Funções estatísticas (referência) - Suporte da Microsoft.pdf
SandraM2013
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
Jorge Ávila Miranda
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
Wagner Bianchi
 
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
Oracle Database 12c - Novas Características para DBAs e DesenvolvedoresOracle Database 12c - Novas Características para DBAs e Desenvolvedores
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
Alex Zaballa
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
tdc-globalcode
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
tdc-globalcode
 

Semelhante a TechEd 2005: Novos Recursos T-SQL (SQL 2005) (20)

Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 
Oracle 11g - Fundamentos
Oracle 11g - FundamentosOracle 11g - Fundamentos
Oracle 11g - Fundamentos
 
Extração de Features Usando Compilação Condicional
Extração de Features Usando Compilação CondicionalExtração de Features Usando Compilação Condicional
Extração de Features Usando Compilação Condicional
 
Refactoring Databases
Refactoring DatabasesRefactoring Databases
Refactoring Databases
 
Orm android
Orm androidOrm android
Orm android
 
Curso basico matlab
Curso basico matlabCurso basico matlab
Curso basico matlab
 
Curso basico matlab
Curso basico matlabCurso basico matlab
Curso basico matlab
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Aula 05 acessando o mysql
Aula 05   acessando o mysqlAula 05   acessando o mysql
Aula 05 acessando o mysql
 
Matlab – curso básico (1)
Matlab – curso básico (1)Matlab – curso básico (1)
Matlab – curso básico (1)
 
07 LabMM4 - Bases de dados
07 LabMM4 - Bases de dados07 LabMM4 - Bases de dados
07 LabMM4 - Bases de dados
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Project coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidadesProject coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidades
 
Introdução ao CMake
Introdução ao CMakeIntrodução ao CMake
Introdução ao CMake
 
Funções estatísticas (referência) - Suporte da Microsoft.pdf
Funções estatísticas (referência) - Suporte da Microsoft.pdfFunções estatísticas (referência) - Suporte da Microsoft.pdf
Funções estatísticas (referência) - Suporte da Microsoft.pdf
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
Oracle Database 12c - Novas Características para DBAs e DesenvolvedoresOracle Database 12c - Novas Características para DBAs e Desenvolvedores
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 

Mais de Fabrício Catae

Mule Meetup Cache Redis
Mule Meetup Cache RedisMule Meetup Cache Redis
Mule Meetup Cache Redis
Fabrício Catae
 
Meetup Mule SP: Kafka (Edgar)
Meetup Mule SP: Kafka (Edgar)Meetup Mule SP: Kafka (Edgar)
Meetup Mule SP: Kafka (Edgar)
Fabrício Catae
 
SQL Server on Linux
SQL Server on LinuxSQL Server on Linux
SQL Server on Linux
Fabrício Catae
 
Build smarter and scalable applications using Microsoft Azure Database Services
Build smarter and scalable applications using Microsoft Azure Database ServicesBuild smarter and scalable applications using Microsoft Azure Database Services
Build smarter and scalable applications using Microsoft Azure Database Services
Fabrício Catae
 
Fora Hackers! Proteção em camadas do SQL Server
Fora Hackers! Proteção em camadas do SQL ServerFora Hackers! Proteção em camadas do SQL Server
Fora Hackers! Proteção em camadas do SQL Server
Fabrício Catae
 
Migrando o Parse para Azure: Lições Aprendidas
Migrando o Parse para Azure: Lições AprendidasMigrando o Parse para Azure: Lições Aprendidas
Migrando o Parse para Azure: Lições Aprendidas
Fabrício Catae
 
TechEd 2015: Diagnosticando problemas em sites ASP.NET
TechEd 2015: Diagnosticando problemas em sites ASP.NETTechEd 2015: Diagnosticando problemas em sites ASP.NET
TechEd 2015: Diagnosticando problemas em sites ASP.NET
Fabrício Catae
 
Estratégias de Backup e Restore
Estratégias de Backup e RestoreEstratégias de Backup e Restore
Estratégias de Backup e Restore
Fabrício Catae
 
Indo para o proximo nivel: MCSM e MCA em SQL Server 2012
Indo para o proximo nivel:  MCSM e MCA em SQL Server 2012Indo para o proximo nivel:  MCSM e MCA em SQL Server 2012
Indo para o proximo nivel: MCSM e MCA em SQL Server 2012
Fabrício Catae
 
CLR Fundamentals: Memory Management
CLR Fundamentals: Memory ManagementCLR Fundamentals: Memory Management
CLR Fundamentals: Memory Management
Fabrício Catae
 
Learn how to debug
Learn how to debugLearn how to debug
Learn how to debug
Fabrício Catae
 
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-TerabyteTechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
Fabrício Catae
 
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...
Fabrício Catae
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
Fabrício Catae
 
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
Fabrício Catae
 
Advanced SQL Memory Management (GeekReady 2012)
Advanced SQL Memory Management (GeekReady 2012)Advanced SQL Memory Management (GeekReady 2012)
Advanced SQL Memory Management (GeekReady 2012)
Fabrício Catae
 
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Como funciona um banco de dados? (Worldwide Online TechDay 2010)Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Fabrício Catae
 
Como funciona um banco de dados? (Prudente TechDay 2010)
Como funciona um banco de dados? (Prudente TechDay 2010)Como funciona um banco de dados? (Prudente TechDay 2010)
Como funciona um banco de dados? (Prudente TechDay 2010)
Fabrício Catae
 
Busca de Documentos (Marilia TechDay 2011)
Busca de Documentos (Marilia TechDay 2011)Busca de Documentos (Marilia TechDay 2011)
Busca de Documentos (Marilia TechDay 2011)
Fabrício Catae
 
Microsoft Certified Master (Comunidade MCM)
Microsoft Certified Master (Comunidade MCM)Microsoft Certified Master (Comunidade MCM)
Microsoft Certified Master (Comunidade MCM)
Fabrício Catae
 

Mais de Fabrício Catae (20)

Mule Meetup Cache Redis
Mule Meetup Cache RedisMule Meetup Cache Redis
Mule Meetup Cache Redis
 
Meetup Mule SP: Kafka (Edgar)
Meetup Mule SP: Kafka (Edgar)Meetup Mule SP: Kafka (Edgar)
Meetup Mule SP: Kafka (Edgar)
 
SQL Server on Linux
SQL Server on LinuxSQL Server on Linux
SQL Server on Linux
 
Build smarter and scalable applications using Microsoft Azure Database Services
Build smarter and scalable applications using Microsoft Azure Database ServicesBuild smarter and scalable applications using Microsoft Azure Database Services
Build smarter and scalable applications using Microsoft Azure Database Services
 
Fora Hackers! Proteção em camadas do SQL Server
Fora Hackers! Proteção em camadas do SQL ServerFora Hackers! Proteção em camadas do SQL Server
Fora Hackers! Proteção em camadas do SQL Server
 
Migrando o Parse para Azure: Lições Aprendidas
Migrando o Parse para Azure: Lições AprendidasMigrando o Parse para Azure: Lições Aprendidas
Migrando o Parse para Azure: Lições Aprendidas
 
TechEd 2015: Diagnosticando problemas em sites ASP.NET
TechEd 2015: Diagnosticando problemas em sites ASP.NETTechEd 2015: Diagnosticando problemas em sites ASP.NET
TechEd 2015: Diagnosticando problemas em sites ASP.NET
 
Estratégias de Backup e Restore
Estratégias de Backup e RestoreEstratégias de Backup e Restore
Estratégias de Backup e Restore
 
Indo para o proximo nivel: MCSM e MCA em SQL Server 2012
Indo para o proximo nivel:  MCSM e MCA em SQL Server 2012Indo para o proximo nivel:  MCSM e MCA em SQL Server 2012
Indo para o proximo nivel: MCSM e MCA em SQL Server 2012
 
CLR Fundamentals: Memory Management
CLR Fundamentals: Memory ManagementCLR Fundamentals: Memory Management
CLR Fundamentals: Memory Management
 
Learn how to debug
Learn how to debugLearn how to debug
Learn how to debug
 
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-TerabyteTechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
TechEd 2009: Planejamento e Operação de Ambientes SharePoint Multi-Terabyte
 
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
 
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
 
Advanced SQL Memory Management (GeekReady 2012)
Advanced SQL Memory Management (GeekReady 2012)Advanced SQL Memory Management (GeekReady 2012)
Advanced SQL Memory Management (GeekReady 2012)
 
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Como funciona um banco de dados? (Worldwide Online TechDay 2010)Como funciona um banco de dados? (Worldwide Online TechDay 2010)
Como funciona um banco de dados? (Worldwide Online TechDay 2010)
 
Como funciona um banco de dados? (Prudente TechDay 2010)
Como funciona um banco de dados? (Prudente TechDay 2010)Como funciona um banco de dados? (Prudente TechDay 2010)
Como funciona um banco de dados? (Prudente TechDay 2010)
 
Busca de Documentos (Marilia TechDay 2011)
Busca de Documentos (Marilia TechDay 2011)Busca de Documentos (Marilia TechDay 2011)
Busca de Documentos (Marilia TechDay 2011)
 
Microsoft Certified Master (Comunidade MCM)
Microsoft Certified Master (Comunidade MCM)Microsoft Certified Master (Comunidade MCM)
Microsoft Certified Master (Comunidade MCM)
 

Último

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
Jonathas Muniz
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (6)

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

TechEd 2005: Novos Recursos T-SQL (SQL 2005)

  • 1.
  • 2. Novos RecursosNovos Recursos Transact-SQL no SQLTransact-SQL no SQL Server 2005Server 2005 Ioannis XylarasIoannis Xylaras Rapid Response EngineerRapid Response Engineer Microsoft CorporationMicrosoft Corporation Fabricio CataeFabricio Catae Rapid Response EngineerRapid Response Engineer Microsoft CorportationMicrosoft Corportation
  • 3. ObjetivoObjetivo Esta apresentação proverá uma visãoEsta apresentação proverá uma visão geral dos principais recursos dageral dos principais recursos da linguagem Microsoftlinguagem Microsoft ®® SQL ServerSQL Server™™ 2005 Transact-SQL, incluindo claros e2005 Transact-SQL, incluindo claros e consistentes exemplos de cenáriosconsistentes exemplos de cenários onde as funcionalidades poderão seronde as funcionalidades poderão ser utilizadas.utilizadas.
  • 4. AgendaAgenda Novos Data TypesNovos Data Types DML com OutputDML com Output TOP (%n)TOP (%n) Recursos DRIRecursos DRI Particionamento deParticionamento de TabelaTabela Exception HandlingException Handling Common TableCommon Table Expression andExpression and Recursive QueriesRecursive Queries Except e IntersectExcept e Intersect Função RankingFunção Ranking Novas OperaçõesNovas Operações RelacionaisRelacionais Melhorias do IndexMelhorias do Index Snapshot IsolationSnapshot Isolation LevelLevel Mudanças noMudanças no comportamento decomportamento de recompilaçãorecompilação XML showplanXML showplan
  • 5. Novos Data TypesNovos Data Types XMLXML varchar(max)varchar(max) nvarchar(max)nvarchar(max) varbinary(max)varbinary(max)
  • 6. XML Data TypeXML Data Type Primeira classe data type em T-SQLPrimeira classe data type em T-SQL Colunas, Variáveis, ParametrosColunas, Variáveis, Parametros Opcionalmente confinado por um Schema XMLOpcionalmente confinado por um Schema XML XQuery(W3C Básico)+DMLXQuery(W3C Básico)+DML Habilidade em referenciar colunas variáveisHabilidade em referenciar colunas variáveis em XQueryem XQuery Indices XMLIndices XML Exemplo:Exemplo:
  • 7. varchar(max)varchar(max) Modelo de programação unified para tipos deModelo de programação unified para tipos de dados pequenos e grandesdados pequenos e grandes ComparisonsComparisons TriggersTriggers ConcatenationConcatenation AggregatesAggregates ParametersParameters VariablesVariables Index Included columnsIndex Included columns Facilita a transição quando os dados pequenosFacilita a transição quando os dados pequenos de string/binary passam o limite de 8kde string/binary passam o limite de 8k Recomendado alternativamente para TEXTORecomendado alternativamente para TEXTO
  • 10. varbinary(max)varbinary(max) Extensão para varbinaryExtensão para varbinary maior que 2GBmaior que 2GB Utiliza MAX size especificadoUtiliza MAX size especificado Alternativa para IMAGEAlternativa para IMAGE Não suporta texto pointerNão suporta texto pointer .WRITE (expression,@Offset,@Length).WRITE (expression,@Offset,@Length)
  • 11. DML com cláusula OUTPUTDML com cláusula OUTPUT HaHabilidade de retornar linhas como parte debilidade de retornar linhas como parte de operações DMLoperações DML Imagens “inseridas” e “eliminadas” disponíveisImagens “inseridas” e “eliminadas” disponíveis pra capturar valores pre e pós atuliazaçãopra capturar valores pre e pós atuliazação Linhas retornadas irão para dentro de tabelas /Linhas retornadas irão para dentro de tabelas / variáveisvariáveis OUTPUT ... INTO ...OUTPUT ... INTO ...
  • 12. OUTPUTOUTPUT Como utilizar o recurso OUTPUTComo utilizar o recurso OUTPUT Declarar as variáveis da tabela avaliadaDeclarar as variáveis da tabela avaliada11 DECLARE @InsertDetails TABLE (ProductID int, InsertedBy sysname) Utilize OUTPUT para retornar detalhes para a variável Utilize OUTPUT para retornar detalhes para a variável22 DECLARE @InsertDetails TABLE (ProductModelID int, InsertedBy sysname) INSERT INTO Production.ProductModel(Name, ModifiedDate) OUTPUT inserted.ProductModel ID, suser_name() INTO @InsertDetails VALUES ('Racing Bike', getdate()) SELECT * FROM @InsertDetails
  • 13. Recurso TOPRecurso TOP Em Microsoft SQL Server 2000:Em Microsoft SQL Server 2000: SELECT TOP <const.>SELECT TOP <const.> Em Microsoft SQL Server 2005:Em Microsoft SQL Server 2005: SELECT TOPSELECT TOP (<expressão>) PERCENT(<expressão>) PERCENT Também suportado em INSERT,Também suportado em INSERT, UPDATE, DELETEUPDATE, DELETE <expressão> deve ser variável,<expressão> deve ser variável, subquery(retorna escala numerica), ousubquery(retorna escala numerica), ou uma constanteuma constante PERCENT somente para SELECTPERCENT somente para SELECT
  • 14. Mudanças DRIMudanças DRI Suporte para novas ações SETSuporte para novas ações SET DEFAULT e SET NULL DeclarativeDEFAULT e SET NULL Declarative Referential Integrity (DRI)Referential Integrity (DRI)
  • 15. ParticionamentoParticionamento O que é Tabela Particionada ?O que é Tabela Particionada ? Dados da tabela distribuídos através deDados da tabela distribuídos através de múltiplos file groupsmúltiplos file groups Melhora a performance em sistemasMelhora a performance em sistemas multiprocessados / multidrivemultiprocessados / multidrive Fácil Gerenciamento de tabelas grandesFácil Gerenciamento de tabelas grandes
  • 16. ParticionamentoParticionamento Como particionar a tabela ?Como particionar a tabela ? Criando uma partition functionCriando uma partition function11 CREATE PARTITION FUNCTION emailPF (nvarchar(30)) AS RANGE RIGHT FOR VALUES ('G', 'N') Criando um partition schemeCriando um partition scheme22 CREATE PARTITION SCHEME emailPS AS PARTITION emailPF TO (fg1, fg2, fg3) Criando uma tabela particionadaCriando uma tabela particionada33 CREATE TABLE Sales.CustomerEmail (CustID int, email nvarchar(30)) ON EMailPS (email)
  • 17. ParticionamentoParticionamento BenefíciosBenefícios AdministraçãoAdministração Eliminação e Recuperação Rápida de DadosEliminação e Recuperação Rápida de Dados Backup / Recuperação parcial dos dados históricosBackup / Recuperação parcial dos dados históricos Administração inteligente do gerenciamento de índicesAdministração inteligente do gerenciamento de índices Minimiza fragmentação de índices para tabelasMinimiza fragmentação de índices para tabelas historicamente particionadashistoricamente particionadas Suporte alternativo para armazenamento de histórico dosSuporte alternativo para armazenamento de histórico dos dadosdados Desempenho de queries com tabelas grandesDesempenho de queries com tabelas grandes Eficiente JoinEficiente Join Pequena arvore de indice ou scaneamento de tabela (tablePequena arvore de indice ou scaneamento de tabela (table scan) quando usadas queries com partições simplesscan) quando usadas queries com partições simples Planos de queries simples comparadas com PartitionPlanos de queries simples comparadas com Partition ViewsViews
  • 18. Exception HandilingException Handiling Captura todas as exceções do SQL ServerCaptura todas as exceções do SQL Server Captura qualquer erro com o ajuste do @@errorCaptura qualquer erro com o ajuste do @@error Previne terminação de uma batchPrevine terminação de uma batch Modelo TRY / CATCHModelo TRY / CATCH O fluxo de controle desloca para CATCH errosO fluxo de controle desloca para CATCH erros fatais de uma transaçãofatais de uma transação Nenhuma perda do contexto da transaçãoNenhuma perda do contexto da transação Registra o estado quando os erros fatais àRegistra o estado quando os erros fatais à transação ocorremtransação ocorrem
  • 19. Exception HandilingException Handiling Syntax:Syntax: As construções de TRY/CATCH podem serAs construções de TRY/CATCH podem ser alinhadasalinhadas As exceções são capturadas pelo bloco doAs exceções são capturadas pelo bloco do CATCH associadas com a construção maisCATCH associadas com a construção mais próxima de TRY/CATCHpróxima de TRY/CATCH
  • 20. Exception HandilingException Handiling Detalhes dos erros estão disponíveis aDetalhes dos erros estão disponíveis a qualquer momento dentro do blocoqualquer momento dentro do bloco CATCHCATCH Error_number()Error_number() Error_message()Error_message() Error_severity()Error_severity() Error_state()Error_state() Error_procedure()Error_procedure() Error_line()Error_line()
  • 21. O que sãoO que são Common TableCommon Table Expressions?Expressions? O resultado pode ser usado em SELECT, INSERT,O resultado pode ser usado em SELECT, INSERT, UPDATE ou DELETEUPDATE ou DELETE.. Vantagens de expressões comuns da tabela:Vantagens de expressões comuns da tabela: Queries com tabelas derivadas tornam-se mais legiveisQueries com tabelas derivadas tornam-se mais legiveis Fornece movimentações para hierarquias recursivasFornece movimentações para hierarquias recursivas WITH TopSales (SalesPersonID, NumSales) AS ( SELECT SalesPersonID, Count(*) FROM Sales.SalesOrderHeader GROUP BY SalesPersonId ) SELECT * FROM TopSales WHERE SalesPersonID IS NOT NULL ORDER BY NumSales DESC Um resultado provisório nomeado para ajustar-se baseado em uma query SELECT Um resultado provisório nomeado para ajustar-se baseado em uma query SELECT Common Table Expression
  • 22. Como usar umaComo usar uma CommonCommon Table ExpressionTable Expression Escolha um nome CTE e uma lista de colunaEscolha um nome CTE e uma lista de coluna11 WITH TopSales (SalesPersonID, NumSales) ASWITH TopSales (SalesPersonID, NumSales) AS (SELECT SalesPersonID, Count(*) FROM Sales.SalesOrderHeader GROUP BY SalesPersonId) Cria um CTE SELECT queryCria um CTE SELECT query22 Utilize um CTE em uma queryUtilize um CTE em uma query33 WITH TopSales (SalesPersonID, NumSales) AS (SELECT SalesPersonID, Count(*) FROM Sales.SalesOrderHeader GROUP BY SalesPersonId) SELECT LoginID, NumSales FROM HumanResources.Employee e INNER JOIN TopSales ON TopSales.SalesPersonID = e.EmployeeID ORDER BY NumSales DESC
  • 23. Como executar Queries RecursivasComo executar Queries Recursivas com Common Table Expressionscom Common Table Expressions Crie uma query membro inicial (topo da arvore recursiva) Crie uma query membro inicial (topo da arvore recursiva)11 SELECT ManagerID, EmployeeID FROM HumanResources.Employee WHERE ManagerID IS NULL Adicione um operador UNION ALLAdicione um operador UNION ALL22 SELECT ManagerID, EmployeeID FROM HumanResources.Employee WHERE ManagerID IS NULL UNION ALL Crie um query membro recursiva que faça uma auto-referencia ao CTE Crie um query membro recursiva que faça uma auto-referencia ao CTE 33 SELECT ManagerID, EmployeeID FROM HumanResources.Employee WHERE ManagerID IS NULL UNION ALL SELECT e.ManagerID, e.EmployeeID FROM HumanResources.Employee e INNER JOIN HumanResources.Employee mgr ON e.ManagerID = mgr.EmployeeID
  • 24. Except e IntersectExcept e Intersect Ajuste dos operadores que produzem um resultado baseandoAjuste dos operadores que produzem um resultado baseando no ajuste de duas outras linhasno ajuste de duas outras linhas EXCEPT retorna o ajuste consistente de todas as linhas queEXCEPT retorna o ajuste consistente de todas as linhas que são parte do primeiro resultado e não do segundosão parte do primeiro resultado e não do segundo INTERSEC retorna o ajude de linhas que são parte dos dois.INTERSEC retorna o ajude de linhas que são parte dos dois. SELECT OrdemdeVendaID, ClienteID, VendedorID FROM Vendas.CabecalhoOrdemVenda EXCEPT SELECT OrdemdeVendaID, ClienteID, VendedorID FROM OrdemImportada SELECT OrdemdeVendaID, ClienteID, VendedorID FROM Vendas.CabecalhoOrdemVenda INTERSECT SELECT OrdemdeVendaID, ClienteID, VendedorID FROM OrdemImportada
  • 25. O que são Ranking Functions?O que são Ranking Functions? FunçãoFunção DescriçãoDescrição RANKRANK Retorna um rank para cada linha dentro deRetorna um rank para cada linha dentro de uma partição específica no ajuste douma partição específica no ajuste do resultadoresultado DENSE_RANKDENSE_RANK Retorna um rank consecutivo para cadaRetorna um rank consecutivo para cada linha dentro de uma partição específica nolinha dentro de uma partição específica no ajuste do resultadoajuste do resultado ROW_NUMBERROW_NUMBER Retorna a posição de linha ordinal paraRetorna a posição de linha ordinal para cada linha dentro de um grupo no ajustecada linha dentro de um grupo no ajuste do resultadodo resultado NTILENTILE Divide as linhas em cada divisória de umDivide as linhas em cada divisória de um ajuste de resultado em um númeroajuste de resultado em um número especificado de ranks baseados em umespecificado de ranks baseados em um valor dado.valor dado.
  • 28. Novos Operadores RelacionaisNovos Operadores Relacionais PIVOTPIVOT Transforma o ajuste de linhas paraTransforma o ajuste de linhas para colunascolunas Similar ao acesso TRANSFORMSimilar ao acesso TRANSFORM Util para abrir schemas / cenários OnlineUtil para abrir schemas / cenários Online Analytical Processing (OLAP)Analytical Processing (OLAP) UNPIVOTUNPIVOT Operação reversa do PIVOTOperação reversa do PIVOT APPLYAPPLY Perminte avaliar uma função table-valuePerminte avaliar uma função table-value pra cada linha de outer-tablepra cada linha de outer-table
  • 29. PivotPivot O que são as operações Pivot e Unpivot ?O que são as operações Pivot e Unpivot ? CustCust BikeBike ChainChain MikeMike 88 22 LisaLisa 33 77 PIVOT – converte valores para colunasPIVOT – converte valores para colunas CustCust ProdProd QtyQty MikeMike BikeBike 88 MikeMike ChainChain 22 LisaLisa BikeBike 33 LisaLisa ChainChain 77 SELECT * FROM Sales.Order PIVOT (SUM(Qty) FOR Prod IN ([Bike], [Chain])) PVT SELECT * FROM Sales.Order PIVOT (SUM(Qty) FOR Prod IN ([Bike], [Chain])) PVT SELECT Cust, Prod, Qty FROM Sales.PivotedOrder UNPIVOT (Qty FOR Prod IN ([Bike],[Chain])) UnPVT SELECT Cust, Prod, Qty FROM Sales.PivotedOrder UNPIVOT (Qty FOR Prod IN ([Bike],[Chain])) UnPVT CustCust BikeBike ChainChain MikeMike 88 22 LisaLisa 33 77 CustCust ProdProd QtyQty MikeMike BikeBike 33 MikeMike ChainChain 22 MikeMike BikeBike 55 LisaLisa BikeBike 33 LisaLisa ChainChain 33 LisaLisa ChainChain 44 UNPIVOT – converte colunas para valoresUNPIVOT – converte colunas para valores
  • 30. O que é o operador Apply ?O que é o operador Apply ? Invoca uma função table-valuedInvoca uma função table-valued uma vez por linhauma vez por linha CROSS APPLY – somente linhas comCROSS APPLY – somente linhas com resultados combinados da função.resultados combinados da função. OUTER APPLY – todas as linhas, nãoOUTER APPLY – todas as linhas, não importanto os resultados combinados daimportanto os resultados combinados da função.função. CREATE FUNCTION Sales.MostRecentOrders (@CustID AS int) RETURNS TABLE AS RETURN SELECT TOP(3) SalesOrderID, OrderDate FROM Sales.SalesOrderHeader WHERE CustomerID = @CustID ORDER BY OrderDate DESC CustIDCustID NameName 11 A Bike StoreA Bike Store 22 Progressive SportsProgressive Sports SalesOrderIDSalesOrderID OrderDateOrderDate 101101 11/200311/2003 205205 12/200312/2003 356356 01/200401/2004 CustomerCustomer SalesSales OrderIDOrderID OrderDateOrderDate A Bike StoreA Bike Store 101101 11/200311/2003 A Bike StoreA Bike Store 205205 12/200312/2003 A Bike StoreA Bike Store 356356 01/200401/2004 SELECT Name AS Customer, MR.* FROM Sales.Store CROSS APPLY Sales.MostRecentOrders(CustomerID) AS MR
  • 31. IndicesIndices MudançasMudanças ALTER INDEXALTER INDEX Modifica uma tabela ou view index (relacional ou XML)Modifica uma tabela ou view index (relacional ou XML) desabilitando, reconstruindo ou reorganizando o índice; oudesabilitando, reconstruindo ou reorganizando o índice; ou por ajustar opções no índicepor ajustar opções no índice Opções de ÍndicesOpções de Índices DISABLEDISABLE ALLOW_ROW_LOCKSALLOW_ROW_LOCKS ALLOW_PAGE_LOCKSALLOW_PAGE_LOCKS MAXDOPMAXDOP ONLINEONLINE INDICE com colunas incluídasINDICE com colunas incluídas Inclui colunas não-chave em índices não clusterizadosInclui colunas não-chave em índices não clusterizados contorna os limites atuais do índice no tamanho total decontorna os limites atuais do índice no tamanho total de uma chave do índice e do número de colunas máximasuma chave do índice e do número de colunas máximas
  • 32. IndicesIndices Operações OnlineOperações Online Manutenção online dos indicesManutenção online dos indices CriaçãoCriação ReconstruçãoReconstrução Reorganização (incluindo BLOBs)Reorganização (incluindo BLOBs) ExcluindoExcluindo Incluindo ou excluindo confinamente (chaveIncluindo ou excluindo confinamente (chave primária, única)primária, única) Totalmente paralelaTotalmente paralela Online / Offline são suportados ambosOnline / Offline são suportados ambos Os updates funcionam um pouco mais lentosOs updates funcionam um pouco mais lentos durante uma operação online do índicedurante uma operação online do índice
  • 33. IndicesIndices Características do Novo IndiceCaracterísticas do Novo Indice O recurso ALTER INDEX permite:O recurso ALTER INDEX permite: DesabilitarDesabilitar ReconstruirReconstruir ReorganizarReorganizar Configurar as opçõesConfigurar as opções ALTER INDEX PK_Customer_CustomerID ON Sales.Customer REBUILD ALTER INDEX IX_Customer_TerritoryID ON Sales.Customer DISABLE ALTER INDEX PK_Customer_CustomerID ON Sales.Customer REORGANIZE ALTER INDEX PK_Customer_CustomerId ON Sales.Customer SET(...)
  • 34. Snapshot IsolationSnapshot Isolation Transaction isolation levelsTransaction isolation levels Read UncommittedRead Uncommitted Read CommitedRead Commited Repeatable ReadRepeatable Read SerializableSerializable SnapshotSnapshot
  • 35. Snapshot IsolationSnapshot Isolation Disponibilidade de dados aumentada paraDisponibilidade de dados aumentada para aplicações lidasaplicações lidas Permite consistente leitura non-blocking dentroPermite consistente leitura non-blocking dentro um ambiente de OLTPum ambiente de OLTP Permite escritas, que podem causar conflitosPermite escritas, que podem causar conflitos MAS ...MAS ... inclui a deteção imperativa do conflitoinclui a deteção imperativa do conflito Usado melhor em Leitura - na maior parte aUsado melhor em Leitura - na maior parte a base de dados com relativamente poucasbase de dados com relativamente poucas escritasescritas Fácil migração de outras bases de dadosFácil migração de outras bases de dados
  • 36. Mudanças no comportamentoMudanças no comportamento do Recompiledo Recompile SQL Server 2000SQL Server 2000 Compilação e recompilação Módulo-levelCompilação e recompilação Módulo-level Módulo: sp, triggers, functions, batch, etc.Módulo: sp, triggers, functions, batch, etc. SQL Server 2005SQL Server 2005 Compilação Batch-level mas recompilaçãoCompilação Batch-level mas recompilação em statement-levelem statement-level Recompilação deve ser provocada porRecompilação deve ser provocada por várias condições: Exemplo:mudança devárias condições: Exemplo:mudança de estatísticas, mudança de opções SET, etc.estatísticas, mudança de opções SET, etc. Custo menor de recompilaçãoCusto menor de recompilação
  • 37. Mudanças no comportamentoMudanças no comportamento do Recompiledo Recompile Aplicável para todos os motivos deAplicável para todos os motivos de recompilação.recompilação. Cenários que mais se beneficiam:Cenários que mais se beneficiam: Recompilação causada por mudanças deRecompilação causada por mudanças de estatisticasestatisticas Batch é grande e somente pequenaBatch é grande e somente pequena porção necessita de recompilaçãoporção necessita de recompilação (statement simples em um caso de(statement simples em um caso de mudanção de estatísticas)mudanção de estatísticas) Nova tabela é criada dentro da batchNova tabela é criada dentro da batch
  • 38. XML ShowplanXML Showplan Informação de perfil da saída showplan/statsInformação de perfil da saída showplan/stats no formato de XMLno formato de XML Uso XML schema documentado e revisadoUso XML schema documentado e revisado com mais informações do que SQL 2000 nocom mais informações do que SQL 2000 no formato texto ou gráficoformato texto ou gráfico Entrega para cliente como ajuste deEntrega para cliente como ajuste de resultado single-valueresultado single-value Pode ser processado de várias maneirasPode ser processado de várias maneiras Usando tecnologias XML: XQuery(de dentro doUsando tecnologias XML: XQuery(de dentro do SQL Server), XSLT, XPath, SAX, DOM, ...SQL Server), XSLT, XPath, SAX, DOM, ... Programaticamente: Microsoft Visual C#,Programaticamente: Microsoft Visual C#, Microsoft Visual C++, Java, ...Microsoft Visual C++, Java, ... Visível usando qualquer ferramenta XMLVisível usando qualquer ferramenta XML
  • 39. DocumentaçãoDocumentação Alguns Títulos de Livros MS PressAlguns Títulos de Livros MS Press
  • 40. Para Maiores InformaçõesPara Maiores Informações Mais sobre Visual Studio 2005 http://lab.msdn.microsoft.com/vs2005 Mais sobre SQL Server 2005 http://msdn.microsoft.com/SQL/2005/default.aspx XML Develop Center http://msdn.microsoft.com/xml/default.aspx Site SQL Skills http://www.sqlskills.com Microsoft SQL Server Home http://www.microsoft.com/sql/default1.mspx
  • 41. Recursos ComunitáriosRecursos Comunitários Site da Comunidade SQL ServerSite da Comunidade SQL Server http://www.microsoft.com/http://www.microsoft.com/sql/community/default.mspxsql/community/default.mspx Lista de newsgroupsLista de newsgroups http://www.microsoft.com/http://www.microsoft.com/ sql/community/newsgroups/default.mspxsql/community/newsgroups/default.mspx Localizar Grupo de Usuários LocaisLocalizar Grupo de Usuários Locais httphttp://www.microsoft.com/communities/://www.microsoft.com/communities/ usergroups/default.mspxusergroups/default.mspx Atender a chat ou web cast gratuitosAtender a chat ou web cast gratuitos http://www.microsoft.com/communities/chats/http://www.microsoft.com/communities/chats/default.mspxdefault.mspx http://www.microsoft.com/http://www.microsoft.com/usa/webcasts/default.aspusa/webcasts/default.asp
  • 42. Sua Avaliação éSua Avaliação é Importante!Importante! Por Favor, Não Esqueça dePor Favor, Não Esqueça de Preencher a Ficha de AvaliaçãoPreencher a Ficha de Avaliação para esta sessãopara esta sessão
  • 43. © 2005 Microsoft Corporation. Todos os direitos reservados. O propósito desta apresentação é apenas informativa. Microsoft não faz nenhuma garantia expressa ou implícita nesta apresentação. Seu potencial. Nossa inspiração.MR

Notas do Editor

  1. &amp;lt;number&amp;gt; © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 04/22/16 14:30