APIs de instância do SQL Server Express LocalDB

Aplica-se a:SQL Server

No mundo tradicional do SQL Server baseado em serviço, as instâncias individuais do SQL Server instaladas em um único computador são separadas fisicamente. Cada instância deve ser instalada e removida separadamente, tem um conjunto separado de binários e é executada em um processo de serviço separado. O nome da instância do SQL Server é usado para especificar a qual instância do SQL Server o usuário deseja se conectar.

A API de instância do SQL Server Express LocalDB usa um modelo de instância leve simplificado. Embora as instâncias de LocalDB individuais estejam separadas no disco e no Registro, elas usam o mesmo conjunto de binários de LocalDB compartilhados. Além disso, o LocalDB não usa serviços. As instâncias do LocalDB são iniciadas sob demanda por meio de chamadas à API de instância do LocalDB. No LocalDB, o nome de instância é usado para especificar com qual das instâncias de LocalDB o usuário deseja trabalhar.

Uma instância LocalDB é sempre de propriedade de um único usuário e é visível e acessível somente no contexto desse usuário, a menos que o compartilhamento de instâncias esteja habilitado.

Embora tecnicamente as instâncias do LocalDB não sejam iguais às instâncias tradicionais do SQL Server, seu uso pretendido é semelhante. Elas são chamadas de instâncias para enfatizar essa semelhança e torná-las mais intuitivas para os usuários do SQL Server.

O LocalDB oferece suporte a dois tipos de instâncias: AI (instâncias automáticas) e NI (instâncias nomeadas). O identificador de uma instância de LocalDB é o nome da instância.

Instâncias automáticas do LocalDB

Instâncias automáticas do LocalDB são públicas; Eles são criados e gerenciados automaticamente pelo usuário e podem ser usados por qualquer aplicação. Existe uma instância automática do LocalDB para cada versão do LocalDB instalada no computador do usuário. O nome da instância automática do LocalDB é MSSQLLocalDB.

As instâncias automáticas de LocalDB fornecem gerenciamento de instância contínuo. O usuário não precisa criar a instância. Isso permite que os usuários instalem facilmente os aplicativos e migrem para computadores diferentes. Se o computador de destino tiver a versão especificada de LocalDB instalada, a instância automática de LocalDB para essa versão também estará disponível nesse computador.

Gerenciamento automático de instância

Um usuário não precisa criar uma instância automática do LocalDB. A instância é criada lentamente na primeira vez em que a instância é usada, desde que a versão especificada do LocalDB esteja disponível no computador do usuário. Do ponto de vista do usuário, a instância automática estará sempre presente se os binários do LocalDB estiverem presentes.

Outras operações de gerenciamento de instância, como Excluir, Compartilhar e Descompartilhar, também funcionam para instâncias automáticas. Em particular, a exclusão de uma instância automática redefine efetivamente a instância, que é recriada na próxima operação Iniciar. A exclusão de uma instância automática poderá ser necessária se os bancos de dados do sistema estiverem corrompidos.

Instâncias de LocalDB nomeadas

Instâncias nomeadas do LocalDB são privadas; Uma instância pertence a uma única aplicação responsável por criar e gerenciar a instância. As instâncias de LocalDB nomeadas fornecem isolamento e melhoram o desempenho.

Criação de instância nomeada

O usuário deve criar instâncias nomeadas explicitamente por meio da API de gerenciamento do LocalDB ou implicitamente por meio do app.config arquivo para um aplicativo gerenciado. Um aplicativo gerenciado também pode usar a API.

Cada instância nomeada tem uma versão de LocalDB associada; ou seja, ela indica um conjunto especificado de binários de LocalDB. A versão da instância nomeada é definida durante o processo de criação de instância.

Regras de nomenclatura de instância nomeadas

Um nome de instância LocalDB pode ter até 128 caracteres (o tipo de dado nome de sistema impõe esse limite). Esse limite é uma diferença significativa em comparação com os nomes tradicionais de instância do SQL Server, que são limitados a nomes NetBIOS de 15 caracteres ASCII. A razão para essa diferença é que o LocalDB trata bancos de dados como arquivos e, portanto, implica semântica baseada em arquivos, então os usuários têm mais liberdade para escolher nomes de instância.

Um nome de instância de LocalDB pode conter qualquer caractere Unicode que seja legal no componente de nome de arquivo. Caracteres ilegais em um componente de nome de arquivo geralmente incluem os seguintes caracteres: CARACTEREs ASCII/Unicode de 1 a 31 e aspas ("), menor que (<), maior que (>), pipe (|), backspace (\b), guia (\t), dois-pontos (:), asterisco (*), ponto de interrogação (?), barra invertida (\) e barra (/). O caractere nulo (\0) é permitido porque é usado para terminação de cadeia de caracteres; tudo após o primeiro caractere nulo é ignorado.

Note

A lista de caracteres ilegais pode depender do sistema operacional e pode mudar em versões futuras.

Espaços em branco à esquerda e à direita em nomes de instância são ignorados e cortados.

Para evitar conflitos de nomes, uma instância nomeada de LocalDB não pode usar o nome MSSQLLocalDBautomático reservado da instância . Uma tentativa de criar uma instância nomeada com esse nome efetivamente cria uma instância padrão.

Article Description
Informações de cabeçalho e versão do SQL Server Express LocalDB Fornece informações do arquivo de cabeçalho e chaves do Registro para localizar a API de instância de LocalDB.
Ferramenta de gerenciamento da linha de comando: SqlLocalDB.exe Descreve o SqlLocalDB.exe, uma ferramenta para gerenciar instâncias de LocalDB na linha de comando.
Função LocalDBCreateInstance Descreve a função que cria uma nova instância de LocalDB.
Função LocalDBDeleteInstance Descreve a função que remove uma instância de LocalDB.
Função LocalDBFormatMessage Descreve a função que retorna a descrição localizada de um erro de LocalDB.
Função LocalDBGetInstanceInfo Descreve a função para obter informações para uma instância do LocalDB, como se ela existe, informações de versão, se está em execução e assim por diante.
Função LocalDBGetInstances Descreve a função que retorna todas as instância de LocalDB com uma versão especificada.
Função LocalDBGetVersionInfo Descreve a função que retorna informações sobre uma versão de LocalDB especificada.
Função LocalDBGetVersions Descreve a função que retorna todas as versões de LocalDB disponíveis em um computador.
Função LocalDBShareInstance Descreve a função que compartilha uma instância de LocalDB especificada.
Função LocalDBStartInstance Descreve a função que inicia uma instância de LocalDB especificada.
Função de Rastreamento LocalDBStartTracing Descreve a função que habilitar o rastreamento de API para um usuário.
Função LocalDBStopInstance Descreve a função que interrompe a execução de uma instância de LocalDB especificada.
Função de Rastreamento LocalDBStopTracing Descreve a função que desabilita o rastramento de API para um usuário.
Função LocalDBUnshareInstance Descreve a função que interrompe o compartilhamento de uma instância de LocalDB especificada.