Renomear todas as referências a um objeto de banco de dados

Você pode atualizar referências renomeados os objetos de banco de dados com mais rapidez e precisão usando a refatoração de banco de dados. Se você renomear um objeto de banco de dados em um o projeto de banco de dados, você deve também atualizar todas as referências a esse objeto para que façam referência a ele pelo seu novo nome. Por exemplo, você deve atualizar a quaisquer procedimentos armazenados que fazem referência a uma coluna da tabela que você renomeou.

Usando a refatoração, você pode atualizar as referências ao longo do projeto de banco de dados sem manualmente controlar quais objetos dependem uns dos outros e, em seguida, atualizar referências um por vez. Mesmo que você use sp_depends para localizar as dependências, ele nem sempre recuperar essas informações com precisão, e você ainda precisa atualizar cada referência.

Você pode usar a refatoração para renomear automaticamente os seguintes tipos de objetos:

  • Tabelas

  • Colunas em tabelas, exibições e funções

  • Parâmetros de procedimento armazenado

Você também pode usar a refatoração para atualizar os planos de geração de dados, scripts e testes de unidade. Para obter mais informações, consulte Considerações antes de renomear objetos de banco de dados.

Por padrão, refatoração não atualiza os objetos cujas definições causam um ou mais avisos ou erros. Além disso, refatoração não atualiza automaticamente o nome do arquivo. SQL que contém a definição de um objeto que você renomeou. Você pode renomear o arquivo manualmente no Solution Explorer.

Usos adicionais de refatoração Renomear

Você também pode usar a renomeação de refatoração para realizar as seguintes tarefas comuns:

  • Em um ambiente de maiúsculas e minúsculas, você pode alterar o caso de um nome de objeto e todas as suas referências para coincidir com as convenções de maiúsculas e minúsculas para sua organização. Por exemplo, o seu projeto de banco de dados pode conter uma combinação de referências a "myid" e "myid" e você pode usar a renomeação de refatoração para alterar todas as referências a "myid".

    ObservaçãoObservação

    Referências que já estavam diferenciam maiúsculas de minúsculas também são atualizadas (para o mesmo valor). Se o arquivo que contém essas referências estiver sob controle de versão, esse arquivo foi extraído como parte da operação de refatoração.

  • Você pode renomear dois ou mais objetos para que coincidam com seus nomes e referências. Por exemplo, você pode mesclar os dois nomes de esquema, como, por exemplo, "Pessoa" e "Nome de pessoa". Você também pode mesclar os dois nomes só diferem maiúsculas e minúsculas em um ambiente diferencia maiúsculas de minúsculas, como, por exemplo, "myid" e "myid".

  • Você pode adicionar os colchetes ao redor de um nome de objeto de esquema e todas as suas referências a seguir as práticas recomendadas para a nomeação do objeto. Por exemplo, você pode substituir todas as referências a "myid" com "[MyID]".

    ObservaçãoObservação

    Referências que já foram colocadas entre colchetes também são atualizadas (para o mesmo valor). Se o arquivo que contém essas referências estiver sob controle de versão, esse arquivo foi extraído como parte da operação de refatoração.

Quando você executar essas tarefas, uma mensagem de erro avisa que já existe um objeto com esse nome. Você deve clicar em Sim para fazer a alteração. No entanto, você pode visualizar e excluir alterações individuais se, no Renomear caixa de diálogo, você deixou o Visualizar alterações caixa de seleção marcada.

Preservando sua intenção com O Log de refatoração

Quando você renomeia um objeto de banco de dados, uma entrada é adicionada ao log de refatoração para seu projeto de banco de dados. Quando você implanta suas alterações, este log ajuda a garantir que o objeto correspondente no ambiente de destino for renomeado como pretendido. Caso contrário, o objeto existente seria descartado e um objeto seria adicionado com o novo nome. O log é mantido em um arquivo XML chamado ProjectName.refactorlog. Verifique esse arquivo seu sistema de controle de versão quando você verificar os arquivos que compõem o seu projeto de banco de dados. O ProjectName.refactorlog arquivo contém somente informações sobre refatoração operações que requerem tratamento especial durante a implantação.

Implantação

Quando você usa a refatoração, você pode atualizar somente seu projeto de banco de dados, em vez de um banco de dados de produção. Seguindo essa estratégia, você obtém todos os benefícios de projetos de banco de dados, que incluem o desenvolvimento de equipe e controle de versão. Quando você constrói o projeto de banco de dados, todos os arquivos de log de refatoração são mesclados no arquivo transaction.refactorlog na pasta \sql do seu projeto. Quando você implanta suas alterações, mesclagem a refatoração o arquivo de log ajuda a preservar a intenção de suas alterações no projeto de banco de dados.

Para obter mais informações, consulte Criar e implantar os bancos de dados para um ambiente de desenvolvimento isolado.

ObservaçãoObservação

Em um ambiente de equipe, você deve executar o aplicativo e testes de unidade de banco de dados antes de implantar as alterações em um servidor de produção. Para obter mais informações, consulte Iniciando o desenvolvimento de banco de dados de equipe.

Considerações antes de você renomear

Antes de você renomear as referências a um objeto de banco de dados, você deve entender considerações adicionais se qualquer uma das instruções a seguir forem verdadeiras:

  • Você deseja renomear uma coluna em um modo de exibição.

  • Você deseja renomear um objeto em um projeto de banco de dados que contém um ou mais erros que impedem a criação com êxito.

  • Você tem uma geração de dados não salvos planejar aberto.

  • Você tem uma geração de dados planejar em seu projeto que usa o gerador de dados vinculado.

  • Você tem os testes de unidade de banco de dados que não usam nomes totalmente qualificados e objetos em outros bancos de dados ou esquemas de referência a esses testes.

  • Você tem os scripts de banco de dados em seu projeto que não usam nomes totalmente qualificados e objetos em outros bancos de dados ou esquemas de referência a esses scripts.

Para obter mais informações sobre as considerações especiais nesses cenários, consulte Considerações antes de renomear objetos de banco de dados.

Tarefas comuns

A tabela a seguir, você encontrará descrições de tarefas comuns que oferecem suporte a esse cenário e links para obter mais informações sobre como você pode concluir com êxito essas tarefas.

Tarefa 

Tópicos de suporte.

Experiência prática: Você pode se familiarizar com como mover objetos de banco de dados para um esquema diferente, além de para outros tipos de refatoração, seguindo o passo a passo. Você também pode ver como refatoração é usado como parte de seu ciclo de vida de desenvolvimento de banco de dados, completando a passo a passo de Introdução.

Renomear um objeto de banco de dados: Você pode usar a refatoração para alterar todas as referências a um objeto de banco de dados em seu projeto de banco de dados. Como parte da operação de refatoração, você pode visualizar as alterações antes de aplicá-las.

Desfazer uma operação de refatoração: Se você decidir que uma operação de refatoração precisa ser revertida, você pode desfazer essa operação de refatoração na sessão atual do Visual Studio.

Implantar alterações de refatoração de banco de dados: Após você refatora o projeto de banco de dados, você deve implantar essas alterações para um banco de dados de destino. Normalmente, você implantará as alterações ao seu ambiente de desenvolvimento isolado para testá-las antes de fazer check-in para controle de versão.

Solucionar problemas de: Você pode saber mais sobre como solucionar problemas comuns com a refatoração de banco de dados.

Cenários relacionados

Renomear referências a um servidor ou banco de dados

Mover um objeto de banco de dados para um esquema diferente

Qualificar totalmente os nomes dos objetos de banco de dados

Expanda os caracteres curinga nas instruções SELECT

Consulte também

Conceitos

Refatorar o código do banco de dados e dados

Uma visão geral do banco de dados e projetos de servidor