Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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; ou seja, 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 instância do SQL Server à qual o usuário deseja se conectar.
A API de instância do SQL Server Express LocalDB usa um modelo de instância simplificado e "claro". Embora instâncias locais individuais do LocalDB sejam separadas no disco e no registro, elas usam o mesmo conjunto de binários 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 da instância é usado para especificar com quais instâncias do LocalDB o usuário deseja trabalhar.
Uma instância do LocalDB sempre pertence a um único usuário e é visível e acessível somente no contexto desse usuário, a menos que o compartilhamento de instância 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 similaridade e torná-las mais intuitivas para os usuários do SQL Server.
O LocalDB dá suporte a dois tipos de instâncias: AI (instâncias automáticas) e NI (instâncias nomeadas). O identificador de uma instância do LocalDB é o nome da instância.
Instâncias automáticas do LocalDB
As instâncias automáticas do LocalDB são "públicas"; eles são criados e gerenciados automaticamente para o usuário e podem ser usados por qualquer aplicativo. Existe uma instância automática do LocalDB para cada versão do LocalDB instalada no computador do usuário.
As instâncias automáticas do LocalDB fornecem gerenciamento contínuo de instâncias. O usuário não precisa criar a instância. Isso permite que os usuários instalem aplicativos facilmente e migrem para computadores diferentes. Se o computador de destino tiver a versão especificada do LocalDB instalada, a instância automática do 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 sempre estará 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 será 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.
Regras de nomenclatura de instância automática
As instâncias automáticas do LocalDB têm um padrão especial para o nome da instância que pertence a um namespace reservado. Isso é necessário para evitar conflitos de nome com instâncias de LocalDB nomeadas.
O nome da instância automática é o número de versão de versão da linha de base localDB precedido por um único caractere "v". Isso se parece com "v" mais dois números com um período entre eles; por exemplo, v11.0 ou V12.00.
Exemplos de nomes de instância automática ilegais são:
11.0 (faltando o caractere "v" no início)
v11 (faltando um ponto e o segundo número da versão)
v11. (faltando o segundo número da versão)
v11.0.1.2 (o número de versão tem mais de duas partes)
Instâncias de LocalDB nomeadas
As instâncias nomeadas do LocalDB são "privadas"; uma instância pertence a um único aplicativo responsável por criar e gerenciar a instância. As instâncias nomeadas do LocalDB 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 arquivo app.config para um aplicativo gerenciado. Um aplicativo gerenciado também pode usar a API.
Cada instância nomeada tem uma versão do LocalDB associada; ou seja, ele aponta para um conjunto especificado de binários LocalDB. A versão da instância nomeada é definida durante o processo de criação da instância.
Regras de nomenclatura de instância nomeadas
Um nome de instância localDB pode ter até um total de 128 caracteres (o limite é imposto pelo sysname tipo de dados). Essa é uma diferença significativa em comparação com os nomes de instância tradicionais do SQL Server, que são limitados a nomes NetBIOS de 16 caracteres ASCII. O motivo dessa diferença é que o LocalDB trata bancos de dados como arquivos e, portanto, implica semântica baseada em arquivo, portanto, é intuitivo que os usuários tenham mais liberdade na escolha de nomes de instância.
Um nome de instância do LocalDB pode conter todos os caracteres Unicode que são legais dentro do componente nome do arquivo. Caracteres ilegais em um componente de nome de arquivo geralmente incluem os seguintes caracteres: CARACTEREs ASCII/Unicode de 1 a 31, bem como aspas ("), menor que (<), maior que (>), pipe (|), backspace (\b), guia (\t), dois-pontos (:), asterisco (*), ponto de interrogação (?), barra invertida (\) e barra (/). Observe que o caractere nulo (\0) é permitido porque ele é usado para terminação de cadeia de caracteres; tudo após o primeiro caractere nulo será ignorado.
Observação
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 serão cortados.
Para evitar conflitos de nomenclatura, as instâncias nomeadas do LocalDB não podem ter um nome que siga o padrão de nomenclatura para instâncias automáticas, conforme descrito anteriormente em "Regras automáticas de nomenclatura de instância". Uma tentativa de criar uma instância nomeada com um nome que segue o padrão de nomenclatura de instância automática cria efetivamente uma instância padrão.
Tópicos de referência do SQL Server Express LocalDB
Informações de cabeçalho e versão do SQL Server Express LocalDB
Fornece informações de arquivo de cabeçalho e chaves do Registro para localizar a API de instância do LocalDB.
Ferramenta de gerenciamento da linha de comando: SqlLocalDB.exe
Descreve SqlLocalDB.exe, uma ferramenta para gerenciar instâncias do LocalDB da linha de comando.
Função LocalDBCreateInstance
Descreve a função para criar uma nova instância do LocalDB.
Função LocalDBDeleteInstance
Descreve a função para remover uma instância do LocalDB.
Função LocalDBFormatMessage
Descreve a função para retornar a descrição localizada para um erro 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 ela está em execução e assim por diante.
Função LocalDBGetInstances
Descreve a função para retornar todas as instâncias do LocalDB com uma versão especificada.
Função LocalDBGetVersionInfo
Descreve a função para retornar informações para uma versão do LocalDB especificada.
Função LocalDBGetVersions
Descreve a função para retornar todas as versões do LocalDB disponíveis em um computador.
Função LocalDBShareInstance
Descreve a função para compartilhar uma instância de LocalDB especificada.
Função LocalDBStartInstance
Descreve a função para iniciar uma instância de LocalDB especificada.
Função LocalDBStartTracing
Descreve a função para habilitar o rastreamento de API para um usuário.
Função LocalDBStopInstance
Descreve a função para impedir a execução de uma instância do LocalDB especificada.
Função LocalDBStopTracing
Descreve a função para desabilitar o rastreamento de API para um usuário.
Função LocalDBUnshareInstance
Descreve a função para interromper o compartilhamento de uma instância de LocalDB especificada.