2012-11-22 13 views

Odpowiedz

85

1- Otwórz Studio zarządzania serwerem SQL.

2- Kliknij prawym przyciskiem myszy bazę danych zawierającą żądaną tabelę.

3- Wybierz "Zadania => Wygeneruj skrypty ...".

4- Postępuj zgodnie z instrukcjami kreatora i wybierz obiekty, dla których chcesz wygenerować skrypty (Tabele, Widoki, Procedury składowane itp.).

5- Od następnego kroku, kliknij na „Zaawansowane”, a dla węzła oznaczonego „Typy danych do skryptu” wybierz „schematu i danych”.

enter image description here

6- Zapisz swój skrypt i uśmiech :)

3

Można to zrobić przy użyciu generowanie skryptów zadanie bazy danych. Kliknij prawym przyciskiem myszy bazę danych> Zadania> Generuj skrypty ... Wybierz "Wybierz określone obiekty bazy danych" i żądaną tabelę.

Na stronie Ustaw opcje skryptów kliknij przycisk Zaawansowane. Istnieje opcja "Typy danych do skryptu", wybierz "Schemat i dane". Wybierz, gdzie chcesz go zapisać. Kolejny. Kolejny. Koniec.

To jest jednak odpowiedź, jeśli tabela zawiera dużą ilość danych, zalecam użycie polecenia bcp out lub innej metody wyeksportowania danych. Jeśli nowy serwer znajduje się w tej samej sieci, możesz również wybrać go jako połączony serwer.

Metoda skryptu wygeneruje poszczególne instrukcje wstawiania.

4
select 'create table [' + so.name + '] (' + o.list + ')' + CASE WHEN tc.Constraint_Name IS NULL THEN '' ELSE 'ALTER TABLE ' + so.Name + ' ADD CONSTRAINT ' + tc.Constraint_Name + ' PRIMARY KEY ' + ' (' + LEFT(j.List, Len(j.List)-1) + ')' END 
from sysobjects so 
cross apply 
    (SELECT 
     ' ['+column_name+'] ' + 
     data_type + case data_type 
      when 'sql_variant' then '' 
      when 'text' then '' 
      when 'ntext' then '' 
      when 'xml' then '' 
      when 'decimal' then '(' + cast(numeric_precision as varchar) + ', ' + cast(numeric_scale as varchar) + ')' 
      else coalesce('('+case when character_maximum_length = -1 then 'MAX' else cast(character_maximum_length as varchar) end +')','') end + ' ' + 
     case when exists ( 
     select id from syscolumns 
     where object_name(id)=so.name 
     and name=column_name 
     and columnproperty(id,name,'IsIdentity') = 1 
     ) then 
     'IDENTITY(' + 
     cast(ident_seed(so.name) as varchar) + ',' + 
     cast(ident_incr(so.name) as varchar) + ')' 
     else '' 
     end + ' ' + 
     (case when IS_NULLABLE = 'No' then 'NOT ' else '' end) + 'NULL ' + 
      case when information_schema.columns.COLUMN_DEFAULT IS NOT NULL THEN 'DEFAULT '+ information_schema.columns.COLUMN_DEFAULT ELSE '' END + ', ' 

    from information_schema.columns where table_name = so.name 
    order by ordinal_position 
    FOR XML PATH('')) o (list) 
left join 
    information_schema.table_constraints tc 
on tc.Table_name  = so.Name 
AND tc.Constraint_Type = 'PRIMARY KEY' 
cross apply 
    (select '[' + Column_Name + '], ' 
    FROM information_schema.key_column_usage kcu 
    WHERE kcu.Constraint_Name = tc.Constraint_Name 
    ORDER BY 
     ORDINAL_POSITION 
    FOR XML PATH('')) j (list) 
where xtype = 'U' 
AND name NOT IN ('dtproperties') 
Powiązane problemy