Estou criando um cenário de carregamento de janelas deslizantes e as funções da partição mudarão seus limites com o tempo.
Criei algumas funções de partição no meu projeto de banco de dados SQL Server Data Tools (SSDT) com alguns limites iniciais codificados.
No entanto, à medida que o tempo passa e os limites das funções da partição mudam, as publicações futuras do banco de dados SSDT reverterão os limites para os originais.
Existe alguma maneira de lidar com esse cenário normalmente, possivelmente desativando a publicação das funções da partição?
Tentei alterar a propriedade Build Action das funções da partição no SSDT, do padrão Build
para None
, mas o projeto falha ao criar devido a uma referência ausente nos objetos dependentes.
sql-server
gonsalu
fonte
fonte
Respostas:
Consegui encontrar uma solução para o meu problema - espero que isso ajude outra pessoa.
Para evitar que cada publicação no banco de dados recrie a função de partição, marque a opção Ignorar esquemas de partição na caixa de diálogo Configurações avançadas de publicação ( botão Avançado ... na caixa de diálogo Publicação do banco de dados).
A partir da descrição da opção (ênfase minha):
No entanto, se você definiu um objeto particionado (tabela ou índice) com compactação de página ou linha, embora a opção Ignorar esquemas de partição não recria mais a função de partição, o objeto particionado será recriado de qualquer maneira.
Isso acontece porque o objeto particionado recebe um script com a compactação definida por partição e, como o objeto possui um número diferente de partições que o definido originalmente, o SSDT recria o objeto na publicação. Por exemplo (formatado):
Para que isso não aconteça, você também pode marcar a opção Ignorar opções da tabela , na mesma caixa de diálogo Configurações avançadas de publicação - lembre-se de que você estará ignorando outras opções, como
ALLOW_ROW_LOCKS
eALLOW_PAGE_LOCKS
( referência das opções da tabela ).fonte
Ai, isso não é uma boa situação. Tanto quanto eu sei, o SSDT não suporta isso. A melhor solução possível é usar um script de pré-implantação para armazenar os limites em uma tabela e alterar a função de partição usando esses valores no script pós-implantação.
fonte