Próbuję zmienić rozmiar kolumny na serwerze sql za pomocą:
ALTER TABLE [dbo].[Address]
ALTER COLUMN [Addr1] [nvarchar](80) NULL
gdzie długość Addr1
była pierwotnie 40
.
Nie udało się, powodując ten błąd:
The object 'Address_e' is dependent on column 'Addr1'.
ALTER TABLE ALTER COLUMN Addr1 failed because one or more objects access
this column.
Próbowałem go przeczytać i wydaje się, że ponieważ niektóre widoki odwołują się do tej kolumny i wygląda na to, że SQL Server faktycznie próbuje usunąć kolumnę, która spowodowała błąd.
Address_e
to widok utworzony przez poprzedniego administratora bazy danych.
Czy jest inny sposób zmiany rozmiaru kolumny?
sql
sql-server
Staelen
źródło
źródło
Odpowiedzi:
Widoki są prawdopodobnie tworzone przy użyciu opcji WITH SCHEMABINDING, co oznacza, że są one jawnie połączone, aby zapobiec takim zmianom. Wygląda na to, że ten schemat zadziałał i uniemożliwił złamanie tych poglądów, szczęśliwy dzień, co? Skontaktuj się z administratorem bazy danych i poproś go o dokonanie zmiany, po potwierdzeniu wpływu na bazę danych.
Z MSDN :
źródło
źródło
Jeśli ktoś chce „zwiększyć szerokość kolumny replikowanej tabeli” w SQL Server 2008, nie ma potrzeby zmieniania właściwości „
replicate_ddl=1
”. Po prostu wykonaj poniższe czynności -ALTER TABLE [Table_Name] ALTER COLUMN [Column_Name] varchar(22)
varchar(x)
dovarchar(22)
i tę samą zmianę, którą możesz zobaczyć na subskrybencie (transakcja została zreplikowana). Nie ma więc potrzeby ponownego inicjowania replikacjiMam nadzieję, że pomoże to wszystkim, którzy tego szukają.
źródło
Zobacz ten link
Zmień rozmiar lub zmodyfikuj kolumnę tabeli MS SQL Server z domyślnym ograniczeniem za pomocą poleceń T-SQL
rozwiązaniem takiego problemu SQL Server będzie
Usuwanie lub wyłączanie ograniczenia DEFAULT w kolumnie tabeli.
Modyfikowanie typu danych kolumny tabeli i / lub rozmiaru danych.
Ponowne tworzenie lub włączanie domyślnego ograniczenia z powrotem w kolumnie tabeli sql.
PA
źródło
oto, co działa z wersją programu, którego używam: może zadziałać również dla Ciebie.
Po prostu umieszczę instrukcję i polecenie, które to robi. class to nazwa tabeli. za pomocą tej metody zmieniasz to w tabeli na siebie. nie tylko zwrot z procesu wyszukiwania.
zobacz klasę tabeli
zmień długość kolumn FacID (widziany jako „faci”) i numer klasy (jako „classnu”), aby dopasować całe etykiety.
zobacz tabelę ponownie, aby zobaczyć różnicę
(uruchom ponownie polecenie, aby zobaczyć różnicę)
To zmienia rzeczywistą tabelę na dobre, ale na lepsze.
PS Zrobiłem te instrukcje jako notatkę do poleceń. To nie jest test, ale może pomóc w jednym :)
źródło
Sprawdź ułożenie kolumn. Ten skrypt może zmienić sortowanie na domyślne ustawienie tabeli. Dodaj bieżące sortowanie do skryptu.
źródło