복붙노트

[SQL] INSERT INTO으로 SQL 서버에서 데이터 내보내기

SQL

INSERT INTO으로 SQL 서버에서 데이터 내보내기

나는 SQL 서버 2008 Management Studio를 사용하고 내가 다른 DB 서버로 마이그레이션 할 테이블이 있어요.

SQL 스크립트에 삽입으로 데이터를 내보낼 수있는 옵션이 있나요?

해결법

  1. ==============================

    1.개체 탐색기 데이터베이스에서 마우스 오른쪽 클릭으로 SSMS에서 "스크립트 생성"을 마우스 오른쪽 버튼으로 클릭하고 "작업"을 선택합니다.

    개체 탐색기 데이터베이스에서 마우스 오른쪽 클릭으로 SSMS에서 "스크립트 생성"을 마우스 오른쪽 버튼으로 클릭하고 "작업"을 선택합니다.

    이것은 당신이 하나 또는 모든 테이블 및 옵션 중 하나가 "스크립트 데이터"입니다에 대한 스크립트를 생성 할 수 있습니다. 당신이 참으로 그 설정하면, 마법사가 INSERT INTO () 데이터에 대한 문을 스크립트를 생성합니다.

    그것은 뭔가 다른라고 2008 R2 또는 2012을 사용하는 경우,이 아래 스크린 샷 참조

    "데이터 전용"할 수있다 "스크립트에 데이터의 유형"을 선택, "스키마 및 데이터"또는 "스키마 만"- 기본값).

    그리고 거기 CodePlex의 거의 동일한 기능과 몇 가지 더 (빨리 찾기처럼 등을) 약속 (포함 소스)에 "SSMS 추가 기능"패키지

  2. ==============================

    2.여기에 marc_s '지침에 따라 후 이상으로 노골적인 brainlessness을 위해, 위해 ...

    여기에 marc_s '지침에 따라 후 이상으로 노골적인 brainlessness을 위해, 위해 ...

    ... 그때와 마법사 화면 참조 "소개, 선택 객체, 설정 스크립팅 옵션, 요약, 저장 또는 스크립트를 게시"이전에, 다음, 마무리, 하단에있는 버튼을 취소 할 수 있습니다.

    설정 스크립팅 옵션 단계에서, 당신은 옵션 페이지를 얻기 위해 "고급"을 클릭합니다. Ghlouw가 언급 한 것처럼 그런 다음, 당신은 지금 "스크립트 데이터의 유형"과 이익을 선택합니다.

  3. ==============================

    3.당신이 그것을 SQLServer에 2008R2를 사용하는 경우 스크립트 필드에 데이터 세트 유형에 필요합니다.

    당신이 그것을 SQLServer에 2008R2를 사용하는 경우 스크립트 필드에 데이터 세트 유형에 필요합니다.

  4. ==============================

    4.당신은 SQL 서버 2008 R2를 실행하는 경우 변경된 조금 위에서 설명한 marc_s로 SSMS에서이 작업을 수행하는에 대한 옵션이 내장되어 있습니다. 대신 자신의 그림과 같이 진정한 스크립트 데이터를 = 선택의 그룹화 바로 "표 /보기 옵션"위의 "스크립트 데이터의 유형"라는 새로운 옵션이 생긴 이유입니다. 여기 스크립트 데이터 만, 스키마와 데이터 또는 스키마에만 선택할 수 있습니다. 매력처럼 작동합니다.

    당신은 SQL 서버 2008 R2를 실행하는 경우 변경된 조금 위에서 설명한 marc_s로 SSMS에서이 작업을 수행하는에 대한 옵션이 내장되어 있습니다. 대신 자신의 그림과 같이 진정한 스크립트 데이터를 = 선택의 그룹화 바로 "표 /보기 옵션"위의 "스크립트 데이터의 유형"라는 새로운 옵션이 생긴 이유입니다. 여기 스크립트 데이터 만, 스키마와 데이터 또는 스키마에만 선택할 수 있습니다. 매력처럼 작동합니다.

  5. ==============================

    5.SQL 서버 MNG 스튜디오 2016 :

    SQL 서버 MNG 스튜디오 2016 :

  6. ==============================

    6.명령 줄 버전을 찾는 사람들을 위해, 마이크로 소프트는이 작업을 수행하는 경우 MSSQL - 스크립터를 발표했다 :

    명령 줄 버전을 찾는 사람들을 위해, 마이크로 소프트는이 작업을 수행하는 경우 MSSQL - 스크립터를 발표했다 :

    $ 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
    
  7. ==============================

    7.또한 SQL 서버 관리를위한 "데이터 스크립터 추가 기능"스튜디오 2008에서 체크 아웃 할 수 :

    또한 SQL 서버 관리를위한 "데이터 스크립터 추가 기능"스튜디오 2008에서 체크 아웃 할 수 :

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

    그들의 기능 목록 :

  8. ==============================

    8.위의 모든 좋은,하지만 당신은 필요한 경우

    위의 모든 좋은,하지만 당신은 필요한 경우

    다음 트릭은 유일한 방법입니다.

    먼저 소스 DB 명령 행 클라이언트에서 스풀 파일 또는 내보내기 결과 세트를 작성하는 방법에 대해 알아 봅니다. 두 번째 대상 DB에 SQL 문을 실행하는 방법에 대해 알아 봅니다.

    마지막으로, 소스 데이터베이스는 SQL 스크립트를 실행하여 대상 데이터베이스에 대한 INSERT 문 (및 다른 문을) 만들 수 있습니다. 예를 들면

    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;
    

    위의 예는 이중의 사용이 테이블에없는 선택에 필요한 오라클의 DB를 만들었습니다.

    결과 세트는 대상 DB에 대한 스크립트가 포함됩니다.

  9. ==============================

    9.여기서, 소스 테이블을 반복 커서를 사용하여 데이터 이주 스크립트를 생성하는 예이다.

    여기서, 소스 테이블을 반복 커서를 사용하여 데이터 이주 스크립트를 생성하는 예이다.

    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'
    
  10. ==============================

    10.많이 검색 한 후, 내 최선이었다 :

    많이 검색 한 후, 내 최선이었다 :

    당신은 많은 데이터를 가지고 컴팩트하고 우아한 스크립트를 필요로하는 경우, 그것을 시도 : SSMS 도구 팩

    그것은 꽤 잘 목표 테이블과 손잡이 거래에 항목을 삽입하는 노동 조합 모든 선택 문을 생성합니다.

    스크린 샷

  11. from https://stackoverflow.com/questions/1515969/exporting-data-in-sql-server-as-insert-into by cc-by-sa and MIT license