0

클러스터 된 인덱스가 필요한 하늘에 데이터베이스가 있습니다. 새로운 비동기 기능을 사용하고 싶기 때문에 Entity-Framework 6 Alpha 2를 사용하고 싶습니다. SQL Server 2012를 사용하여 로컬 컴퓨터에서 테스트 할 때마다 문제가 없지만 다음과 같은 오류가 발생합니다.Entity Framework 6 Alpha 2를 사용하는 기존 Azure 데이터베이스

클러스터 된 인덱스가없는 테이블은이 SQL Server 버전에서 지원되지 않습니다. 클러스터 된 색인을 생성하고 다시 시도하십시오.

빈 데이터베이스로 테스트 할 때 모든 기본 키가 클러스터 된 인덱스이기 때문에 어떻게해야할지 모릅니다.

아이디어가 있으십니까?

답변

0

"Windows Azure의 기존 데이터베이스"와 EF 6과 함께 사용하여 상황에 대한 설명을 추가 하시겠습니까? 우선 - EF CodeFirst, ModelFirst, DatabaseFirst를 사용하고 있습니까? 그런 다음 기존 데이터베이스가 실제로있는 경우 어떻게 작성 했습니까? 일부 마법사 (SSMS, SQL Azure Migration Wizard, EF CodeFirst 등)를 사용하여 수동으로 DB + 스키마를 생성합니다. 이 기존 DB가 Azure에서 어떻게 종료 되었습니까?

그런 다음 전체 오류 메시지를 추적하여 발생하는 테이블을 확인하고 해당 테이블의 클러스터 된 인덱스를 수동으로 추가하십시오. 기본적으로 SQL Server에서 만드는 모든 기본 키는 기본적으로 CLUSTERED입니다. 그러나 테이블이 먼저 작성된 경우 기본 키는 별도의 DDL 문 (ALTER TABLE ....)으로 추가되었으므로 CLUSTERED로 작성되지 않았을 수 있습니다.

메시지가 명확합니다. 먼저 클러스터 된 색인을 만드십시오. 어떤 테이블이 SQL Azure인지 불평하고 클러스터 된 인덱스를 만듭니다. 열이 포함 된 확인을 삭제하고 클러스터로 다시 - 그것은 기본 키가있는 경우

ALTER TABLE [dbo].[Individual] 
ADD CONSTRAINT [PK_Individual_CustomerID] 
PRIMARY KEY CLUSTERED 
(
[CustomerID] ASC 
) 

을 : 그것은 기본 키가있는 경우, 다만 CLUSTERD로 하나를 추가 할 수 있습니다.