Partilhar via


Considerações antes de renomear objetos de banco de dados

Antes de renomear um o objeto de banco de dados na Visual Studio Premium, você deve considerar os seguintes problemas:

Renomear colunas nos modos de exibição

Efeitos de erros de compilação

Efeitos de planos de geração de dados

Efeitos de testes de unidade

Efeitos de Scripts do Transact-SQL

Renomear colunas nos modos de exibição

Um modo de exibição consiste em uma instrução que seleciona colunas de tabelas ou outros modos de exibição. As tabelas que são usadas no modo de exibição são conhecidas como as tabelas base ou tabelas base. Por exemplo, o código a seguir cria um modo de exibição que se baseia o HumanResources.Employee tabela:

CREATE VIEW dbo.vEmployeeTest
AS 
     SELECT EmployeeID, Title
       FROM HumanResources.Employee

Quando você renomeia uma coluna em um modo de exibição, a coluna não é renomeada na tabela base. Em vez disso, o nome no modo de exibição é o alias, como nos exemplos a seguir:

CREATE VIEW dbo.vEmployeeTest
AS 
     SELECT EmployeeID, Title AS JobTitle
       FROM HumanResources.Employee

CREATE VIEW dbo.vEmployeeTest (EmployeeID, JobTitle)
AS 
     SELECT EmployeeID, Title
       FROM HumanResources.Employee
ObservaçãoObservação

Se um modo de exibição usa SELECT * para obter os dados da tabela base, o * é expandida para listar as colunas individuais. A coluna renomeada é alias como nos exemplos anteriores.

Se você deseja renomear a coluna no modo de exibição e a tabela base, renomeie a coluna na tabela em vez disso, atualiza automaticamente a coluna no modo de exibição.

Efeitos de erros de compilação

Quando você renomeia um objeto de banco de dados em Visual Studio Premium, é feita uma tentativa de atualizar os outros objetos de banco de dados, planos de geração de dados, testes de unidade e scripts que fazem referência a esse objeto. Enquanto você trabalha em um o projeto de banco de dados, você pode executar uma ação que apresenta um erro de compilação e executar outra ação que corrige erros de compilação. Por exemplo, você pode excluir uma tabela e, em seguida, você pode atualizar um modo de exibição depende dessa tabela para remover a referência à tabela excluída. Entre a tabela de exclusão e atualizando a exibição, o projeto terá erros de compilação.

Se você renomear um objeto de banco de dados quando você tem erros de compilação em seu projeto, o objeto ainda pode ser renomeado corretamente. No entanto, talvez não seja possível ao atualizar corretamente todas as referências ao objeto que você está renomeando. Se houver erros de compilação em seu projeto você será avisado sobre a Visualizar alterações caixa de diálogo. Se você continuar, o objeto é renomeado e referências são atualizadas tanto quanto possível. Se você cancelar a operação, você pode corrigir os erros de compilação primeiro e tente novamente a operação de renomeação.

Efeitos de planos de geração de dados

Quando você renomeia um objeto de banco de dados em Visual Studio Premium ou Visual Studio Ultimate é feita uma tentativa de atualizar os planos de geração de dados que se referem ao objeto. No entanto, você deve considerar o seguinte:

  • Antes de você pode renomear um objeto, você deve salvar planos de geração de dados que estão abertos no editor. Se você tiver planos de geração de dados aberto quando você tenta renomear um objeto, todos os planos de geração de dados abertos são salvos e fechados automaticamente e continua a operação de renomeação.

  • Você deve atualizar manualmente os planos de dados vinculado geradores de dados de geração de dados.

Para obter mais informações, consulte Geração de dados de teste para bancos de dados usando os geradores de dados.

Efeitos de testes de unidade

Transact-SQLas instruções em um teste de unidade geral se referem os objetos no banco de dados especificado no ValidationConnectionString e ExecutionConnectionString de teste de unidade. Estas são duas possibilidades quando isso não for o caso:

  • Transact-SQLas instruções em um teste de unidade podem se referir a objetos em outros bancos de dados.

  • Transact-SQLas instruções em um teste de unidade podem se referir a objetos no mesmo banco de dados, mas em esquemas diferentes.

Quando você renomeia um objeto de banco de dados em Visual Studio Premium, é feita uma tentativa de atualizar os testes de unidade na solução que se referem ao objeto. Nos casos em que foi mencionados anteriormente, talvez não seja possível atualizar os testes de unidade. Para atualizar os testes de unidade quando você renomeia um objeto de banco de dados, deve-se certifique-se de que você use o nome totalmente qualificado de objetos em seus testes de unidade. Se você usar nomes totalmente qualificados nos testes de unidade, o mecanismo de refatoração pode atualizá-los sempre que você renomeia um objeto de esquema.

Para obter mais informações sobre testes de unidade, consulte Verificando o banco de dados código usando testes de unidade.

Efeitos de Scripts do Transact-SQL

Transact-SQLscripts em um projeto de banco de dados geral se referem os objetos de esquema no banco de dados do projeto de banco de dados. Estas são duas possibilidades quando isso não for o caso:

  • Transact-SQLas instruções em um script podem se referir a objetos em outros bancos de dados.

  • Transact-SQLinstruções em um script podem se referir a objetos no mesmo banco de dados, mas em esquemas diferentes.

Quando você renomeia um objeto de banco de dados em Visual Studio Premium, é feita uma tentativa de atualizar os scripts da solução que se referem ao objeto. Nos casos em que foi mencionados anteriormente, talvez não seja possível atualizar os scripts. Para atualizar os scripts quando você renomeia um objeto de banco de dados, deve-se certifique-se de que você use o nome totalmente qualificado de objetos em seus scripts. Se você usar nomes totalmente qualificados em seus scripts, o mecanismo de refatoração pode atualizá-los sempre que você renomeia um objeto de esquema.

Para obter mais informações sobre scripts, consulte Criar e modificar Scripts de banco de dados.

Segurança

Se um erro impede a conclusão de uma operação de refatoração, informações sobre o erro são gravadas no log de eventos do aplicativo, onde qualquer usuário com "Normal" as permissões podem exibi-la. Se suas informações de esquema são consideradas confidenciais e podem aparecer no log, convém limpar o log ou restringir o acesso ao computador cliente.

Consulte também

Conceitos

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