Estou tentando alterar o tamanho de uma coluna no servidor sql usando:
ALTER TABLE [dbo].[Address]
ALTER COLUMN [Addr1] [nvarchar](80) NULL
onde o comprimento de Addr1
era originalmente 40
.
Falha ao gerar este erro:
The object 'Address_e' is dependent on column 'Addr1'.
ALTER TABLE ALTER COLUMN Addr1 failed because one or more objects access
this column.
Eu tentei ler sobre isso e parece que, porque alguns modos de exibição fazem referência a esta coluna e parece que o SQL Server está realmente tentando descartar a coluna que gerou o erro.
Address_e
é uma exibição criada pelo administrador de banco de dados anterior.
Existe alguma outra maneira de alterar o tamanho da coluna?
sql
sql-server
Staelen
fonte
fonte
Respostas:
As visualizações são provavelmente criadas usando a opção WITH SCHEMABINDING e isso significa que elas são explicitamente conectadas para impedir essas alterações. Parece que a ligação de esquema funcionou e impediu você de quebrar essas visualizações, dia de sorte, hein? Entre em contato com o administrador do banco de dados e peça para ele fazer a alteração, depois que ela afirmar o impacto no banco de dados.
Do MSDN :
fonte
fonte
Se alguém quiser "Aumentar a largura da coluna da tabela replicada" no SQL Server 2008, não será necessário alterar a propriedade "
replicate_ddl=1
". Basta seguir as etapas abaixo -ALTER TABLE [Table_Name] ALTER COLUMN [Column_Name] varchar(22)
varchar(x)
para avarchar(22)
mesma alteração que você pode ver no assinante (a transação foi replicada). Portanto, não há necessidade de reinicializar a replicaçãoEspero que isso ajude todos os que a procuram.
fonte
Veja este link
Redimensionar ou modificar uma coluna da tabela do MS SQL Server com restrição padrão usando comandos T-SQL
a solução para esse problema do SQL Server será
Descartando ou desativando a restrição DEFAULT na coluna da tabela.
Modificando o tipo de dados da coluna da tabela e / ou tamanho dos dados.
Recrie ou habilite a restrição padrão de volta na coluna da tabela sql.
Tchau
fonte
aqui está o que funciona com a versão do programa que estou usando: pode funcionar para você também.
Apenas colocarei a instrução e o comando que o fazem. classe é o nome da tabela. você o altera na tabela com este método. não apenas o retorno do processo de pesquisa.
ver a classe da tabela
altere o comprimento das colunas FacID (visto como "faci") e número de classe (visto como "classnu") para ajustar os rótulos inteiros.
veja a tabela novamente para ver a diferença
(execute o comando novamente para ver a diferença)
Isso altera a tabela real para o bem, mas para o melhor.
PS Fiz estas instruções como uma nota para os comandos. Este não é um teste, mas pode ajudar em um :)
fonte
Verifique o agrupamento da coluna. Este script pode alterar o agrupamento para o padrão da tabela. Adicione o agrupamento atual ao script.
fonte