2012-09-26 4 views
0

SQL Azure 페더레이션에서 고유 한 열을 만들려고하지만 다음 쿼리로 테이블을 만들지 만 여전히 같은 Column1을 사용하여 테이블에 항목을 저장할 수 있습니다 값. 고유 한 열을 설정하는 올바른 방법은 무엇입니까? ID가 federated uniqueidentifier 열인지 확인해야하지만,이 데모에서는 Column1에 중복 값을 사용할 수 없습니다.SQL Azure Federation에서 고유 한 열 만들기

CREATE TABLE dbo.Table1(
     ID uniqueidentifier NOT NULL, 
     Column1 nvarchar(50) NOT NULL, 
     Column2 nvarchar(15) NULL, 
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED 
(
    ID ASC 
), 
CONSTRAINT [PK_Table2] UNIQUE NONCLUSTERED 
(
    ID ASC, 
    Column1 ASC 
) 
) FEDERATED ON ([dist] = ID) 
GO 
+0

정말이 질문을 이해하지 마십시오. Column1에 고유 제한 조건을 작성할 수 없습니까? – Craig

+0

이것은 얼마 전 나의 원래 질문이었습니다 : http://stackoverflow.com/questions/12416925/create-a-table-with-a-primary-key-and-a-separate-unique-column-in-sql- azure-fede 그것은 내가하려고하는 것을 설명합니다. 기본적으로 ID 열은 기본 키가되어야하며 EMAIL_ADDRESS 열은 고유 한 값을 가져야합니다. – Mark13426

답변

0

는 테스트하지 않고,이

CREATE TABLE dbo.Table1(
     ID uniqueidentifier NOT NULL, 
     Column1 nvarchar(50) NOT NULL, 
     Column2 nvarchar(15) NULL, 
CONSTRAINT [PK_Table1] UNIQUE NONCLUSTERED 
(
    ID ASC, 
    Column1 ASC 
) 
) FEDERATED ON ([dist] = ID) 
GO 

CREATE UNIQUE INDEX uix_table1_column1 ON Table1(Column1) 
GO 

이 그럼 당신은 연맹과 별도의 고유 제한 조건을 포괄하는 기본 키가됩니다 할 수 없습니다.

+0

그건 작동하지 않습니다. 다음 오류로 인해 uix_table1_column1이 작성되지 않습니다. "페더 레이 티드 테이블의 고유하거나 클러스터 된 인덱스에 연합 컬럼이 있어야합니다." 나는 ON Table1 (ID, Column1)으로 시도했다. 테이블을 만들 수 있었지만 Column1의 중복 값을 저장할 수있었습니다. – Mark13426

+0

ID 열은 기본 키 여야하며 Column1은 고유 값을 가져야합니다. 따라서 기본적으로 각 열에 중복 값을 저장할 수 없습니다. – Mark13426

+0

나는 너에게 운이 없다고 말할 것이다. 어쨌든 응용 프로그램 계층에서 이와 같은 고유성을 관리하는 것을 선호합니다. – Craig

관련 문제