SQL Server 에서 데 이 터 를 옮 기 는 몇 가지 방법

1.도구"DTS"의 디자이너 를 통 해 가 져 오 거나 내 보 내기
DTS 의 디자이너 기능 이 강하 고 다 중 태 스 크 를 지원 하 며 시각 화 인터페이스 로 조작 하기 쉽 지만 아 는 사람 이 많 지 않 습 니 다.SQL Server 데이터베이스 의 일부 표 만 이동 하면 이런 방법 이 가장 좋 습 니 다.물론 모든 표 의 이동 도 할 수 있 습 니 다.SQL Server Enterprise Manager 에서 서버 왼쪽+를 펼 치고 데이터 베 이 스 를 선택 하고 오른쪽 클릭 하여 All tasks/Import Data.또한 DTS 패키지 로 저장 할 수 있 습 니 다.나중에 같은 복사 작업 이 있 으 면 DTS 패 키 지 를 직접 실행 하면 됩 니 다.시간 과 힘 을 절약 할 수 있 습 니 다.DTS 디자이너 를 직접 열 수도 있 습 니 다.방법 은 서버 이름 아래 의 Data Transformation Services 를 펼 치고 Local Packages 를 선택 하여 오른쪽 창 에서 오른쪽 클릭 하고 New Package 를 선택 하면 DTS 디자이너 를 엽 니 다.주의해 야 할 것 은 원본 데이터 베 이 스 를 복사 할 표 에 외 키 가 있 으 면 이동 순 서 를 주의 하고 분할 이동 을 해 야 합 니 다.그렇지 않 으 면 외 키 메 인 키,색인 을 잃 어 버 릴 수 있 습 니 다.이동 할 때 옵션 옆 에 있 는 힌트 가 명확 하거나 대상 데이터 베이스 에 한꺼번에 복사 한 다음 에 외 키,메 인 키,색인 을 다시 만 듭 니 다.
설명:데이터 베 이 스 를 구축 할 때 외부 키,메 인 키,색인 파일 은 폼 파일 과 분리 되 어야 하 며 사용 하 는 데이터 파일 도 분리 되 어 서로 다른 드라이브 에 각각 놓 으 면 데이터 베이스 최적화 에 유리 합 니 다.
2."Bcp"도구 이용
이 도 구 는 SQL Server 7 버 전에 서 는 추천 하지 않 지만 많은 데이터베이스 관리자 들 이 사용 하 는 것 을 좋아 합 니 다.특히 SQL Server 초기 버 전 을 사용 한 사람 입 니 다.Bcp 는 한계 가 있 습 니 다.먼저 인터페이스 가 도형 화 된 것 이 아니 라 SQL Server 의 표(보기)와 텍스트 파일 사이 에서 복사 되 는 것 이 장점 입 니 다.그러나 성능 이 좋 고 비용 이 적 으 며 메모리 사용량 이 적 고 속도 가 빠르다 는 것 이 장점 입 니 다.관심 있 는 친 구 는 참고 수첩 을 찾 아 볼 수 있다.
3.백업 및 복구 직접 활용
먼저 원본 데이터 베 이 스 를 완전히 백업 하고 장치(device)에 백업 한 다음 에 백업 파일 을 목적 서버 에 복사 해 야 합 니 다(복구 속도 가 빠 릅 니 다).데이터 베 이 스 를 복원 하 는 작업 을 해 야 합 니 다.복 구 된 데이터 베이스 이름 에 원본 데이터 뱅 크 의 이름(이름 은 같 아야 합 니 다)을 입력 하고 강제 복구(이전 데이터 베 이 스 를 덮어 쓸 수 있 는 옵션)를 선택 하 십시오.장치 에서 복 구 를 선택 하고 탐색 할 때 백업 한 파일 을 선택 하면 됩 니 다.이 방법 은 외부 키,메 인 키,색인 을 포함 하여 데이터 베 이 스 를 완전히 복구 할 수 있다.
4.데이터 파일 직접 복사
데이터베이스 의 데이터 파일(*.mdf)과 로그 파일(*.ldf)을 대상 서버 에 복사 하여 SQL 에 복사 합 니 다.   Server   Query   Analyzer 에서 구문 으로 복구:

EXEC   sp_attach_db   @dbname   =   'test',  
@filename1   =   'd:mssql7data   est_data.mdf',  
@filename2   =   'd:mssql7data   est_log.ldf'
이렇게 해서 test 데이터 베 이 스 를 SQL 에 추가 합 니 다.   Server 에 서 는 평소 대로 사용 할 수 있 습 니 다.원래 로그 파일 을 사용 하지 않 으 려 면 다음 명령 을 사용 하 십시오.

EXEC   sp_detach_db   @dbname   =   'test'  
EXEC   sp_attach_single_file_db   @dbname   =   'test',  
@physname   =   'd:mssql7data   est_data.mdf'
이 문장의 역할 은 데이터 파일 만 불 러 오 는 것 입 니 다.로그 파일 은 SQL 에서 사용 할 수 있 습 니 다.   서버 데이터 베 이 스 는 자동 으로 추가 되 지만 원래 로그 파일 에 기 록 된 데 이 터 를 잃 어 버 렸 습 니 다.
5.프로그램 에서 맞 춤 형 제작
응용 프로그램(PB,VB)에서 자신 이 작성 한 프로그램 을 실행 할 수 있 고 Query Analyzer 에서 도 실행 할 수 있 습 니 다.이런 방법 은 비교적 유연 합 니 다.사실은 한 플랫폼 을 이용 하여 데이터 베 이 스 를 연결 하 는 것 입 니 다.플랫폼 에서 사용 하 는 주요 시간 에 SQL 문 구 는 데이터 베이스 에 미 치 는 영향 이 적 습 니 다.그러나 원 격 링크 서버 를 사용 하면 네트워크 간 의 전송 성능 이 좋 습 니 다.일반적으로 두 가지 문구 가 있다.

1>select   ...   into   new_tablename   where   ...  
2>insert   (into)   old_tablename   select   ...   from   ...   where   ...
차이 점 은 전자 가 데 이 터 를 새로운 표 에 삽입 하 는 것 이다(먼저 표를 만 들 고 데 이 터 를 삽입 하 는 것).후 자 는 데 이 터 를 이미 존재 하 는 표 에 삽입 하 는 것 이다.저 는 개인 적 으로 후 자 를 좋아 합 니 다.프로 그래 밍 의 구조 에서 응용 범위 에서 두 번 째 문 구 는 전자 보다 강하 기 때 문 입 니 다.
6.SQL Server 의 복사 기능
SQL Server 는 강력 한 데이터 복사 기능 을 제공 하고 가장 파악 하기 어 려 운 것 입 니 다.구체 적 인 응용 은 관련 자 료 를 참고 하 십시오.주의해 야 할 것 은 데이터 복사 작업 을 성공 적 으로 진행 하려 면 일부 조건 이 없어 서 는 안 됩 니 다.
(1)SQL   Server   Agent 를 시작 해 야 합 니 다.MSDTC 를 시작 해 야 합 니 다.
(2)복사 할 시 계 는 홈 키 가 있어 야 합 니 다.
(3)표 에 text 나 image 데이터 형식 이 있 으 면 with 를 사용 해 야 합 니 다.   log 옵션,with 사용 불가   no_log 옵션.
그리고 max   text   repl   size 옵션 은 복사 할 수 있 는 텍스트 와 이미지 데이터 의 최대 규 모 를 제어 합 니 다.이 제한 을 초과 하 는 작업 은 실 패 됩 니 다.
(4)복사 할 컴퓨터 에 서 는 최소한 공유 가 포함 되 어 있어 야 합 니 다.즉,공유 이름 은 C$또는 D$입 니 다.
(5)SQL   서버 에이전트 에서 사용 하 는 윈도   NT 계 정 은 로 컬 시스템 계 정 이 될 수 없습니다.로 컬 시스템 계 정 은 네트워크 액세스 가 허용 되 지 않 기 때 문 입 니 다.
(6)복사 에 참여 하 는 서버 가 다른 컴퓨터 도 메 인 에 있 으 면 이 도 메 인 간 에 신뢰 관 계 를 구축 해 야 한다.

좋은 웹페이지 즐겨찾기