Aprimoramentos de programabilidade (Mecanismo de Banco de Dados)
Observação |
---|
Para o SQL Server 2008 R2, não houve alterações no conteúdo listado neste tópico. |
Aprimoramentos de programabilidade no Mecanismo de Banco de Dados incluem recursos de armazenamento de dados novos, tipos de dados novos, arquitetura de pesquisa de texto completo nova e numerosas melhorias e adições a Transact-SQL.
Armazenamento de Dados
Armazenamento de tabelas e índices compactados
O SQL Server 2008 oferece suporte à compactação de armazenamento em disco tanto em linha quanto em formato de página para tabelas, índices e exibições indexadas. A compactação de tabelas particionadas e índices pode ser configurada de maneira independente para cada partição. Para obter mais informações, consulte Criando tabelas e índices compactados.
Armazenamento FILESTREAM
O armazenamento FILESTREAM permite que aplicativos baseados no SQL Server armazenem dados não estruturados, como documentos e imagens, no sistema de arquivos. Isso permite que os aplicativos cliente utilizem as APIs de streaming avançado e o desempenho do sistema de arquivos e enquanto mantém a consistência transacional entre os dados não estruturados e os dados estruturados correspondentes. Para obter mais informações, consulte Projetando e implementando armazenamento FILESTREAM.
Novos Agrupamentos
O SQL Server 2008 apresentou novos agrupamentos totalmente alinhados aos agrupamentos fornecidos pelo Windows Server 2008. Esses 80 novos agrupamentos são indicados por referências de versão *_100. Eles oferecem aos usuários as convenções de classificação culturais mais atualizadas e linguisticamente precisas. Para obter mais informações, consulte Suporte a agrupamentos e a Unicode e Trabalhando com agrupamentos.
Alternância de partição em tabelas e índices particionados
O particionamento de dados permite que você gerencie e acesse subconjuntos de dados de forma rápida e eficaz e, ao mesmo tempo, mantenha a integridade de toda a coleção de dados. Agora você pode usar a alternância de partição para transferir de maneira rápida e eficaz os subconjuntos de seus dados alternando uma partição de uma tabela para outra.
Para obter informações sobre os conceitos da alternância de partição e para consultar o código exemplo que implementa a alternância de partição, consulte Transferindo dados de forma eficaz usando a alternância de partição e Alternando partições quando exibições indexadas estão definidas.
Colunas esparsas e conjuntos de colunas
Colunas esparsas são colunas comuns que têm um formato de armazenamento otimizado para valores nulos. Considere o uso de colunas esparsas quando pelo menos 20% a 40% dos valores em uma coluna forem NULL. Para obter mais informações, consulte Usando colunas esparsas.
As tabelas que usam colunas esparsas podem designar um conjunto de colunas para retornar todas as colunas esparsas na tabela. Um conjunto de colunas é uma representação em XML sem-tipo que combina todas as colunas esparsas de uma tabela em uma saída estruturada. Para obter mais informações, consulte Usando conjuntos de colunas.
Armazenamento, métodos e indexação de dados espacial
Os dados espaciais representam informações sobre o local físico e a forma de objetos geométricos. Esses objetos podem ser locais de pontos ou objetos mais complexos como países, estradas ou lagos.
Para obter mais informações, consulte Trabalhando com dados espaciais (Mecanismo de Banco de Dados), Referência de método de tipo de dados de geometria e Referência de método de tipo de dados geography.
Os índices espaciais melhoram a eficiência de determinadas operações orientados por conjunto em objetos espaciais (dados espaciais). Um índice espacial reduz o número de objetos nos quais operações espaciais relativamente dispendiosas precisam ser aplicadas. Para obter mais informações, consulte Trabalhando com índices espaciais (Mecanismo de Banco de Dados).
Tabelas largas
As tabelas largas são tabelas que contêm um ou mais conjuntos de coluna. Uma tabela larga pode conter até 30000 colunas, 1000 índices e 30000 estatísticas. Para obter mais informações, consulte Tipos especiais de tabela.
Tipos de Dados
Tipos de dados de data e hora
O SQL Server 2008 apresenta quatro novos tipos de dados de data e hora. Tais tipos permitem que os aplicativos tenham tipos distintos para data e hora, intervalo de ano aumentado, segunda precisão fracionária aumentada e suporte ao deslocamento de fuso horário. Para obter mais informações, consulte Usando dados de data e hora.
Tipo de dados hirarchyid
O SQL Server 2008 apresenta um novo tipo de dados fornecido por sistema para encapsular relações hierárquicas. Use hierarchyid como um tipo de dados para criar tabelas com uma estrutura hierárquica ou para consultar a estrutura hierárquica de dados em outro local. Use os métodos hierárquicos para analisar e executar o trabalho com os dados hierárquicos usando Transact-SQL.
Os exemplos onde o tipo hierarchyid facilita o armazenamento e a análise de dados hierárquicos incluem o seguinte:
Uma estrutura organizacional
Um sistema de arquivos
Um conjunto de tarefas em um projeto
Uma taxonomia de termos de linguagem
Um gráfico de links entre páginas da Web
O tipo de dados CLR SqlHierarchyId relacionado está disponível para aplicativos cliente. Para obter mais informações, consulte Usando tipos de dados hierarchyid (Mecanismo de Banco de Dados).
Tipos de dados espaciais
O SQL Server 2008 introduz dois novos tipos de dados espaciais: geometry e geography. O tipo de dados geometry oferece suporte a dados planares ou a dados euclidianos (planisfério). O tipo de dados geography armazena dados elipsoidais (globo terrestre), como as coordenadas de latitude e longitude de GPS. Esses novos tipos de dados oferecem suporte ao armazenamento e à manipulação de objetos de dados espaciais, como linestrings, pontos e polígonos. Para obter mais informações, consulte Trabalhando com dados espaciais (Mecanismo de Banco de Dados).
Tipo de tabela definido pelo usuário
O Mecanismo de Banco de Dados apresenta um novo tipo de tabela definido pelo usuário que oferece suporte à representação de estruturas de tabela para usar como parâmetros em procedimentos armazenados e funções, ou em um lote ou no corpo de um procedimento armazenado ou função. Você pode criar restrições exclusivas e chaves primárias nos tipos de tabela definidos pelo usuário.
Para obter mais informações, consulte Tipos de tabela definidos pelo usuário.
Tipos definidos pelo usuário (UDT)
O tamanho de máximo de um UDT foi aumentado para 2147483647 bytes.
Pesquisa de Texto Completo
A pesquisa de texto completo do SQL Server 2008 Enterprise apresenta uma nova arquitetura de texto completo. Agora, a pesquisa de texto completo é um recurso completamente integrado de um banco de dados. Como resultado, a pesquisa de texto completo foi aprimorada de forma significativa nas seguintes áreas:
Os catálogos de texto completo são integrados ao banco de dados em vez de serem armazenados ao sistema de arquivos, por isso, agora, ao mover um banco de dados, os catálogos serão movidos automaticamente.
As palavras de ruído do SQL Server 2005 foram substituídas por palavras irrelevantes (stoplist). A configuração das palavras irrelevantes é gerenciada por um novo conjunto de objetos de palavras irrelevantes. Tais objetos são associados ao banco de dados e se movem em torno dele. Isso mantém a configuração de palavras irrelevantes intacta durante as operações de gerenciamento, como backup e restauração, ações de anexar e desanexar, e a cópia de um banco de dados usando o Assistente para copiar banco de dados. Para obter mais informações, consulte Palavras irrelevantes e listas de palavras irrelevantes.
O desempenho de análise e indexação melhorou significativamente em alguns cenários específicos devido à integração com outros componentes de análise importantes, como o otimizador de consultas. Para obter mais informações, consulte Ajuste de desempenho e otimização de índices de texto completo.
Novas ferramentas ajudam a compreender o conteúdo bruto de um índice de texto completo e o comportamento de um separador de palavras específico em um determinado termo ou frase de consulta. Para obter mais informações, consulte sys.dm_fts_index_keywords (Transact-SQL), sys.dm_fts_index_keywords_by_document (Transact-SQL) e sys.dm_fts_parser (Transact-SQL). Esses e outras novas exibições de gerenciamento dinâmico e procedimentos armazenados facilitam as questões sobre a solução de problemas da pesquisa de texto completo. Para obter mais informações sobre esses recursos, consulte Solucionando problemas da pesquisa de texto completo.
Uma nova família de separadores de palavras melhora a precisão da separação e estende o conjunto de idiomas disponível para a pesquisa de texto completo. Para obter mais informações, consulte Separadores de palavras e lematizadores.
Para obter mais informações, consulte Alterações de comportamento na pesquisa de texto completo do SQL Server 2008 R2, Recursos de pesquisa de texto completo preteridos no SQL Server 2008 R2, Alterações de quebra na pesquisa de texto completo no SQL Server 2008 R2 e Arquitetura da pesquisa de texto completo.
Transact-SQL
Nível de compatibilidade
ALTER DATABASE SET COMPATIBILITY_LEVEL substitui sp_dbcmptlevel para definir o nível de compatibilidade do banco de dados. Para obter mais informações, consulte Nível de compatibilidade de ALTER DATABASE (Transact-SQL).
Operadores compostos
Operadores que executam uma operação e definem uma variável como o resultado, por exemplo SET @x += 2, estão disponíveis. Para obter mais informações, consulte Operadores compostos (Transact-SQL).
Função CONVERT
A função CONVERT foi aprimorada para permitir conversões entre valores binário e caracteres hexadecimais. Para obter mais informações, consulte CAST e CONVERT (Transact-SQL).
Funções de data e hora
O SQL Server 2008 inclui suporte para os sistema ISO da data da semana. Para obter mais informações, consulte DATEPART (Transact-SQL).
GROUPING SETS
Os operadores GROUPING SETS, ROLLUP e CUBE são adicionados à cláusula GROUP BY. Existe uma nova função, GROUPING_ID (), que retorna mais informações do nível de agrupamento que a função GROUPING () existente. A sintaxe de não conformidade com ISO, WITH ROLLUP, WITH CUBE e ALL, é preterida. Para obter mais informações, consulte Usando GROUP BY com ROLLUP, CUBE e GROUPING SETS.
Instrução MERGE
Essa nova instrução Transact-SQL realiza as operações INSERT, UPDATE ou DELETE em uma tabela de destino com base nos resultados de uma junção com a tabela de origem. A sintaxe permite unir uma fonte de dados com uma exibição ou tabela alvo e depois efetuar várias ações com base nos resultados dessa união. Para obter mais informações, consulte MERGE (Transact-SQL).
Relatando dependência do SQL
O SQL Server 2008 apresenta uma nova exibição do catálogo e funções do sistema para fornecer a dependência do SQL relação de forma consistente e confiável. Você pode usar sys.sql_expression_dependencies, sys.dm_sql_referencing_entities e sys.dm_sql_referenced_entities para relatar um servidor, um banco de dados e as dependências do SQL do banco de dados para objetos associados por esquema e não esquema. Para obter mais informações, consulte Informando dependências de SQL.
Parâmetros com valor de tabela
O Mecanismo de Banco de Dados apresenta um novo tipo de parâmetro que pode fazer referência aos tipos de tabela definidos pelo usuário. Você pode usar parâmetros com valor de tabela para enviar várias linhas de dados para uma rotina ou instrução do SQL Server (como um procedimento armazenado ou função) sem criar uma tabela temporária. Para obter mais informações, consulte Parâmetros com valor de tabela (Mecanismo de Banco de Dados).
Construtores de linha do Transact-SQL
A instrução Transact-SQL é aumentada para permitir várias inserções de valor dentro de uma única instrução INSERT. Para obter mais informações, consulte INSERT (Transact-SQL).