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

of 43 /43

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

Page 1: TechEd 2005: Novos Recursos T-SQL (SQL 2005)
Page 2: TechEd 2005: Novos Recursos T-SQL (SQL 2005)

Novos Recursos Novos Recursos Transact-SQL no SQL Transact-SQL no SQL Server 2005Server 2005Ioannis XylarasIoannis XylarasRapid Response EngineerRapid Response EngineerMicrosoft CorporationMicrosoft Corporation

Fabricio CataeFabricio CataeRapid Response EngineerRapid Response EngineerMicrosoft CorportationMicrosoft Corportation

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

ObjetivoObjetivo

Esta apresentação proverá uma visão Esta apresentação proverá uma visão geral dos principais recursos da geral dos principais recursos da linguagem Microsoft linguagem Microsoft ® ® SQL ServerSQL Server™ ™ 2005 Transact-SQL, incluindo claros e 2005 Transact-SQL, incluindo claros e consistentes exemplos de cenários consistentes exemplos de cenários onde as funcionalidades poderão ser onde as funcionalidades poderão ser utilizadas.utilizadas.

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

AgendaAgendaNovos Data TypesNovos Data TypesDML com OutputDML com OutputTOP (%n)TOP (%n)Recursos DRIRecursos DRIParticionamento de Particionamento de TabelaTabelaException HandlingException HandlingCommon Table Common Table Expression andExpression andRecursive QueriesRecursive QueriesExcept e IntersectExcept e Intersect

Função RankingFunção RankingNovas Operações Novas Operações RelacionaisRelacionaisMelhorias do IndexMelhorias do IndexSnapshot Isolation Snapshot Isolation LevelLevelMudanças no Mudanças no comportamento de comportamento de recompilaçãorecompilaçãoXML showplanXML showplan

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

Novos Data TypesNovos Data Types

XMLXMLvarchar(max)varchar(max)nvarchar(max)nvarchar(max)varbinary(max)varbinary(max)

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

XML Data TypeXML Data TypePrimeira classe data type em T-SQLPrimeira classe data type em T-SQL

Colunas, Variáveis, ParametrosColunas, Variáveis, ParametrosOpcionalmente confinado por um Schema XMLOpcionalmente confinado por um Schema XML

XQuery(W3C Básico)+DMLXQuery(W3C Básico)+DMLHabilidade em referenciar colunas variáveis Habilidade em referenciar colunas variáveis em XQueryem XQuery

Indices XMLIndices XMLExemplo:Exemplo:

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

varchar(max)varchar(max)Modelo de programação unified para tipos de Modelo de programação unified para tipos de dados pequenos e grandesdados pequenos e grandes

ComparisonsComparisonsTriggersTriggersConcatenationConcatenationAggregatesAggregatesParametersParametersVariablesVariablesIndex Included columnsIndex Included columns

Facilita a transição quando os dados pequenos Facilita a transição quando os dados pequenos de string/binary passam o limite de 8kde string/binary passam o limite de 8kRecomendado alternativamente para TEXTORecomendado alternativamente para TEXTO

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

varchar(max)varchar(max)DetalhesDetalhes

Microsoft Microsoft ® ® SQL ServerSQL Server™ 2000™ 2000

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

varchar(max)varchar(max)DetalhesDetalhes

SQL Server 2005SQL Server 2005

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

varbinary(max) varbinary(max)

Extensão para varbinaryExtensão para varbinarymaior que 2GBmaior que 2GBUtiliza MAX size especificadoUtiliza MAX size especificado

Alternativa para IMAGEAlternativa para IMAGENão suporta texto pointerNão suporta texto pointer.WRITE (expression,@Offset,@Length).WRITE (expression,@Offset,@Length)

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

DML com cláusula OUTPUTDML com cláusula OUTPUTHaHabilidade de retornar linhas como parte de bilidade de retornar linhas como parte de operações DMLoperações DMLImagens “inseridas” e “eliminadas” disponíveis Imagens “inseridas” e “eliminadas” disponíveis pra capturar valores pre e pós atuliazaçãopra capturar valores pre e pós atuliazaçãoLinhas retornadas irão para dentro de tabelas / Linhas retornadas irão para dentro de tabelas / variáveisvariáveis

OUTPUT ... INTO ...OUTPUT ... INTO ...

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

OUTPUTOUTPUT Como utilizar o recurso OUTPUT Como utilizar o recurso OUTPUT

Declarar as variáveis da tabela avaliada1

DECLARE @InsertDetails TABLE(ProductID int, InsertedBy sysname)

Utilize OUTPUT para retornar detalhes para a variável2

DECLARE @InsertDetails TABLE(ProductModelID int, InsertedBy sysname)

INSERT INTO Production.ProductModel(Name, ModifiedDate)OUTPUT inserted.ProductModel ID, suser_name() INTO @InsertDetailsVALUES('Racing Bike', getdate())

SELECT * FROM @InsertDetails

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

Recurso TOP Recurso 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>) PERCENTTambé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), ou subquery(retorna escala numerica), ou uma constanteuma constantePERCENT somente para SELECTPERCENT somente para SELECT

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

Mudanças DRI Mudanças DRI Suporte para novas ações SET Suporte para novas ações SET DEFAULT e SET NULL Declarative DEFAULT e SET NULL Declarative Referential Integrity (DRI)Referential Integrity (DRI)

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

ParticionamentoParticionamentoO que é Tabela Particionada ? O que é Tabela Particionada ?

Dados da tabela distribuídos através de Dados da tabela distribuídos através de múltiplos file groupsmúltiplos file groups

Melhora a performance em sistemas Melhora a performance em sistemas multiprocessados / multidrivemultiprocessados / multidriveFácil Gerenciamento de tabelas grandesFácil Gerenciamento de tabelas grandes

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

ParticionamentoParticionamentoComo particionar a tabela ? Como particionar a tabela ?

Criando uma partition function1CREATE PARTITION FUNCTION emailPF (nvarchar(30))AS RANGE RIGHT FOR VALUES ('G', 'N')

Criando um partition scheme2CREATE PARTITION SCHEME emailPSAS PARTITION emailPF TO (fg1, fg2, fg3)

Criando uma tabela particionada3CREATE TABLE Sales.CustomerEmail (CustID int, email nvarchar(30))ON EMailPS (email)

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

ParticionamentoParticionamentoBenefíciosBenefícios

AdministraçãoAdministraçãoEliminação e Recuperação Rápida de DadosEliminação e Recuperação Rápida de DadosBackup / Recuperação parcial dos dados históricosBackup / Recuperação parcial dos dados históricosAdministração inteligente do gerenciamento de índicesAdministração inteligente do gerenciamento de índicesMinimiza fragmentação de índices para tabelas Minimiza fragmentação de índices para tabelas historicamente particionadashistoricamente particionadasSuporte alternativo para armazenamento de histórico dos Suporte alternativo para armazenamento de histórico dos dadosdados

Desempenho de queries com tabelas grandesDesempenho de queries com tabelas grandesEficiente JoinEficiente JoinPequena arvore de indice ou scaneamento de tabela (table Pequena arvore de indice ou scaneamento de tabela (table scan) quando usadas queries com partições simplesscan) quando usadas queries com partições simplesPlanos de queries simples comparadas com Partition ViewsPlanos de queries simples comparadas com Partition Views

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

Exception Handiling Exception Handiling

Captura todas as exceções do SQL ServerCaptura todas as exceções do SQL ServerCaptura qualquer erro com o ajuste do @@errorCaptura qualquer erro com o ajuste do @@errorPrevine terminação de uma batchPrevine terminação de uma batch

Modelo TRY / CATCHModelo TRY / CATCHO fluxo de controle desloca para CATCH erros O 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çãoRegistra o estado quando os erros fatais à Registra o estado quando os erros fatais à transação ocorremtransação ocorrem

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

Exception Handiling Exception Handiling

Syntax:Syntax:

As construções de TRY/CATCH podem ser As construções de TRY/CATCH podem ser alinhadasalinhadasAs exceções são capturadas pelo bloco do As exceções são capturadas pelo bloco do CATCH associadas com a construção mais CATCH associadas com a construção mais próxima de TRY/CATCHpróxima de TRY/CATCH

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

Exception Handiling Exception Handiling

Detalhes dos erros estão disponíveis a Detalhes dos erros estão disponíveis a qualquer momento dentro do bloco qualquer 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()

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

O que são O que são Common Table Common 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 legiveisFornece 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 NULLORDER BY NumSales DESC

Um resultado provisório nomeado para ajustar-se baseado em uma query SELECT

Common Table Expression

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

Como usar uma Como usar uma Common Common Table ExpressionTable Expression

Escolha um nome CTE e uma lista de coluna1

WITH TopSales (SalesPersonID, NumSales) ASWITH TopSales (SalesPersonID, NumSales) AS(SELECT SalesPersonID, Count(*) FROM Sales.SalesOrderHeader GROUP BY SalesPersonId)

Cria um CTE SELECT query2

Utilize um CTE em uma query3

WITH TopSales (SalesPersonID, NumSales) AS(SELECT SalesPersonID, Count(*) FROM Sales.SalesOrderHeader GROUP BY SalesPersonId)

SELECT LoginID, NumSalesFROM HumanResources.Employee e INNER JOIN TopSales ON TopSales.SalesPersonID = e.EmployeeIDORDER BY NumSales DESC

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

Como executar Queries Recursivas Como executar Queries Recursivas com Common Table Expressionscom Common Table Expressions

Crie uma query membro inicial (topo da arvore recursiva)1

SELECT ManagerID, EmployeeID FROM HumanResources.EmployeeWHERE ManagerID IS NULL

Adicione um operador UNION ALL2

SELECT ManagerID, EmployeeID FROM HumanResources.EmployeeWHERE ManagerID IS NULL

UNION ALL

Crie um query membro recursiva que faça uma auto-referencia ao CTE

3

SELECT ManagerID, EmployeeID FROM HumanResources.EmployeeWHERE ManagerID IS NULL

UNION ALL

SELECT e.ManagerID, e.EmployeeIDFROM HumanResources.Employee e INNER JOIN HumanResources.Employee mgrON e.ManagerID = mgr.EmployeeID

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

Except e IntersectExcept e IntersectAjuste dos operadores que produzem um resultado baseando Ajuste dos operadores que produzem um resultado baseando no ajuste de duas outras linhasno ajuste de duas outras linhasEXCEPT retorna o ajuste consistente de todas as linhas que são EXCEPT retorna o ajuste consistente de todas as linhas que são parte do primeiro resultado e não do segundoparte do primeiro resultado e não do segundoINTERSEC 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.CabecalhoOrdemVendaEXCEPTSELECT OrdemdeVendaID, ClienteID, VendedorID FROMOrdemImportada

SELECT OrdemdeVendaID, ClienteID, VendedorID FROM Vendas.CabecalhoOrdemVendaINTERSECTSELECT OrdemdeVendaID, ClienteID, VendedorID FROMOrdemImportada

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

O que são Ranking Functions?O que são Ranking Functions? FunçãoFunção DescriçãoDescrição

RANKRANKRetorna um rank para cada linha dentro de Retorna um rank para cada linha dentro de uma partição específica no ajuste do uma partição específica no ajuste do resultadoresultado

DENSE_RANKDENSE_RANKRetorna um rank consecutivo para cada Retorna um rank consecutivo para cada linha dentro de uma partição específica no linha dentro de uma partição específica no ajuste do resultadoajuste do resultado

ROW_NUMBERROW_NUMBERRetorna a posição de linha ordinal para Retorna a posição de linha ordinal para cada linha dentro de um grupo no ajuste cada linha dentro de um grupo no ajuste do resultadodo resultado

NTILENTILEDivide as linhas em cada divisória de um Divide as linhas em cada divisória de um ajuste de resultado em um número ajuste de resultado em um número especificado de ranks baseados em um especificado de ranks baseados em um valor dado.valor dado.

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

Ranking FunctionRanking FunctionDetalhesDetalhes

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

Ranking FunctionRanking FunctionResultadoResultado

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

Novos Operadores RelacionaisNovos Operadores Relacionais

PIVOTPIVOTTransforma o ajuste de linhas para Transforma o ajuste de linhas para colunascolunasSimilar ao acesso TRANSFORMSimilar ao acesso TRANSFORMUtil para abrir schemas / cenários Online Util para abrir schemas / cenários Online Analytical Processing (OLAP)Analytical Processing (OLAP)

UNPIVOTUNPIVOTOperação reversa do PIVOTOperação reversa do PIVOT

APPLYAPPLYPerminte avaliar uma função table-value Perminte avaliar uma função table-value pra cada linha de outer-tablepra cada linha de outer-table

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

PivotPivotO 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 Cust, Prod, QtyFROM 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

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

O que é o operador Apply ?O que é o operador Apply ?Invoca uma função table-valued Invoca uma função table-valued

uma vez por linhauma vez por linhaCROSS APPLY – somente linhas com CROSS APPLY – somente linhas com

resultados combinados da função.resultados combinados da função.OUTER APPLY – todas as linhas, não OUTER APPLY – todas as linhas, não

importanto os resultados combinados da função.importanto os resultados combinados da função.

CREATE FUNCTION Sales.MostRecentOrders(@CustID AS int) RETURNS TABLE ASRETURN SELECT TOP(3) SalesOrderID, OrderDate FROM Sales.SalesOrderHeader WHERE CustomerID = @CustID ORDER BY OrderDate DESC

CustIDCustID NameName11 A Bike StoreA Bike Store22 Progressive SportsProgressive Sports

SalesOrderIDSalesOrderID OrderDateOrderDate101101 11/200311/2003205205 12/200312/2003356356 01/200401/2004

CustomerCustomer SalesSalesOrderIDOrderID

OrderDateOrderDate

A Bike StoreA Bike Store 101101 11/200311/2003A Bike StoreA Bike Store 205205 12/200312/2003A Bike StoreA Bike Store 356356 01/200401/2004

SELECT Name AS Customer, MR.*FROM Sales.Store CROSS APPLY Sales.MostRecentOrders(CustomerID) AS MR

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

IndicesIndicesMudançasMudanças

ALTER INDEXALTER INDEXModifica uma tabela ou view index (relacional ou XML) Modifica uma tabela ou view index (relacional ou XML) desabilitando, reconstruindo ou reorganizando o índice; ou desabilitando, reconstruindo ou reorganizando o índice; ou por ajustar opções no índicepor ajustar opções no índice

Opções de ÍndicesOpções de ÍndicesDISABLEDISABLEALLOW_ROW_LOCKSALLOW_ROW_LOCKSALLOW_PAGE_LOCKSALLOW_PAGE_LOCKSMAXDOPMAXDOPONLINEONLINE

INDICE com colunas incluídasINDICE com colunas incluídasInclui colunas não-chave em índices não clusterizadosInclui colunas não-chave em índices não clusterizadoscontorna os limites atuais do índice no tamanho total de contorna 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

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

IndicesIndicesOperações OnlineOperações Online

Manutenção online dos indicesManutenção online dos indicesCriaçãoCriaçãoReconstruçãoReconstruçãoReorganização (incluindo BLOBs)Reorganização (incluindo BLOBs)ExcluindoExcluindoIncluindo ou excluindo confinamente (chave Incluindo ou excluindo confinamente (chave primária, única)primária, única)

Totalmente paralelaTotalmente paralelaOnline / Offline são suportados ambosOnline / Offline são suportados ambosOs updates funcionam um pouco mais lentos Os updates funcionam um pouco mais lentos durante uma operação online do índicedurante uma operação online do índice

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

IndicesIndicesCaracterísticas do Novo Indice Caracterí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(...)

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

Snapshot Isolation Snapshot Isolation

Transaction isolation levelsTransaction isolation levelsRead UncommittedRead UncommittedRead CommitedRead CommitedRepeatable ReadRepeatable ReadSerializableSerializableSnapshotSnapshot

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

Snapshot Isolation Snapshot Isolation Disponibilidade de dados aumentada para Disponibilidade de dados aumentada para aplicações lidasaplicações lidas

Permite consistente leitura non-blocking dentro Permite consistente leitura non-blocking dentro um ambiente de OLTPum ambiente de OLTP

Permite escritas, que podem causar conflitosPermite escritas, que podem causar conflitosMAS ... MAS ... inclui a deteção imperativa do conflitoinclui a deteção imperativa do conflito

Usado melhor em Leitura - na maior parte a Usado melhor em Leitura - na maior parte a base de dados com relativamente poucas base de dados com relativamente poucas escritasescritasFácil migração de outras bases de dadosFácil migração de outras bases de dados

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

Mudanças no comportamento Mudanças no comportamento do Recompiledo Recompile

SQL Server 2000SQL Server 2000Compilação e recompilação Módulo-levelCompilação e recompilação Módulo-levelMódulo: sp, triggers, functions, batch, etc.Módulo: sp, triggers, functions, batch, etc.

SQL Server 2005SQL Server 2005Compilação Batch-level mas recompilação Compilação Batch-level mas recompilação em statement-levelem statement-levelRecompilação deve ser provocada por Recompilação deve ser provocada por várias condições: Exemplo:mudança de vá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

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

Mudanças no comportamento Mudanças no comportamento do Recompiledo Recompile

Aplicável para todos os motivos de Aplicá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 de Recompilação causada por mudanças de estatisticasestatisticasBatch é grande e somente pequena Batch é grande e somente pequena porção necessita de recompilação porçã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

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

XML ShowplanXML ShowplanInformação de perfil da saída showplan/stats Informação de perfil da saída showplan/stats no formato de XMLno formato de XMLUso XML schema documentado e revisado Uso XML schema documentado e revisado com mais informações do que SQL 2000 no com mais informações do que SQL 2000 no formato texto ou gráficoformato texto ou gráficoEntrega para cliente como ajuste de Entrega para cliente como ajuste de resultado single-valueresultado single-valuePode ser processado de várias maneirasPode ser processado de várias maneiras

Usando tecnologias XML: XQuery(de dentro do Usando 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

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

DocumentaçãoDocumentaçãoAlguns Títulos de Livros MS PressAlguns Títulos de Livros MS Press

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

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 Centerhttp://msdn.microsoft.com/xml/default.aspx

Site SQL Skillshttp://www.sqlskills.com Microsoft SQL Server Homehttp://www.microsoft.com/sql/default1.mspx

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

Recursos ComunitáriosRecursos ComunitáriosSite da Comunidade SQL ServerSite da Comunidade SQL Serverhttp://www.microsoft.com/http://www.microsoft.com/sql/community/default.mspxsql/community/default.mspx

Lista de newsgroupsLista de newsgroupshttp://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 Locaishttphttp://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 gratuitoshttp://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

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

Sua Avaliação é Sua Avaliação é Importante!Importante!Por Favor, Não Esqueça de Por Favor, Não Esqueça de Preencher a Ficha de Avaliação Preencher a Ficha de Avaliação para esta sessãopara esta sessão

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

© 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