ďťż
 
[ms sql 2000] Replikacja - zmiana typu kolumny w tabeli ? ďťż
 
[ms sql 2000] Replikacja - zmiana typu kolumny w tabeli ?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[ms sql 2000] Replikacja - zmiana typu kolumny w tabeli ?



szaki - 17-05-2007 22:44
[ms sql 2000] Replikacja - zmiana typu kolumny w tabeli ?
  Witam,
W jaki sposób na bazie która jest replikowana zmienić typ kolumny w
tabeli ? Przy dodawaniu/usuwaniu kolumny w tabeli są pomocne procedury -
sp_repaddcolumn.
A co zrobić gdy chcę zmienić typ kolumny utworzonej w tabeli, badz
zwiekszyć wielkość znaków do wpisania (np. z varchara(50) do varchara(100))?

CZekam na wasze propozycje.

POzdrawiam
Szaki





szaki - 17-05-2007 22:44

  szaki napisał(a):
> Witam,
> W jaki sposób na bazie która jest replikowana zmienić typ kolumny w
> tabeli ? Przy dodawaniu/usuwaniu kolumny w tabeli są pomocne procedury -
> sp_repaddcolumn.
> A co zrobić gdy chcę zmienić typ kolumny utworzonej w tabeli, badz
> zwiekszyć wielkość znaków do wpisania (np. z varchara(50) do
> varchara(100))?
>
> CZekam na wasze propozycje.
>
> POzdrawiam
> Szaki

Z tego co wyczytałem w necie, to jedyne zrobie tego co opisuje powyżej
to skasowanie subskrybcji i publikacji wprowadzenie zmian i stworzenie
na nowo subskrybcji i publikacji.
CZy nie znacie moze jakiegoś innego sposobu ?
Na bazach MS server nie znam sie za dobrze, i nie wiem czym moze
skutkować usunięcie subskrybcji, publikacji i jakie moga wystąpić
problemy przy ich tworzeniu.

Szaki




Maciej Pilecki - 19-05-2007 00:01

  "szaki" <ljag@gazeta.pl> wrote in message
news:f2fnr1$6te$1@inews.gazeta.pl...
> szaki napisał(a):
> > Witam,
> > W jaki sposób na bazie która jest replikowana zmienić typ kolumny w
> > tabeli ? Przy dodawaniu/usuwaniu kolumny w tabeli są pomocne procedury -
> > sp_repaddcolumn.
> > A co zrobić gdy chcę zmienić typ kolumny utworzonej w tabeli, badz
> > zwiekszyć wielkość znaków do wpisania (np. z varchara(50) do
> > varchara(100))?
> >
> > CZekam na wasze propozycje.
> >
> > POzdrawiam
> > Szaki
>
> Z tego co wyczytałem w necie, to jedyne zrobie tego co opisuje powyżej
> to skasowanie subskrybcji i publikacji wprowadzenie zmian i stworzenie
> na nowo subskrybcji i publikacji.
> CZy nie znacie moze jakiegoś innego sposobu ?
> Na bazach MS server nie znam sie za dobrze, i nie wiem czym moze
> skutkować usunięcie subskrybcji, publikacji i jakie moga wystąpić
> problemy przy ich tworzeniu.
>

Problem polega na tym, że narzędzia, które umożliwiają zmianę typu danych
kolumny (takie jak Enterprise Manager czy Management Studio) robią obejście,
które polega na: założeniu nowej tabeli, przekopiowaniu danych, skasowaniu
starej tabeli i zmianie nawy nowej tak aby ją podstawić pod starą. To
oczywiście powoduje całą masę nieporządanych zjawisk, a w Twoim konkretnym
wypadku wymaga usunięcia publikacji aby można było usunąć tabelę (potem
trzeba oczywiście założyc nową publikacje na nowej tabeli).

Można to zrobić mądrzej, ręcznie, w T-SQLu. Z grubsza sekwencja kroków
wygląda wtedy następująco:
1. EXEC sp_repldropcolumn -- tutaj parametry aby usunąć kolumnę z
publikacji
2. ALTER TABLE Tabela ALTER COLUMN NazwaKolumny varchar(100)
3. EXEC sp_repladdcolumn --tutaj potrzebne parametry aby ponownie dodać
kolumnę do publikacji

Dodam jeszcze, że to jest dość ryzykowna operacja i powodzenie nie jest
gwarantowane. Coś się może rozsypać (nie napisałeś nawet jaki to rodzaj
replikacji, więc nie będę gdybał). W razie czego trzeba wrócić do opcji
skasowania i odtworzenia publikacji.

Powodzenia!
Maciej Pilecki
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= [Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?= [oracle] - Oracle SQL Developer - co to jest SID? =?ISO-8859-2?Q?[Oracle]_Wywo=B3anie_skryptu_sh_z_PL/SQL-a=3F=3F?= [oracle] Baza danych do kursy Introduction to Oracle9i:PL/SQL ? Skąd ją pobrać ?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-hacjenda.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com