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.
O Microsoft SQL Server 2014 Express LocalDB
é um modo de execução do SQL Server Express direcionado para desenvolvedores de programas.
LocalDB
A instalação copia um conjunto mínimo de arquivos necessário para iniciar o Mecanismo de Banco de Dados do SQL Server. Depois de LocalDB
instalado, os desenvolvedores iniciam uma conexão usando uma cadeia de conexão especial. Ao se conectar, 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 escrever e testar códigos Transact-SQL sem precisar gerenciar uma instância completa do SQL Server. Uma instância do SQL Server ExpressLocalDB
é gerenciada usando o SqlLocalDB.exe
utilitário. O SQL Server ExpressLocalDB
deve ser usado no lugar do recurso de instância de usuário do SQL Server Express que foi preterido.
Instalando o LocalDB
O método principal de instalação LocalDB
é usando o programa SqlLocalDB.msi.
LocalDB
é uma opção ao instalar qualquer SKU do SQL Server 2014 Express. Selecione LocalDB
na página Seleção de Recursos durante a instalação do SQL Server Express. Pode haver apenas uma instalação dos LocalDB
arquivos binários para cada versão principal do Mecanismo de Banco de Dados do SQL Server. Vários processos do Mecanismo de Banco de Dados podem ser iniciados e todos usarão os mesmos binários. Uma instância do Mecanismo de Banco de Dados do SQL Server iniciada como LocalDB
tem as mesmas limitações que o SQL Server Express
Descrição
O LocalDB
programa de instalação usa o programa SqlLocalDB.msi para instalar os arquivos necessários no computador. Depois de instalado, LocalDB
é uma instância do SQL Server Express que pode criar e abrir bancos de dados do SQL Server. Os arquivos do banco de dados do sistema são armazenados no caminho AppData local dos usuários, que normalmente está oculto. Por exemplo , C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. Os arquivos de banco de dados do usuário são armazenados onde o usuário designa, normalmente em algum lugar na pasta C:\Users\<user>\Documents\ .
Para obter mais informações sobre como incluir LocalDB
em um aplicativo, consulte a documentação do Visual Studio Visão geral dos dados locais, passo a passo: criando um banco de dados localDB do SQL Server e passo a passo: conectando-se a dados em um Banco de Dados LocalDB do SQL Server (Windows Forms).
Para obter mais informações sobre a LocalDB
API, consulte a Referência de API da Instância do SQL Server Express LocalDB e a Função LocalDBStartInstance.
O utilitário SqlLocalDb pode criar novas instâncias de LocalDB
, iniciar e parar uma instância de LocalDB
, e inclui opções para ajudá-lo a gerenciar LocalDB
. Para obter mais informações sobre o utilitário SqlLocalDb, consulte o Utilitário SqlLocalDB.
A ordenação de instância é definida como LocalDB
SQL_Latin1_General_CP1_CI_AS e não pode ser alterada. Normalmente há suporte para ordenações nos níveis de banco de dados, de coluna e de expressão. Os bancos de dados contidos seguem as regras de ordenações de metadados e tempdb definidas por Ordenações de Banco de Dados Contidos.
Restrições
LocalDB
não pode ser um assinante de replicação de mesclagem.
LocalDB
não dá suporte a FILESTREAM.
LocalDB
só permite filas locais para o Service Broker.
Uma instância de LocalDB
pertencente às contas incorporadas, como NT AUTHORITY\SYSTEM, pode enfrentar problemas de gerenciamento devido ao redirecionamento do sistema de arquivos do Windows; em vez de uma conta dessas, use uma conta do Windows normal como proprietário.
Instâncias automáticas e nomeadas
LocalDB
dá suporte a dois tipos de instâncias: instâncias automáticas e instâncias nomeadas.
Instâncias automáticas de
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 deLocalDB
para cada versão deLocalDB
instalada no computador do usuário. Instâncias automáticas deLocalDB
fornecem gerenciamento contínuo da instância. Não é necessário criar a instância; só funciona. Isso permite a fácil instalação do aplicativo e a migração para um computador diferente. Se o computador de destino tiver a versão especificada doLocalDB
instalado, a instância automática deLocalDB
para essa versão também estará disponível no computador de destino. Instâncias automáticas deLocalDB
têm um padrão especial para o nome da instância que pertence a um namespace reservado. Isso evita conflitos de nomes com instâncias nomeadas deLocalDB
. O nome da instância automática é MSSQLLocalDB.As instâncias nomeadas de
LocalDB
são privadas. Eles pertencem a um único aplicativo responsável por criar e gerenciar a instância. As instâncias nomeadas possibilitam o isolamento de outras instâncias, podendo melhorar o desempenho ao reduzir a contenção de recursos com outros usuários do banco de dados. As instâncias nomeadas devem ser criadas explicitamente pelo usuário por meio daLocalDB
API de gerenciamento ou implicitamente por meio do arquivo app.config para um aplicativo gerenciado (embora o aplicativo gerenciado também possa usar a API, se desejado). Cada instância nomeada deLocalDB
tem uma versãoLocalDB
associada que aponta para o conjunto respectivo de bináriosLocalDB
. O nome da instância de umLocalDB
é do tipo de dadossysname
e pode ter até 128 caracteres. (Isso difere das instâncias nomeadas regulares do SQL Server, que limita nomes a nomes netbios regulares de 16 caracteres ASCII.) O nome de uma instânciaLocalDB
pode conter quaisquer caracteres Unicode que sejam legais em um nome de arquivo. Uma instância nomeada que usa um nome de instância automático torna-se uma instância automática.
Diferentes usuários em um mesmo computador podem ter instâncias com o mesmo nome. Cada instância é um processo diferente em execução como um usuário diferente.
Instâncias Compartilhadas do LocalDB
Para dar suporte a cenários em que vários usuários do computador precisam se conectar a uma única instância, LocalDB
LocalDB
dá suporte ao compartilhamento de instância. Um proprietário de instância pode optar por permitir que os outros usuários no computador se conectem à sua instância. As instâncias automáticas e nomeadas de LocalDB
podem ser compartilhadas. Para compartilhar uma instância de LocalDB
, o usuário seleciona um nome compartilhado (alias) para ela. Como o nome compartilhado fica visível para todos os usuários do computador, ele deve ser exclusivo no computador. O nome compartilhado de uma instância de LocalDB
tem o mesmo formato que a instância nomeada de LocalDB
.
Somente um administrador no computador pode criar uma instância compartilhada de LocalDB
. Uma instância compartilhada de LocalDB
pode ser descompartilhada por um administrador ou pelo proprietário da instância compartilhada de LocalDB
. Para compartilhar e descompartilhar uma instância de LocalDB
, use os métodos LocalDBShareInstance
e LocalDBUnShareInstance
da API LocalDB
ou as opções de compartilhamento e descompartilhamento do utilitário SqlLocalDb.
Iniciando o LocalDB e conectando-se ao LocalDB
Conectando-se à Instância Automática
A maneira mais fácil de usar LocalDB
é conectar-se à instância automática de propriedade do usuário atual usando a cadeia de conexão "Server=(localdb)\MSSQLLocalDB; Segurança Integrada=true". Para se conectar a um banco de dados específico usando o nome do arquivo, conecte-se usando uma cadeia de conexão semelhante a "Server=(LocalDB)\MSSQLLocalDB; Segurança Integrada=true; AttachDbFileName=D:\Data\MyDB1.mdf".
Observação
Na primeira vez em que um usuário em um computador tenta se conectar LocalDB
, a instância automática deve ser criada e iniciada. O tempo adicional para a criação da instância pode causar falha durante a tentativa de conexão e exibir uma mensagem de tempo esgotado. Quando isso acontecer, espere alguns segundos para deixar o processo de criação terminar e conecte novamente.
Criando e conectando-se a uma instância nomeada
Além da instância automática, LocalDB
também dá suporte a instâncias nomeadas. Use o programa SqlLocalDB.exe para criar, iniciar e parar uma instância nomeada de LocalDB
. Para obter mais informações sobre SqlLocalDB.exe, consulte o Utilitário SqlLocalDB.
REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1
A última linha acima retorna informações semelhantes às seguintes.
Nome | "LocalDBApp1" |
Versão | <Versão atual> |
Nome compartilhado | "" |
Proprietário | "<Seu usuário> do Windows" |
Criar automaticamente | Não |
Estado | correndo |
Última hora de início | <Data e hora> |
Nome do canal da instância | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Observação
Se o aplicativo usar uma versão do .NET antes do 4.0.2, você deverá se conectar diretamente ao pipe nomeado do LocalDB
. O valor do nome do canal da instância é o canal nomeado que a instância LocalDB
ouve. A parte do nome do pipe da instância, localizada após LOCALDB#, será alterada cada vez que a instância LocalDB
for iniciada. Para se conectar à instância LocalDB
pelo SQL Server Management Studio, digite o nome do pipe da instância na caixa nome do servidor do Conectar ao Mecanismo de Banco de Dados. Em seu programa personalizado, você pode estabelecer uma conexão com a instância de LocalDB
usando uma cadeia de conexão semelhante a SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
.
Conectando-se a uma instância compartilhada do LocalDB
Para se conectar a uma instância compartilhada de LocalDB
adicionar .\ (dot + barra invertida) à cadeia de conexão para fazer referência ao namespace reservado para instâncias compartilhadas. Por exemplo, para se conectar a uma instância compartilhada de LocalDB
chamada AppData
, use uma cadeia de conexão como (localdb)\.\AppData
como parte da cadeia de conexão. Um usuário que se conecta a uma instância compartilhada da LocalDB
à qual não possui deve ter um login de autenticação do Windows ou de autenticação do SQL Server.
Resolução de problemas
Para obter informações sobre solução de LocalDB
problemas, consulte Solução de problemas do SQL Server 2012 Express LocalDB.
Permissões
Uma instância do SQL Server 2014 ExpressLocalDB
é uma instância criada por um usuário para uso. Qualquer usuário no computador pode criar um banco de dados usando uma instância de LocalDB
, armazenando arquivos em seu perfil de usuário e executando o processo sob suas credenciais. Por padrão, o acesso à instância de LocalDB
é limitado ao seu proprietário. Os dados contidos no LocalDB
são protegidos pelo acesso do sistema de arquivos aos arquivos de banco de dados. Se os arquivos de banco de dados do usuário forem armazenados em um local compartilhado, o banco de dados poderá ser aberto por qualquer pessoa com acesso do sistema de arquivos a esse local usando uma instância própria LocalDB
. Se os arquivos de banco de dados estiverem em um local protegido, como a pasta de dados de usuários, somente esse usuário e os administradores com acesso a essa pasta poderão abrir o banco de dados. Os LocalDB
arquivos só podem ser abertos por uma instância de LocalDB
de cada vez.
Observação
LocalDB
sempre é executado no contexto de segurança dos usuários; ou seja, LocalDB
nunca é executado com credenciais do grupo do Administrador local. Isso significa que todos os arquivos de banco de dados usados por uma LocalDB
instância devem estar acessíveis usando a conta do Windows do usuário proprietário, sem considerar a associação no grupo de Administradores local.