Compartilhar via


Aprimoramentos de programabilidade (Mecanismo de Banco de Dados)

Os aprimoramentos de programabilidade no Mecanismo de Banco de Dados incluem FileTables, pesquisa de semântica estatística, pesquisa de texto completo com escopo de propriedade e pesquisa por proximidade personalizável, paginação de consulta ad hoc, suporte a segmentos de arcos circulares para tipos espaciais, suporte a objetos de sequência, suporte padrão para 15.000 partições e vários aperfeiçoamentos e inclusões ao Transact-SQL.

O XML Web Services Nativos (pontos de extremidade SOAP/HTTP) foi removido

A partir do SQL Server 2012, você não pode mais usar CREATE ENDPOINT ou ALTER ENDPOINT para adicionar ou modificar pontos de extremidade SOAP/HTTP.

FileTables

O recurso de FileTable se baseia na tecnologia de FILESTREAM do SQL Server para oferecer suporte para namespace e compatibilidade do Windows com aplicativos do Windows aos dados de arquivo armazenados no SQL Server. Isso permite que um aplicativo integre seus componentes de armazenamento e gerenciamento de dados e forneça serviços do SQL Server integrados (inclusive pesquisa de texto completo e pesquisa semântica) sobre dados não estruturados e metadados, além da facilidade de gerenciamento e administração de políticas.

Em resumo, você agora pode armazenar arquivos e documentos em tabelas especiais no SQL Server, mas acessá-los a partir de aplicativos do Windows como se eles estivessem armazenados no sistema de arquivos, sem fazer qualquer alteração nos aplicativos do Windows.

Para obter mais informações sobre os recursos de FileTable, consulte FileTables (SQL Server).

Pesquisa Semântica Estatística

A Pesquisa Semântica Estatística fornece uma profunda compreensão de documentos não estruturados armazenados em bancos de dados do SQL Server extraindo frases-chave estatisticamente relevantes e, em seguida, identificando documentos semelhantes (com base nessas frases). Esses resultados são disponibilizados como dados estruturados por meio de três funções de conjunto de linhas Transact-SQL.

A pesquisa semântica tem como base o recurso de pesquisa de texto completo existente no SQL Server, mas habilita novos cenários que ampliam as pesquisas de palavra-chave sintáticas. Enquanto a pesquisa de texto completo permite que você consulte as palavras em um documento, a pesquisa semântica permite a consulta do significado do documento. Novos cenários incluem a extração automática de marcas, a descoberta de conteúdo relacionado e a navegação hierárquica por conteúdo semelhante. Por exemplo, você pode consultar o índice de similaridade do documento para identificar os currículos que correspondem a uma descrição de cargo. Ou você pode consultar o índice de frases-chave para criar a taxonomia para uma organização ou para um corpo de documentos.

Para obter mais informações, consulte Pesquisa semântica (SQL Server).

Antes de poder usar a Pesquisa Semântica, é necessário instalar, anexar e registrar um banco de dados adicional. Para obter mais informações, consulte Instalar e configurar a pesquisa semântica.

Pesquisa de Texto Completo

Pesquisa da Propriedade

A partir do SQL Server 2012, é possível configurar um índice de texto completo para dar suporte à pesquisa com escopo de propriedade em propriedades, como Autor e Título, que são emitidas por IFilters. Esse formulário de pesquisa é conhecido como pesquisa de propriedade. Para que a pesquisa de propriedade seja possível em um determinado tipo de documento o filtro correspondente (IFilter) deve extrair propriedades de pesquisa durante a indexação de texto completo. Entre os IFilters que extraem várias propriedades de documento estão os IFilters para tipos de arquivo de documento do Microsoft Office 2007, como .docx, .xlsx e .pptx. Para obter mais informações, consulte Pesquisar propriedades de documento com listas de propriedades de pesquisa.

NEAR personalizável

A partir do SQL Server 2012, é possível personalizar a pesquisa por proximidade com a nova opção NEAR personalizada do predicado CONTAINS ou da função CONTAINSTABLE. A opção NEAR personalizada permite especificar opcionalmente o número máximo de termos não relacionados a pesquisa que separam o primeiro e o último termos de pesquisa em uma correspondência. Essa opção também permitirá especificar opcionalmente que palavras e frases sejam correspondidas apenas se ocorrerem na ordem em que são especificadas. Para obter mais informações, consulte Procurar palavras perto de outra palavra com NEAR.

Novos separadores de palavras e lematizadores

Todos os separadores de palavras e lematizadores usados na Pesquisa de Texto Completo e na Pesquisa Semântica, com exceção do idioma coreano, foram atualizados nesta versão. Para obter consistência entre o conteúdo dos índices e os resultados das consultas, recomendamos que você preencha novamente os índices de texto completo existentes após a atualização.

  1. Os separadores de palavras de terceiros para inglês que eram fornecidos com versões anteriores do SQL Server foram substituídos por componentes da Microsoft. Se for necessário manter o comportamento anterior, consulte Alterar o separador de palavras usado para inglês dos EUA e inglês do Reino Unido.

  2. Os separadores de palavras de terceiros para dinamarquês, polonês e turco que eram fornecidos com versões anteriores do SQL Server foram substituídos por componentes da Microsoft. Os novos componentes estão habilitados por padrão.

  3. Há novos separadores de palavras para tcheco e grego. As versões anteriores da Pesquisa de Texto Completo do SQL Server não incluíam suporte para esses dois idiomas.

  4. O comportamento dos novos separadores de palavras mudou. Para obter mais informações, consulte Alterações de comportamento em pesquisa de texto completo. Se for necessário manter o comportamento anterior, consulte Reverter os separadores de palavras usados por pesquisa à versão anterior.

  5. Esta versão instala os separadores de palavras e lematizadores da Microsoft, mas não instala os filtros mais recentes da Microsoft. Para baixar os filtros mais recentes, consulte Microsoft Office 2010 Filter Packs.

Recursos espaciais novos e aprimorados

Os novos recursos espaciais no SQL Server 2012 representam uma etapa significativa na evolução de suporte a dados espaciais no SQL Server. O suporte para objetos espaciais do mundo inteiro e para arcos circulares no elipsoide são os primeiros da indústria para sistemas de banco de dados relacional. O tipo de dados de geografia obteve paridade com o tipo de dados de geometria na funcionalidade e a variedade de métodos com suporte. O desempenho global, de índices espaciais para métodos, melhorou significativamente. Estas e outras melhorias para suporte a dados espaciais representam uma etapa significativa nos recursos espaciais do SQL Server.

Para obter uma descrição detalhada e exemplos desses novos recursos espaciais, baixe o white paper sobre novos recursos espaciais no SQL 2012.

Melhorias para tipos de dados espaciais

Novos arcos circulares e métodos relacionados

  • Novos subtipos. Há 3 novos subtipos de arcos circulares:

    • CircularString

    • CompoundCurve

    • CurvePolygon

  • Novos métodos. Todos os métodos existentes funcionam nestes objetos circulares. Os novos métodos a seguir também são introduzidos:

    • BufferWithCurves() usa arcos circulares para construir um objeto armazenado em buffer com um número muito reduzido de pontos comparado com STBuffer().

    • STNumCurves() e STCurveN() são usados para iteração por meio da lista das bordas de arcos circulares.

    • STCurveToLine() e CurveToLineWithTolerance() são usados para aproximar arcos circulares com segmentos de linha dentro da tolerância padrão especificada pelo usuário.

Métodos e agregações novos e atualizados para geometria e geografia

  • Novos métodos.

    • IsValidDetailed() retorna uma mensagem que pode ajudar a identificar por que um objeto espacial não é válido.

    • HasZ retorna 1 (true) se um objeto espacial contiver pelo menos um valor Z.

    • HasM retorna 1 (true) se um objeto espacial contiver pelo menos um valor M.

    • AsBinaryZM() adiciona suporte para valores Z e M para o formato OGC WKB.

    • ShortestLineTo() retorna um LineString que representa a distância mais curta entre dois objetos.

    • STLength() foi atualizado e agora funciona com LineStrings válidas e inválidas.

    • MinDbCompatibilityLevel() é um novo método usado para compatibilidade com versões anteriores. Indica se objetos espaciais podem ser reconhecidos pelo SQL Server 2008 e pelo SQL Server 2008 R2.

  • Nova agregações. Estas agregações só estão disponíveis no Transact-SQL e não na biblioteca de programação do lado do cliente.

    • UnionAggregate

    • EnvelopeAggregate

    • CollectionAggregate

    • ConvexHullAggregate

Precisão aprimorada.

Todas as construções e relações agora são feitas com 48 bits de precisão, comparados a 27 bits usados no SQL Server 2008 e SQL Server 2008 R2. Isto pode reduzir os erros causados pelo arredondamento de coordenadas de ponto flutuante.

Aprimoramentos para o tipo de geografia

  • Mundo inteiro. O SQL Server agora dá suporte a objetos espaciais que são maiores que um hemisfério lógico. Os recursos de geografia foram restritos a um pouco menos de um hemisfério lógico no SQL Server 2008. No SQL Server 2012, eles agora podem ser do tamanho do globo inteiro. Um novo tipo de objeto, chamado de FULLGLOBE, pode ser construído ou recebido como resultado de uma operação.

  • Novos métodos.

    • Para objetos inválidos. O tipo de geografia agora permite inserir objetos inválidos em uma tabela. STIsValid() e MakeValid() permitem que objetos de geografia inválidos sejam detectados e corrigidos de uma maneira semelhante ao tipo de geometria.

    • Para orientação do anel. Os polígonos de geografia agora podem ser acomodados sem considerar a orientação do anel. Isto pode levar a um comportamento não intencional. ReorientObject() pode ser usado para reorientar anéis de polígono para casos onde eles são construídos com a orientação errada.

    • métodos de geometria adicionados para o tipo de geografia. Os métodos STWithin(), STContains(), STOverlaps() e STConvexHull() só estavam disponíveis anteriormente para o tipo de geometria, mas agora foram adicionados para o tipo de geografia. Com a exceção de STConvexHull(), estes novos métodos têm suporte de índices espaciais.

  • Nova SRID. Um novo SRID (id de referência espacial), 104001, foi adicionado à lista de sistemas de referência espaciais com suporte. Este novo SRID é uma esfera de unidade de Terra (uma esfera de raio 1) e pode ser usado com o tipo de geografia para executar computações numéricas otimizadas quando não é necessária matemática elipsoide mais precisa.

Melhorias no desempenho espacial

Melhorias índice espacial

  • Nova grade automática. Um novo índice espacial de grade automática está disponível para os tipos espaciais (geometry_auto_grid e geography_auto_grid). A nova grade automática usa uma estratégia diferente para escolher e equilíbrio certo entre desempenho e eficiência. Para obter mais informações, consulte CREATE SPATIAL INDEX (Transact-SQL).

  • Nova dica de índice espacial, SPATIAL_WINDOW_MAX_CELLS. Esta nova dica espacial é crítica para ajustar o desempenho de consulta usando um índice espacial. Dados espaciais densos geralmente exigem um SPATIAL_WINDOW_MAX_CELLS mais alto, enquanto que dados espaciais esparsos geralmente exigem um SPATIAL_WINDOW_MAX_CELLS inferior para obter um desempenho ótimo. Esta dica não garante que um índice espacial será usado no plano de consulta. No entanto, se ele for usado, esta dica substituirá o parâmetro WINDOW_MAX_CELLS padrão.

  • Compactação para índices espaciais. Para obter mais informações, consulte CREATE SPATIAL INDEX (Transact-SQL).

Melhorias adicionais no desempenho

  • Um plano de consulta otimizado de vizinho mais próximo está disponível quando uma determinada sintaxe é usada.

  • Diversos outros métodos foram otimizados para cenários comuns.

  • As agregações espaciais têm desempenho melhor como resultado de melhorias que afetam todas as agregações do UDT do CLR.

Outras melhorias espaciais

Procedimentos armazenados de auxiliar espacial

Dois novos procedimentos armazenados de auxiliar estão disponíveis. Estes procedimentos podem ser usados para avaliar a distribuição de dados espaciais dentro de uma tabela em uma determinada coluna espacial.

Suporte para colunas computadas persistentes

Os UDTs e os tipos espaciais agora podem ser persistidos em colunas computadas.

As alterações na biblioteca de programação espacial do lado do cliente

Descoberta de metadados

A opção SET FMTONLY para determinar o formato de uma resposta sem realmente executar a consulta é substituída por sp_describe_first_result_set, sp_describe_undeclared_parameters, sys.dm_exec_describe_first_result_set e sys.dm_exec_describe_first_result_set_for_object.

Instrução EXECUTE

A instrução EXECUTE agora pode especificar os metadados retornados pela instrução com o uso do argumento WITH RESULT SETS. Para obter mais informações, consulte EXECUTE (Transact-SQL).

Suporte a UTF-16

Agrupamentos de SC (caracteres suplementares) UTF-16

Uma nova família de agrupamentos de SC (caracteres suplementares) pode ser usada com os tipos de dados nchar, nvarchar e sql_variant. Por exemplo: Latin1_General_100_CI_AS_SC ou, se você estiver usando um agrupamento japonês, Japanese_Bushu_Kakusu_100_CI_AS_SC. Esses agrupamentos codificam caracteres Unicode no formato UTF-16. Caracteres com valores de ponto de código maiores que 0xFFFF exigem duas palavras de 16 bits consecutivas. Esses caracteres são chamados de caracteres suplementares e as duas palavras de 16 bits consecutivas são chamadas de pares substitutos. Os agrupamentos de SC podem melhorar a pesquisa e a classificação por funções que usam os tipos Unicode nchar e nvarchar. Para obter mais informações, consulte Suporte a agrupamentos e a Unicode.

Opção de agrupamento de SC (caracteres suplementares) UTF-16 para XML

O SQL Server 2012 adiciona uma nova opção de agrupamento – "SC" ou "caracteres suplementares" – que identifica se um agrupamento é sensível ao UTF-16. Para obter mais informações, consulte Suporte a agrupamentos e a Unicode. O SQL Server 2012 também inclui suporte para essa opção de agrupamento no esquema XML de Tipos SQL e em outros locais onde o SQL Server expõe ou consome essas informações no contexto de XML. Os seguintes locais são afetados:

  • Tipos de esquema XML SQL. A versão atual do esquema é 1.2. O esquema é compatível com versões anteriores e o namespace de destino não mudou. Agora o esquema expõe o atributo global supplementaryCharacters.

  • Diretiva XMLSCHEMA com FOR XML. O novo atributo global é exposto em esquemas embutidos e anotações de instância gerados pela diretiva XMLSCHEMA, juntamente com atributos semelhantes, como localeId e sqlCompareOptions. Essa diretiva tem suporte com FOR XML nos modos RAW e AUTO, mas não nos modos EXPLICIT ou PATH.

  • Coleção de esquemas XML sys.sys. O novo atributo global é previamente preenchido na coleção de esquemas XML sys.sys interna e é disponibilizado implicitamente em todas as outras coleções de esquemas XML que importam o esquema XML de Tipos SQL.

  • Exibições do catálogo. Agora o novo atributo global é listado nas seguintes exibições do catálogo:

    • sys.xml_schema_components

    • sys.xml_schema_attributes

    • sys.xml_schema_component_placements

  • Coleções de esquemas XML atualizadas. Após a atualização de uma versão anterior do SQL Server, o novo atributo global fica exposto em todas as coleções de esquemas XML que importam o esquema XML de Tipos SQL.

  • Conjuntos de colunas XML. O novo atributo global é adicionado aos valores de conjuntos de colunas XML que representam cadeias de caracteres sql_variant que usam os novos agrupamentos UTF-16. Também pode ser aplicado durante inserções e atualizações para definir valores das cadeias de caracteres de conjuntos do tipo sql_variant em colunas esparsas para usar o agrupamento sensível ao UTF-16.

Implementação de paginação de consulta ad hoc

É possível especificar um intervalo de linhas retornado por uma instrução SELECT baseado em deslocamento de linha e em valores de contagem de linhas fornecidos por você. Isso é útil para controlar o número de linhas enviado a um aplicativo cliente para uma determinada consulta. Para obter mais informações, consulte Cláusula ORDER BY [Transact-SQL].

Objetos de sequência

Uma objeto de sequência é um objeto associado a esquema definido pelo usuário que gera uma sequência de valores numéricos de acordo com a especificação com a qual a sequência foi criada. Ele opera de maneira semelhante a uma coluna de identidade, mas os números de sequência não são restritos para uso em uma única tabela. Para obter mais informações, consulte Números de sequência.

Instrução THROW

A instrução THROW pode ser usada para gerar uma exceção e transferir a execução para um bloco CATCH de uma construção TRY…CATCH. Para obter mais informações, consulte THROW (Transact-SQL).

14 novas funções e 1 função alterada

o SQL Server 2012 apresenta 14 novas funções internas. Essas funções facilitam a migração para os operadores de informação emulando a funcionalidade encontrada nas linguagens de expressão de muitos aplicativos de área de trabalho. No entanto, essas funções também serão úteis para os usuários experientes do SQL Server.

As novas funções são:

Funções de conversão

Funções de data e hora

Funções lógicas

Funções de cadeia de caracteres

Além das 14 novas funções, uma função existente foi alterada. Agora a função LOG (Transact-SQL) existente possui um segundo parâmetro base opcional.

SQL Server Express LocalDB

SQL Server Express LocalDB é uma nova edição leve do Express que tem todos os seus recursos de programação, embora seja executada no modo de usuário e tenha uma instalação rápida e sem nenhuma configuração e uma lista curta de pré-requisitos. A edição LocalDB do SQL Server é destinada a desenvolvedores de programas. A instalação do LocalDB copia um conjunto mínimo de arquivos necessários para iniciar o Mecanismo de Banco de Dados do SQL Server. Quando o LocalDB é instalado, os desenvolvedores iniciam uma conexão usando uma cadeia de conexão especial. Na conexão, a infraestrutura necessária do SQL Server é criada e iniciada automaticamente, permitindo que o aplicativo use o banco de dados sem tarefas de configuração complexas ou demoradas. O Developer Tools pode fornecer aos desenvolvedores um Mecanismo de Banco de Dados do SQL Server que permite que eles gravem e testem o código Transact-SQL sem precisar gerenciar uma instância de servidor inteira do SQL Server. Uma instância do SQL Server Express LocalDB pode ser gerenciada com o utilitário SqlLocalDB.exe. O SQL Server Express LocalDB deve ser usado no lugar do recurso de instância de usuário do SQL Server Express, que foi preterido. Para obter mais informações, consulte SQL Server 2012 Express LocalDB.

Novas e aprimoradas dicas do otimizador de consulta

A sintaxe para a dica de tabela FORCESEEK foi modificada. Agora é possível especificar um índice e indexar colunas para ter mais controle sobre o método de acesso no índice. A sintaxe FORCESEEK existente permanece a mesma e funciona como antes. Não é necessário alterar os aplicativos quando não se planeja usar a nova funcionalidade.

A dica de tabela FORCESCAN foi adicionada. Ela complementa a dica FORCESEEK especificando que o otimizador de consulta usa somente uma operação de verificação de índice como caminho de acesso à tabela ou exibição referenciada na consulta. A dica FORCESCAN pode ser útil em consultas nas quais o otimizador menospreza o número de linhas afetadas e escolhe uma operação de busca em vez de uma operação de verificação. FORCESCAN pode ser especificado com ou sem uma dica INDEX. Para obter mais informações, consulte Dicas de tabela (Transact-SQL).

Aprimoramentos de eventos estendidos

Os novos eventos estendidos a seguir estão disponíveis.

page_allocated:

  • Campos: worker_address, number_pages, page_size, page_location, allocator_type, page_allocator_type, pool_id

page_freed:

  • Campos: worker_address, number_pages, page_size, page_location, allocator_type, page_allocator_type, pool_id

allocation_failure:

  • Campos: worker_address, failure_type, allocation_failure_type, resource_size, pool_id, factor

Os eventos estendidos a seguir foram modificados.

resource_monitor_ring_buffer_record:

  • Campos removidos: single_pages_kb, multiple_pages_kb

  • Campos adicionados: target_kb, pages_kb

memory_node_oom_ring_buffer_recorded:

  • Campos removidos: single_pages_kb, multiple_pages_kb

  • Campos adicionados: target_kb, pages_kb

Suporte à cláusula OVER aprimorado

A cláusula OVER foi estendida para oferecer suporte às funções de janela. As funções de janela executam um cálculo em um conjunto de linhas relacionadas de alguma forma à linha atual. Por exemplo, você pode usar a cláusula ROWS ou RANGE em um conjunto de linhas para calcular uma média móvel ou um total cumulativo. Para obter mais informações, consulte Cláusula OVER (Transact-SQL).

Além disso, agora há suporte para a organização de linhas em uma partição nas funções de agregação que permitem a especificação da cláusula OVER.

Funções analíticas

As funções analíticas a seguir foram adicionadas.

CUME_DIST (Transact-SQL)

LAST_VALUE (Transact-SQL)

PERCENTILE_DISC (Transact-SQL)

FIRST_VALUE (Transact-SQL)

LEAD (Transact-SQL)

PERCENT_RANK (Transact-SQL)

LAG (Transact-SQL)

PERCENTILE_CONT (Transact-SQL)

As funções XQuery reconhecem substituições

A recomendação W3C para funções e operadores XQuery requer que eles considerem um par substituto que representa um caractere Unicode no intervalo alto como um glifo único na codificação UTF-16. No entanto, nas versões do SQL Server anteriores ao SQL Server 2012, as funções de cadeia de caracteres não reconheciam pares substitutos como um caracteres único. Algumas operações de cadeia de caracteres – como cálculos de comprimento da cadeia de caracteres e extrações de subcadeia de caracteres – retornavam resultados incorretos. Agora o SQL Server 2012 oferece total suporte ao UTF-16 e à manipulação correta de pares substitutos. Para obter mais informações, consulte a seção "As funções XQuery reconhecem substituições” no tópico Alterações em recursos do Mecanismo de Banco de Dados que causam interrupção no SQL Server 2012.

Consulte também

Conceitos

Novidades (Mecanismo de Banco de Dados)