2014-07-20 3 views
1

난 레일 애플 리케이션을 가지고 원래 SQL Server에서 데이터베이스를 로컬로 설정했다. 최근 Azure SQL Server로 옮겨서 변경 사항을 로컬로 다시 복사했습니다. 데이터베이스를 가져 와서 모든 테이블과 데이터를 복제했지만 모든 기본 키와 인덱스가 없어졌습니다. rake 명령이나 rails 명령을 실행하여 이러한 키/인덱스를 다시 추가 할 수 있습니까?레일스에서 ​​테이블의 색인을 어떻게 복원합니까?

+0

데이터베이스를 어떻게 복원 했습니까? – vee

+0

vee, 내가 만든 새 DB의 상황에 맞는 메뉴에서 데이터 가져 오기를 사용하여 SSIS를 통해. 그런 다음 ADO.net 연결 문자열로 데이터베이스에 연결하고 마법사의 나머지 기본값을 사용했습니다. – daveomcd

+0

필자에게는 Azure SQL 서버가 없지만 SQL Server의'모든 작업 '메뉴에서'backup'과'restore'를 사용할 수 있습니다. 가져 오기/내보내기 데이터에는 키와 색인이 포함되지 않습니다. – vee

답변

0

필자는 Azure 데이터베이스에서 bacpac 파일을 작성하고이를 SQL Server 내의 데이터 계층 응용 프로그램으로 가져 왔습니다.

BACPAC는

  1. 이 푸른 포털로 이동하여 파일 만들기.
  2. 메뉴에서 "저장소"를 선택하고 새 저장소를 만듭니다. 방금 URL을 지정하고 저장 계정 생성을 클릭했습니다. 새 저장소를 만들려면 1 분 정도 걸립니다.
  3. 저장소가 생성되면 SQL 데이터베이스로 이동하십시오. bacpac 파일을 만들 데이터베이스를 열고 포털의 하단에서 '내보내기'를 선택하십시오. 스토리지 계정을 선택하고 자격 증명을 제공하여 내보내기 마법사를 수행하십시오.

    SSMS 가져 오기 데이터 계층 응용 프로그램을 마우스 오른쪽 개체 탐색기에서 연결에서 데이터베이스 폴더를 클릭합니다.

  4. "데이터 계층 응용 프로그램 가져 오기"를 클릭하고 마법사를 따르십시오. "설정 가져 오기"로 가면 Azure 포털에서 다운로드 한 bacpac 파일을 선택하십시오.

0

아마도 rake db : create, rake db : migrate 등을 통해 자동 생성 된 SQL 스크립트 파일을 가지고있을 것입니다.이 파일은 일반적으로 'db/structure.sql'에서 사용할 수 있습니다. 이 스크립트를 실행할 수 있습니다. CREATE TABLE 문을 수동으로 제거하지만 ALTER SEQUENCE, ALTER TABLE, CREATE INDEX 문은 유지해야합니다.

관련 문제