ďťż
 
[MSSQL] problem z (od)tworzeniem BD ze skryptu ďťż
 
[MSSQL] problem z (od)tworzeniem BD ze skryptu
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

[MSSQL] problem z (od)tworzeniem BD ze skryptu



koli - 05-04-2007 00:04
[MSSQL] problem z (od)tworzeniem BD ze skryptu
  Witam,

Mam MS SQL 2000 SP3, próbuję utworzyć kolejną bazę danych mającą identyczną
strukturę jak źródłowa.
W Enterprise Manager utworzyłem sobie skrypt generujący wszystkie obiekty dla
bazy źródłowej (zaznaczyłem Generate script for all dependent objects).
Utworzyłem nową pustą bazę i próbuję ten skrypt uruchamiać - i tu zonk ;-(
przy uruchomieniu skryptu jest mnóstwo błędów "Invalid object ...".
Sprawdziłem, wynikają one z tego, że obiekty nie są tworzone przez skrypt w
odpowiedniej kolejności. Próbowałem ręcznie to poprawić w skrypcie ale dałem
sobie na razie spokój (baza ma dość dużo obiektów i się trochę zamotałem jak
przestawiałem kolejność ich tworzenia).
Może coś zrobiłem źle ?
Czy jest możliwość utworzenia takiego skryptu, który by się poprawnie
uruchomił ? Jak to zrobić ? A może jakiś patch do tego jest?

Pozdrawiam
--
koli

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





Marcin A. Guzowski - 07-04-2007 00:03

  koli napisał(a):
> Witam,
>
> Mam MS SQL 2000 SP3, próbuję utworzyć kolejną bazę danych mającą identyczną
> strukturę jak źródłowa.
> W Enterprise Manager utworzyłem sobie skrypt generujący wszystkie obiekty dla
> bazy źródłowej (zaznaczyłem Generate script for all dependent objects).
> Utworzyłem nową pustą bazę i próbuję ten skrypt uruchamiać - i tu zonk ;-(
> przy uruchomieniu skryptu jest mnóstwo błędów "Invalid object ...".
> Sprawdziłem, wynikają one z tego, że obiekty nie są tworzone przez skrypt w
> odpowiedniej kolejności. Próbowałem ręcznie to poprawić w skrypcie ale dałem
> sobie na razie spokój (baza ma dość dużo obiektów i się trochę zamotałem jak
> przestawiałem kolejność ich tworzenia).
> Może coś zrobiłem źle ?
> Czy jest możliwość utworzenia takiego skryptu, który by się poprawnie
> uruchomił ? Jak to zrobić ? A może jakiś patch do tego jest?

Nie ma żadnych patchy, nie wymyślaj.

A musisz to robić skryptem? Taki sposób zawsze będzie mniej lub bardziej
problematyczny. Najlepiej jest zbackupować bazę źródłową i odzyskać
backup jako nową bazę (docelową). W razie potrzeby usuniesz tylko dane z
utworzone bazy.

--
Pozdrawiam,
Marcin Guzowski
http://guzowski.info




Krzysztof Raczkowski - 07-04-2007 00:03

  Marcin A. Guzowski napisał(a):
> koli napisał(a):
>> Witam,
>>
>> Mam MS SQL 2000 SP3, próbuję utworzyć kolejną bazę danych mającą
>> identyczną
>> strukturę jak źródłowa.
>> W Enterprise Manager utworzyłem sobie skrypt generujący wszystkie
>> obiekty dla
>> bazy źródłowej (zaznaczyłem Generate script for all dependent objects).
>> Utworzyłem nową pustą bazę i próbuję ten skrypt uruchamiać - i tu zonk
>> ;-(
>> przy uruchomieniu skryptu jest mnóstwo błędów "Invalid object ...".
>> Sprawdziłem, wynikają one z tego, że obiekty nie są tworzone przez
>> skrypt w
>> odpowiedniej kolejności. Próbowałem ręcznie to poprawić w skrypcie ale
>> dałem
>> sobie na razie spokój (baza ma dość dużo obiektów i się trochę
>> zamotałem jak
>> przestawiałem kolejność ich tworzenia).
>> Może coś zrobiłem źle ?
>> Czy jest możliwość utworzenia takiego skryptu, który by się poprawnie
>> uruchomił ? Jak to zrobić ? A może jakiś patch do tego jest?
>
>
> Nie ma żadnych patchy, nie wymyślaj.
>

Uwaga jest uzasadniona bo są bazy, które potrafią wygenerować skrypt
zakładający wszystko jak trzeba w odpowiedniej kolejności :) Niech mi
ktoś powie na co komu wyskryptowana baza w jednym nie małym pliku?

--
K. Raczkowski




Marcin A. Guzowski - 08-04-2007 00:02

  Krzysztof Raczkowski napisał(a):
>> Nie ma żadnych patchy, nie wymyślaj.
>>
>
> Uwaga jest uzasadniona bo są bazy, które potrafią wygenerować skrypt
> zakładający wszystko jak trzeba w odpowiedniej kolejności :)

Nie są to bazy, tylko narzędzia do nich. Istnieją też narzędzia do MSSQL
(choćby ze stajni RedGate), które potrafią wygenerować globalnie spójny
skrypt. Natomiast narzędzia standardowe dostarczone wraz z silnikiem w
wersji 2000 nie służą do skryptowania baz - tylko obiektów (a to istotna
różnica, co z resztą stało się problemem dla autora wątku). A tak btw
skryptowanie obiektów w odpowiedniej kolejności wcale nie jest
szczególnie trudne.

--
Pozdrawiam,
Marcin Guzowski
http://guzowski.info





koli - 11-05-2007 12:31

  Na początku przepraszam za opóźnienie w odpowiedzi ...
Nie jestem specem od MS SQL, zajmuję się problemem okazyjnie, więc
jeżeli jakieś herezje tu piszę - wybaczcie ;-)

>Marcin A. Guzowski napisał(a):
> Krzysztof Raczkowski napisał(a):
>>> Nie ma żadnych patchy, nie wymyślaj.
Wymyślam ? Uważam, że skoro w Enterprise Manager jest możliwość
generowania skryptu z całego schematu bazy i EM umie generować obiekty z
uwzględnieniem zależności to logicznym jest sądzić że powinien to zrobić
w prawidłowej kolejności. IMHO jest to błąd w działaniu EM.
Zdaniem Micro$oft chyba też, bo coś tam próbują poprawiać np.
http://support.microsoft.com/kb/289551/ - niemniej jednak chyba się im
nie za bardzo udało bo mam SP3 a problemy są nadal ...

Odnośnie pomysłu z backupem tak z ciekawości zapytam, czy jak zakładasz
nowy pusty schemat bazy w MS SQL na gołym serwerze to robisz to z
backupu a nie ze skryptu ?
Przecież (przy odtwarzaniu bazy z backupu) żeby ją wyczyścić to się
trzeba trochę narobić a i to nie wszystko (że nie wspomnę np o
ustawianiu wartości dla autonumerowanych kolumn)

>> Uwaga jest uzasadniona bo są bazy, które potrafią wygenerować skrypt
>> zakładający wszystko jak trzeba w odpowiedniej kolejności :)
>
>
> Nie są to bazy, tylko narzędzia do nich.
OK, EM też jest narzędziem, robiąc np. skrypt schematu bazy narzędziem
Oracle Designer dostaję wszystko ładnie, w odpowiedniej kolejności ...

> Istnieją też narzędzia do MSSQL
> (choćby ze stajni RedGate), które potrafią wygenerować globalnie spójny
> skrypt.
Testuję właśnie Quest Comparision Software for SQL Server - jak na razie
mam obiecujące wyniki - mimo tego, że narzędzie nie jest dokładnie do
tworzenia skryptów i ma parę wad. Ma za tą jedną ważną zaletę jak dla
mnie - jest Freeware !
RedGate nie znam, ale sprawdzę co potrafi ...

> Natomiast narzędzia standardowe dostarczone wraz z silnikiem w
> wersji 2000 nie służą do skryptowania baz - tylko obiektów (a to istotna
> różnica, co z resztą stało się problemem dla autora wątku). A tak btw
> skryptowanie obiektów w odpowiedniej kolejności wcale nie jest
> szczególnie trudne.
Hmm, skoro nie jest trudne to czemu Micro$oft sobie z tym nie radzi ?
Masz na myśli jakieś "ręczne" działania. Baza, którą próbuję
zeskryptować ma ponad 500 różnych obiektów i dlatego szukam narzędzia do
tego.

Jak zdążyłem wytestować, problem z nieprawidłową kolejnością
zeskryptowanych obiektów jest również gdy próbuje się wygenerować skrypt
tylko kilku obiektów powiązanych zależnościami np. żeby przenieść zmiany
na schemacie bazy z testowej na produkcyjną. A tu juz widzę problem, bo
trzeba dziergać skrypt ręcznie, a to już mi się średnio podoba ...

Przy okazji mam pytanie o MS SQL 2005 bo nie miałem jeszcze do czynienia
z tą wersją: Czy ktoś z Was próbował wygenerować skrypt ze schematu bazy
w 2005 ? Czy w 2005 też są podobne problemy z kolejnością generowania
obiektów w skrypcie ?

Pozdrawiam
--
koli




Krzysztof Raczkowski - 11-05-2007 12:31

  koli napisał(a):
> Przy okazji mam pytanie o MS SQL 2005 bo nie miałem jeszcze do czynienia
> z tą wersją: Czy ktoś z Was próbował wygenerować skrypt ze schematu bazy
> w 2005 ? Czy w 2005 też są podobne problemy z kolejnością generowania
> obiektów w skrypcie ?
>

Moim zdaniem zrobili krok wstecz ... w MS SQL 2005 możesz skryptować
wszystko do jednego pliku. Z tego co pamiętam (bo dawno tego nie
robiłem) przed SP1 był problem z prawidłową kolejnością obiektów w
skrypcie. Od jakiegoś czasu mam wyprodukowany własną 'rzemieślniczą'
działalnością programik, który skryptuje obiekty osobno tak że można je
wrzucić 'hurtem' do bazy nie przejmując się zależnościami :).

--
Pozdrawiam
K. Raczkowski
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= mysql i mysql-front, problem String line; if (line=="cos"){...}....problem Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= [postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] [PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ? [MySQL] Problem z zapisem danych w bazie danych Problem z mysql - can't connect to MySQL/nietypowo...
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lunadance.htw.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