Eksportowanie danych w SQL Server jako INSERT do

Używam SQL Server 2008 Management Studio i mam tabelę, którą chcę przenieść na inny serwer db.

Czy istnieje możliwość eksportu danych jako insert do skryptu SQL??

Author: user2771704, 2009-10-04

10 answers

W SSMS w Eksploratorze obiektów kliknij prawym przyciskiem myszy na bazie danych, kliknij prawym przyciskiem myszy i wybierz "zadania", a następnie "Generuj Skrypty".

To pozwoli Ci wygenerować skrypty dla jednej lub wszystkich tabel, a jedną z opcji jest "Script Data". Jeśli ustawisz wartość TRUE, Kreator wygeneruje skrypt z instrukcją INSERT INTO () dla Twoich danych.

Jeśli używasz 2008 R2 lub 2012 nazywa się to czymś innym, zobacz zrzut ekranu poniżej tego

alt text

2008 R2 lub później eg 2012

Wybierz "typy danych do skryptu", które mogą być "tylko dane", "schemat i dane "lub" tylko schemat " - domyślnie).

Tutaj wpisz opis obrazka

A potem jest pakiet "SSMS Addin " na Codeplex (w tym source), który obiecuje prawie taką samą funkcjonalność i kilka więcej (Jak szybkie wyszukiwanie itp.)

alt text

 603
Author: marc_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-19 14:34:30

Ze względu na nadmierną bezmózgość, po wykonaniu instrukcji marc_s tutaj ...

W SSMS w Eksploratorze obiektów kliknij prawym przyciskiem myszy na bazie danych kliknij prawym przyciskiem myszy i wybierz "zadania", a następnie "Generuj Skrypty".

... Następnie widzę ekran kreatora z "wprowadzenie, Wybierz obiekty, Ustaw opcje skryptów, Podsumowanie i zapisz lub opublikuj Skrypty " z przyciskami prev, next, finish, cancel na dole.

On the Set Scripting Opcje krok, musisz kliknij "Zaawansowane" aby uzyskać stronę z opcjami. Następnie, jak wspomniano Ghlouw, Teraz wybierz "typy danych do skryptu" i zysk.

zaawansowany przycisk podświetlony na Czerwono!1!!

 95
Author: ruffin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:16

Jeśli używasz SQLServer 2008R2 musisz ustawić typy danych w polu script.

Tutaj wpisz opis obrazka

 40
Author: Azadeh Khojandi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-29 02:01:52

Jeśli używasz SQL Server 2008 R2 wbudowane opcje, aby to zrobić w SSMS, jak marc_s opisane powyżej nieco się zmieniły. Zamiast wyboru Script data = true, Jak pokazano na jego diagramie, pojawiła się nowa opcja o nazwie "Types of data to script" tuż nad grupowaniem "opcje tabeli/widoku". Tutaj możesz wybrać, aby skrypt tylko dane, schemat i dane lub schemat tylko. Działa jak urok.

 35
Author: Ghlouw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-02 08:09:57

Dla tych, którzy szukają wersji wiersza poleceń, Microsoft wydał mssql-scripter Aby to zrobić:

$ pip install mssql-scripter

# Generate DDL scripts for all database objects and DML scripts (INSERT statements)
# for all tables in the Adventureworks database and save the script files in
# the current directory
$ mssql-scripter -S localhost -d AdventureWorks -U sa --schema-and-data \
                 -f './' --file-per-object
 3
Author: Nickolay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-10 22:10:05

Możesz również sprawdzić "Data Scripter Add-In" dla SQL Server Management Studio 2008 z:

Http://www.mssql-vehicle-data.com/SSMS


Lista funkcji:

  • Został on opracowany na SSMS 2008 i nie jest obecnie obsługiwany na wersji 2005 (wkrótce!)

  • Szybko Eksportuj dane do T-SQL dla składni MSSQL i MySQL

  • CSV, TXT, XML są również obsługiwane! Wykorzystaj pełny potencjał, moc i prędkość to SQL ma do zaoferowania.

  • Nie czekaj na Access lub Excel, aby wykonać pracę skryptową, która może zająć kilka minut - pozwól SQL Server zrobić to za Ciebie i podjąć całą pracę zgadywania z eksportu danych!

  • Dostosuj dane wyjściowe do szybkich kopii zapasowych, manipulacji DDL i innych...

  • Szybko i sprawnie zmieniaj nazwy tabel i schematy baz danych według swoich potrzeb

  • Eksportuj nazwy kolumn lub po prostu Generuj dane bez nazwisk.

  • Możesz wybrać poszczególne kolumny do skryptu.

  • Możesz wybrać podzbiory danych (klauzula WHERE).

  • Możesz wybrać kolejność danych(klauzula ORDER BY).

  • Świetne narzędzie do tworzenia kopii zapasowych dla tych brudnych operacji debugowania baz danych, które wymagają manipulacji danymi. Nie trać danych podczas eksperymentów. Manipuluj danymi w locie!

 2
Author: Nate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-22 05:06:54

Wszystko powyższe jest ładne, ale jeśli potrzebujesz

  1. Eksportuj dane z wielu widoków i tabel za pomocą złączy
  2. tworzenie poleceń insert dla różnych RDBMSs
  3. Migracja danych z dowolnych RDBMS do dowolnych RDBMS

Następnie następujący trik jest jedynym sposobem.

Najpierw dowiedz się, jak tworzyć pliki szpulowe lub eksportować zestawy wyników z źródłowego klienta wiersza poleceń db. Po drugie dowiedz się, jak wykonywać polecenia sql na docelowym db.

Na koniec utwórz instrukcje insert (i inne) dla docelowej bazy danych poprzez uruchomienie skryptu sql w źródłowej bazie danych. np.

SELECT '-- SET the correct schema' FROM dual;
SELECT 'USE test;' FROM dual;
SELECT '-- DROP TABLE IF EXISTS' FROM dual;
SELECT 'IF OBJECT_ID(''table3'', ''U'') IS NOT NULL DROP TABLE dbo.table3;' FROM dual;
SELECT '-- create the table' FROM dual;
SELECT 'CREATE TABLE table3 (column1 VARCHAR(10), column2 VARCHAR(10));' FROM dual;

SELECT 'INSERT INTO table3 (column1, column2) VALUES (''', table1.column1, ''',''', table2.column2, ''');' FROM table1 JOIN table2 ON table2.COLUMN1 = table1.COLUMN1;

Powyższy przykład został stworzony dla bazy danych Oracle, gdzie użycie opcji dual jest potrzebne do wyboru bez tabel.

Zestaw wynikowy będzie zawierał skrypt docelowego db.

 2
Author: Αλέκος,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-10 11:54:45

Oto przykład tworzenia skryptu migracji danych za pomocą kursora do iteracji tabeli źródłowej.

SET NOCOUNT ON;  
DECLARE @out nvarchar(max) = ''
DECLARE @row nvarchar(1024)
DECLARE @first int = 1

DECLARE cur CURSOR FOR 
    SELECT '(' + CONVERT(CHAR(1),[Stage]) + ',''' + [Label] + ''')'
    FROM CV_ORDER_STATUS
    ORDER BY [Stage]

PRINT 'SET IDENTITY_INSERT dbo.CV_ORDER_STATUS ON'
PRINT 'GO'

PRINT 'INSERT INTO dbo.CV_ORDER_STATUS ([Stage],[Label]) VALUES';

OPEN cur
FETCH NEXT FROM cur
    INTO @row

WHILE @@FETCH_STATUS = 0
BEGIN
    IF @first = 1
        SET @first = 0
    ELSE
        SET @out = @out + ',' + CHAR(13);

    SET @out = @out + @row

    FETCH NEXT FROM cur into @row
END

CLOSE cur
DEALLOCATE cur

PRINT @out

PRINT 'SET IDENTITY_INSERT dbo.CV_ORDER_STATUS OFF'
PRINT 'GO'
 1
Author: Shane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-09 20:23:14

Po wielu poszukiwaniach, to był mój najlepszy strzał:

Jeśli masz dużo danych i potrzebujesz kompaktowego i eleganckiego skryptu, wypróbuj go: SSMS Tools Pack

Generuje Unię wszystkich poleceń select, aby wstawiać elementy do tabel docelowych i obsługiwać transakcje całkiem dobrze.

Zrzut ekranu

 0
Author: Vinicius Gonçalves,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-22 16:08:15

Dla SQL server Mng Studio 2016:

Tutaj wpisz opis obrazka

 0
Author: ingconti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-28 12:26:47