Programing

SQL Server-데이터베이스 테이블의 복사본을 만들어 동일한 데이터베이스에 배치 하시겠습니까?

lottogame 2020. 9. 15. 19:10
반응형

SQL Server-데이터베이스 테이블의 복사본을 만들어 동일한 데이터베이스에 배치 하시겠습니까?


데이터베이스 DB에 ABC 테이블이 있습니다. 동일한 DB에 이름이 ABC_1, ABC_2, ABC_3 인 ABC의 복사본을 만들고 싶습니다. Management Studio (권장) 또는 SQL 쿼리를 사용하여 어떻게 할 수 있습니까?

SQL Server 2008 R2 용입니다.


사용 SELECT ... INTO:

SELECT *
INTO ABC_1
FROM ABC;

이렇게하면 ABC_1열 구조 ABC가 같고 동일한 데이터를 포함 하는 새 테이블이 생성 됩니다. 그러나 제약 조건 (예 : 키, 기본값)은 복사되지 않습니다.

매번 다른 테이블 이름으로이 쿼리를 여러 번 실행할 수 있습니다.


데이터를 복사 할 필요가없는 경우 동일한 열 구조로 새 빈 테이블을 생성 WHERE하기 위해서만 허위 표현식이 있는 절을 추가합니다 .

SELECT *
INTO ABC_1
FROM ABC
WHERE 1 <> 1;

SSMS UI를 통한 스키마 복사 (DDL 생성)

SSMS에서 개체 탐색기 에서 데이터베이스를 확장하고 테이블 로 이동하여 관심있는 테이블을 마우스 오른쪽 단추로 클릭하고 다음으로 스크립트 테이블 , 만들기 대상 , 새 쿼리 편집기 창을 선택 합니다. 검색 (find)를하고 (대체 CTRL + H를 (넣어 즉 테이블 이름을 변경) ABC어떤 찾기 필드 ABC_1바꿀 클릭 한 다음 확인을 ).

T-SQL을 통해 스키마 복사

SQL로 이것을 수행하는 방법을 보여주는 다른 답변도 잘 작동하지만이 방법의 차이점은 인덱스, 제약 조건 및 트리거도 얻을 수 있다는 것입니다.

데이터 복사

데이터를 포함하려면이 테이블을 만든 후 아래 스크립트를 실행하여 ABC의 모든 데이터를 복사합니다 (ID 필드가있는 경우 동일한 ID 값 유지).

set identity_insert ABC_1 on
insert into ABC_1 (column1, column2) select column1, column2 from ABC
set identity_insert ABC_1 off

모든 제약 조건 및 키를 사용하여 테이블을 복제하려면 다음 단계를 따르십시오.

  1. SQL Management Studio에서 데이터베이스를 엽니 다.
  2. 복제하려는 테이블을 마우스 오른쪽 버튼으로 클릭합니다.
  3. 스크립트 테이블을-> 만들기 대상-> 새 쿼리 편집기 창으로 선택합니다. 그러면 새 쿼리 창에서 테이블을 다시 만드는 스크립트가 생성됩니다.
  4. 스크립트에서 테이블 이름과 상대 키 및 제약 조건을 변경합니다.
  5. 스크립트를 실행하십시오.

그런 다음 데이터를 복사하려면 아래 스크립트를 실행하십시오.

SET IDENTITY_INSERT DuplicateTable ON

INSERT Into DuplicateTable ([Column1], [Column2], [Column3], [Column4],... ) 
SELECT [Column1], [Column2], [Column3], [Column4],... FROM MainTable

SET IDENTITY_INSERT DuplicateTable OFF

첫 번째 옵션

select *
  into ABC_1
  from ABC;

두 번째 옵션 : SSIS 사용, 즉 개체 탐색기에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭> 모든 작업> 데이터 내보내기

  • 소스 및 대상 : DB
  • 소스 테이블 : ABC
  • 대상 테이블 : ABC_1 (테이블이 생성됨)

이것은 또 다른 옵션입니다.

select top 0 * into <new_table> from <original_table>

use sql server manegement studio or netcat and that will be easier to manipulate sql


You need to write SSIS to copy the table and its data, constraints and triggers. We have in our organization a software called Kal Admin by kalrom Systems that has a free version for downloading (I think that the copy tables feature is optional)

참고URL : https://stackoverflow.com/questions/15428168/sql-server-create-a-copy-of-a-database-table-and-place-it-in-the-same-database

반응형