Artigo: 836873 - Última revisão: sexta-feira, 20 de Fevereiro de 2004 - Revisão: 1.3

Poderá receber mensagens de erro quando utiliza a instrução CREATE DATABASE para criar uma base de dados do SQL Server

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

importante Este artigo contém informações sobre como modificar o registo. Antes de modificar o registo, certifique-se de que efectua uma cópia de segurança e de que compreende como o restaurar o registo se ocorrer um problema. Para obter informações sobre como efectuar uma cópia de segurança, restaurar e editar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
256986  (http://support.microsoft.com/kb/256986/ ) Descrição do registo do Microsoft Windows
Expandir tudo | Reduzir tudo

Sintomas

Quando tenta criar uma base de dados do Microsoft SQL Server executando a instrução CREATE DATABASE Transact-SQL, poderá não ser possível criar a base de dados e poderá receber as seguintes mensagens de erro:
Servidor: Erro 5105, nível de 16, estado 2, linha 1
Dispositivo erro de activação. O nome do ficheiro físico '< nome do ficheiro de base de dados >' pode estar incorrecto.
Servidor: Erro 5123, nível de 16, estado 1, linha 1
CREATE FILE encontrou 3(The system cannot find the path specified.) de erro do sistema operativo ao tentar abrir ou criar o ficheiro físico '< Total caminho do nome do ficheiro da base de dados >'.
Além disso, poderá receber a seguinte mensagem de erro:
Servidor: Erro 1802, 16, nível State 1, linha 1
CREATE DATABASE falhou. Não foi possível criar alguns nomes de ficheiro listados. Verificar erros anteriores.

Causa

Este problema ocorre porque os valores de registo DefaultData e DefaultLog que correspondem ao directório de dados predefinido e o directório de registo predefinido existem, mas os caminhos de pasta mencionadas nos valores de registo estão em branco ou não existe.

Como contornar

Para contornar este problema, utilize um dos seguintes métodos:

Defina o valor de directório de dados predefinido e o valor de directório de registo predefinido para caminhos de pasta válido

Pode definir o valor de directório de dados predefinido e o valor de directório de registo predefinido utilizando o SQL Server Enterprise Manager ou o Editor de registo.

Utilizar SQL Server Enterprise Manager

Nota A instância do SQL Server Enterprise Manager incluída no SQL Server 7.0 não suporta a definir o directório de dados predefinido e o directório de registo predefinido. No entanto, pode registar a instância do SQL Server 7.0 na instância do SQL Server Enterprise Manager incluída no SQL Server 2000 e, em seguida, pode seguir estes passos para definir o directório de dados predefinido e o directório de registo predefinido para a instância do SQL Server 7.0.
  1. Clique em Iniciar , aponte para programas , aponte para Microsoft SQL Server e, em seguida, clique em Enterprise Manager .
  2. No SQL Server Enterprise Manager, clique com o botão direito do rato a instância do SQL Server e, em seguida, clique em Propriedades .
  3. Em Propriedades do servidor de SQL (Configure)-< Nome da Instância > caixa de diálogo, faça clique sobre o da base de dados definições separador.
  4. Na secção localização de predefinida da base de dados nova , escreva um caminho de pasta válido na caixa directório de dados predefinido e na caixa directório de registo predefinido .
  5. Clique em OK .
  6. Parar a instância do SQL Server e reinicie a instância do SQL Server.
Utilize o Editor de registo

aviso Se utilizar o Editor de registo incorrectamente, poderá provocar problemas graves que poderão forçar a reinstalação do sistema operativo. Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de registo possam ser resolvidos. As suas próprias risco da utilização do Editor de registo.

Nota A instância do SQL Server Enterprise Manager incluída no SQL Server 7.0 não suporta a definir o directório de dados predefinido e o directório de registo predefinido. No entanto, pode modificar os valores de registo que correspondem ao directório de dados predefinido e o directório de registo predefinido para contornar este problema.
  1. Clique em Iniciar e, em seguida, clique em Executar .
  2. Na caixa de diálogo Executar , escreva Regedit na caixa Abrir e, em seguida, clique em OK .
  3. No Editor de registo, seleccione a seguinte chave de registo para uma instância predefinida do SQL Server:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
    No Editor de registo, seleccione a seguinte chave de registo para uma instância nomeada do SQL Server:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer
  4. No painel da direita, clique com o botão direito do rato no valor de registo DefaultData e, em seguida, clique em Modificar .
  5. Na caixa de diálogo Editar cadeia , escreva o caminho de pasta válido na caixa dados do valor e, em seguida, clique em OK .
  6. Repita o passo 4 e o passo 5 para o valor de registo DefaultLog .
  7. Parar a instância do SQL Server e reinicie a instância do SQL Server.

Remover os valores de registo que correspondem ao directório de dados predefinido e o directório de registo predefinido

aviso Se utilizar o Editor de registo incorrectamente, poderá provocar problemas graves que poderão forçar a reinstalação do sistema operativo. Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de registo possam ser resolvidos. As suas próprias risco da utilização do Editor de registo.
  1. Clique em Iniciar e, em seguida, clique em Executar .
  2. Na caixa de diálogo Executar , escreva Regedit na caixa Abrir e, em seguida, clique em OK .
  3. No Editor de registo, localize e seleccione a seguinte chave de registo para uma instância predefinida do SQL Server:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
    No Editor de registo, localize e seleccione a seguinte chave de registo para uma instância nomeada do SQL Server:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer
  4. No painel da direita, elimine o valor de registo DefaultData e o valor de registo DefaultLog .
  5. Parar a instância do SQL Server e reinicie a instância do SQL Server.

Mais Informação

Quando configura uma instância do SQL Server, o programa de configuração não cria as entradas de registo que correspondem ao directório de dados predefinido e o directório de registo predefinido. Deste modo, quando visualiza a secção de localização de predefinida da base de dados nova no SQL Server Enterprise Manager, os caminhos para directório de dados predefinido e o directório de registo predefinido estão em branco.

Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
272705   (http://support.microsoft.com/kb/272705/ ) Dados e registo de directório de apresentação predefinida em branco por predefinição depois de instalar o SQL Server 2000
No entanto, quando definir o directório de dados predefinido e o directório de registo predefinido para a primeira vez, os valores de registo DefaultData e DefaultLog correspondentes são criados na seguinte chave de registo para uma instância predefinida do SQL Server:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
Os valores de registo DefaultData e DefaultLog são criados na seguinte chave de registo para uma instância nomeada do SQL Server:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer
O valor de registo DefaultData contém o caminho de pasta que está definido para o directório de dados predefinido. Do mesmo modo, o valor de registo DefaultLog contém o caminho de pasta que está definido para o directório de registo predefinido.

Quando cria uma nova base de dados utilizando a instrução CREATE DATABASE Transact-SQL, o SQL Server tentará criar o ficheiro de dados e o ficheiro de registo que correspondem a base de dados as pastas que são especificados no valor de registo DefaultData e no valor de registo DefaultLog . Por conseguinte, se o valor de registo DefaultData e o valor de registo DefaultLog contenham caminhos de pasta que não existam, SQL Server não é possível criar o ficheiro de dados correspondente ou ficheiro de registo para a base de dados com êxito e receberá as mensagens de erro mencionadas na secção "Sintomas".

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbmt kbtsql kbdatabase kberrmsg kbupdate kbfile kbregistry kbprb KB836873 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 836873  (http://support.microsoft.com/kb/836873/en-us/ )