Estou criando um cenário de carregamento de janela deslizante e as funções de partição mudarão seus limites ao longo do tempo.
Eu criei algumas funções de partição em meu projeto de banco de dados SQL Server Data Tools (SSDT) com alguns limites iniciais codificados.
No entanto, conforme o tempo passa e os limites das funções de partição mudam, futuras publicações do banco de dados SSDT reverterão os limites para os originais.
Existe alguma maneira de lidar com esse cenário normalmente, possivelmente desabilitando a publicação das funções de partição?
Tentei alterar a propriedade Build Action das funções de partição no SSDT, do padrão Build
, para None
, mas o projeto falha ao ser compilado devido a uma referência ausente nos objetos dependentes.
Consegui encontrar uma solução para o meu problema - espero que isso ajude alguém.
Para evitar que cada publicação de banco de dados recrie a função de partição, você pode marcar 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 de banco de dados).
Da descrição da opção (grifo meu):
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 recrie mais a função de partição, o objeto particionado será recriado de qualquer maneira.
Isso acontece porque o objeto particionado recebe script com a compactação definida por partição e, como o objeto tem um número de partições diferente do originalmente definido, o SSDT recria o objeto na publicação. Ex.: (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 — apenas lembre-se de que você estará ignorando outras opções, como
ALLOW_ROW_LOCKS
eALLOW_PAGE_LOCKS
( referência das opções da tabela ).Ai, essa não é uma boa situação. Tanto quanto eu sei, o SSDT não suporta isso. A melhor solução alternativa que posso imaginar é usar um script de pré-implantação para armazenar os limites em uma tabela e, em seguida, alterar a função de partição usando esses valores no script de pós-implantação.