Compartilhar via


Criar uma tabela com otimização de memória

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

As tabelas com otimização de memória são um recurso do SQL Server em que toda a tabela reside na memória. Uma segunda cópia dos dados da tabela é mantida no disco. Os dados das tabelas com otimização de memória são lidos apenas no disco durante a recuperação do banco de dados. Por exemplo, após a reinicialização de um servidor. As tabelas com otimização de memória podem ser criadas no Designer de Tabela no Azure Data Studio.

Observação

As tabelas com otimização de memória devem pertencer a um grupo de arquivos. Para ler mais sobre isso, confira esta documentação no grupo de arquivos com otimização de memória.

As tabelas com otimização de memória devem ter uma chave primária sem cluster. Confira uma introdução às tabelas com otimização de memória no artigo Introdução às tabelas com otimização de memória. Além disso, todas as tabelas com otimização de memória devem ter pelo menos um índice.

Criar uma tabela com otimização de memória

  1. Para criar uma tabela com otimização de memória, é preciso criar um grupo de arquivos para o banco de dados. No Pesquisador de Objetos, abra uma janela do editor de consultas no nível do servidor, pois você criará um banco de dados totalmente novo em que a tabela com otimização de memória residirá. No editor de consultas, copie, cole e execute o seguinte código:

    CREATE DATABASE imoltp   
    GO  
    
    --------------------------------------  
    -- create database with a memory-optimized
    -- filegroup and a container.
    
    ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod
        CONTAINS MEMORY_OPTIMIZED_DATA;
    
    ALTER DATABASE imoltp ADD FILE (
        name='imoltp_mod1', filename='c:\data\imoltp_mod1')
        TO FILEGROUP imoltp_mod;
    
    ALTER DATABASE imoltp
        SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON;
    GO  
    --
    

    O código acima cria um banco de dados, adiciona um grupo de arquivos a ele, adiciona um arquivo ao grupo de arquivos e, finalmente, define o nível de isolamento de qualquer tabela com otimização de memória adicionada ao banco de dados como INSTANTÂNEO.

  2. Em seguida, crie a tabela abrindo o banco de dados imoltp no Pesquisador de Objetos, clicando com o botão direito do mouse na pasta Tabelas e selecionando Nova tabela. Isso abrirá a exibição do Designer de Tabela. Atribua a chave primária a essa tabela (para que a chave primária seja sem cluster, desmarque a caixa de seleção Com cluster nas configurações da Chave primária).

    Captura de tela do Designer de Tabela mostrando como criar uma tabela com otimização de memória com chave primária não clusterizada.

  3. No painel “Propriedades da tabela”, marque a caixa de seleção Com otimização de memória. Isso abrirá a lista suspensa de durabilidade para que você escolha se deseja que somente o esquema seja armazenado na memória ou tanto o esquema quanto os dados. Escolher "Esquema" salva apenas o esquema do banco de dados na memória. Como você pode ver abaixo, o script foi atualizado para refletir as alterações.

    Captura de tela do Designer de Tabela mostrando uma tabela com otimização de memória com configuração de apenas esquema.

    Escolher Esquema salva somente o esquema na memória. Escolher Esquema e dados salva o esquema e os dados na memória. Observe a alteração no script.

    Captura de tela do Designer de Tabela mostrando a tabela com otimização de memória somente do esquema.

Observação

O Designer de Tabela também dá suporte a índices de hash e índices columnstore, e eles podem ser configurados durante a criação da tabela com otimização de memória.

Próximas etapas