Estoy tratando de cambiar el tamaño de una columna en el servidor SQL usando:
ALTER TABLE [dbo].[Address]
ALTER COLUMN [Addr1] [nvarchar](80) NULL
donde la longitud de Addr1
era originalmente 40
.
Falló, provocando este error:
The object 'Address_e' is dependent on column 'Addr1'.
ALTER TABLE ALTER COLUMN Addr1 failed because one or more objects access
this column.
Intenté leerlo y parece que debido a que algunas vistas hacen referencia a esta columna y parece que SQL Server realmente está tratando de eliminar la columna que provocó el error.
Address_e
es una vista creada por el administrador de base de datos anterior.
¿Hay alguna otra forma en que pueda cambiar el tamaño de la columna?
sql
sql-server
Staelen
fuente
fuente
Respuestas:
Las vistas probablemente se crean utilizando la opción WITH SCHEMABINDING y esto significa que están explícitamente conectadas para evitar dichos cambios. Parece que la combinación de esquemas funcionó y te impidió romper esas opiniones, día de suerte, ¿eh? Póngase en contacto con el administrador de su base de datos y pídale que haga el cambio, después de que afirme el impacto en la base de datos.
De MSDN :
fuente
fuente
Si alguien quiere "Aumentar el ancho de columna de la tabla replicada" en SQL Server 2008, entonces no es necesario cambiar la propiedad de "
replicate_ddl=1
". Simplemente siga los pasos a continuación:ALTER TABLE [Table_Name] ALTER COLUMN [Column_Name] varchar(22)
varchar(x)
avarchar(22)
y el mismo cambio que se puede ver en suscriptor (transacción consiguió replicado). Por lo tanto, no es necesario reiniciar la replicaciónEspero que esto ayude a todos los que lo están buscando.
fuente
Ver este enlace
Cambiar el tamaño o modificar una columna de tabla de MS SQL Server con restricción predeterminada utilizando comandos T-SQL
la solución para tal problema de SQL Server será
Descartar o deshabilitar la restricción POR DEFECTO en la columna de la tabla.
Modificación del tipo de datos de columna de tabla y / o tamaño de datos.
Volver a crear o habilitar la restricción predeterminada en la columna de la tabla sql.
Adiós
fuente
Esto es lo que funciona con la versión del programa que estoy usando: también puede funcionar para usted.
Simplemente colocaré las instrucciones y el comando que lo hace. clase es el nombre de la tabla. lo cambia en la tabla con este método. no solo el retorno del proceso de búsqueda.
ver la clase de tabla
cambie la longitud de las columnas FacID (visto como "faci") y classnumber (visto como "classnu") para ajustarse a todas las etiquetas.
ver la tabla nuevamente para ver la diferencia
(ejecute el comando nuevamente para ver la diferencia)
Esto cambia la tabla real para bien, pero para mejor.
PD: hice estas instrucciones como una nota para los comandos. Esto no es una prueba, pero puede ayudar en una :)
fuente
Verifique la clasificación de columnas. Este script puede cambiar la clasificación a la tabla predeterminada. Agregue la clasificación actual al script.
fuente