Compartilhar via


Solucionando problemas de comparação de esquema

Quando você compara dois esquemas de banco de dados, você pode encontrar os problemas neste tópico.

As dependências e os Scripts de atualização

Para gerar a ordem correta de objetos em um script de atualização, a comparação entre esquemas examina dependências entre objetos. Por exemplo, se um modo de exibição depende de uma tabela, a tabela deve ser criada antes da exibição. Se o objeto que depende o segundo objeto usar um nome qualificado do esquema, a dependência não pode ser identificada e o script de atualização ou criação pode ter instruções em uma ordem incorreta. Essa diferença pode causar erros quando você atualiza um destino para corresponder a uma fonte ou implantar alterações em um banco de dados. Esse problema também se aplica aos scripts de compilação do banco de dados.

ObservaçãoObservação

Para contornar esse problema, certifique-se os nomes dos objetos que estão envolvidos em relacionamentos dependentes de qualificar de esquema. O exemplo a seguir, você pode garantir que a dependência será identificada corretamente se você alterar o final da instrução para referência [dbo].[KeysTable] em vez de apenas KeysTable:

CREATE VIEW [NewUser].[ViewReferencingScalarFunction] AS SELECT Column2, dbo.SimpleMultiplyParamByTwo(PK_Column) AS [Function] FROM KeysTable

Tabela e opções de índice

Comparação de esquema faz não comparar ou script opções que são definidas usando o sp_tableoption ou o sp_indexoption. Não há solução para esse problema.

Tempo limite ao comparar a grandes bancos de dados

Se você receber um erro de tempo limite quando você compara os esquemas de bancos de dados grandes, convém aumentar o valor de tempo limite. Esta opção não é exposta por meio da interface do usuário. Você deve modificar o valor de QueryTimeoutSeconds que é armazenado no registro em HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\VSTSDB\Database e especificado em segundos. Por padrão, o tempo limite é de 60 segundos.

Comparação de arquivos e grupos de arquivos

Se um grupo de arquivos em um banco de dados de destino é somente leitura, essa propriedade sempre aparecerá como uma diferença em uma comparação de esquema entre o banco de dados e um projeto de banco de dados. Além disso, o grupo de arquivos principal é ignorado quando você compara os esquemas.

Além disso, se você tentar sincronizar dois bancos de dados no mesmo servidor, você pode ter problemas ao tentar sincronizar arquivos secundários e filestreams. Excluindo os arquivos e grupos de arquivos quando você sincronizar para resolver esses problemas.

Consulte também

Tarefas

Como: Modificar objetos de banco de dados

Como: Comparar os esquemas de banco de dados

Como: Comparar e sincronizar os dados de dois bancos de dados