2014-05-18 1 views
0

모든 sql 개체가 포함 된 .sqlproj 파일을 만드는 경우 왜 mdf, ldf 파일을 VS Team에 넣어야합니까? 서비스 소스 저장소? .mdf에 모든 데이터가 포함되어 있지 않습니까? 그게 사실이라면 내 레포에 모든 데이터를 저장하고 싶지 않을 것입니다. 데이터베이스를 다시 생성해야한다면 항상 localdb에 데이터베이스를 게시 할 수 있습니까? 가장 좋은 방법은 무엇입니까?내 .mdf 및 .ldf 파일을 내 코드에서 Visual Studio Team Services 리포지토리에 넣어야합니까?

답변

0

실제 .MDF 및 .LDF 파일을 소스 제어하지 않습니다. 실제 데이터가 들어 있습니다.

그러나 디스크의 .MDF 및 .LDF 파일이있는 곳을 제어하는 ​​것이 바람직한 경우가 있습니다. 이 경우 .sqlproj 파일에 MDF/LDF 파일의 위치를 ​​정의하는 파일 그룹 파일을 포함하는 것이 좋습니다.

예를 들어, 데이터를 저장하려는 D 드라이브가 크고 인덱스를 저장할 SSD로 구성된 빠른 E : 드라이브가 있다고 가정합니다. 당신의 .sqlproj 저장 폴더, 당신은 수 있습니다

  • 것은
  • 이 새로운> 파일 그룹을 새 항목을 추가하고
  • 추가 인덱스라는 파일 그룹을 만들고 데이터
  • 라는 파일 그룹을> 파일 그룹을 새 항목을 추가 작성 항목> 파일 그룹의 파일 및 파일을 만들 수는
  • , 당신을 새 항목> 파일 그룹의 파일을 추가하고 파일이

그리고 $ (데이터베이스 이름) .Indexes.ldf라는 만들 $ (데이터베이스 이름) .Data.ldf라고 테이블을 수정하여 ON { FileGroup} 절은 다음과 같습니다.

CREATE TABLE [dbo].[MyTable] (
    MyTableID INT IDENTITY(1,1) NOT NULL, 
    OtherIndexField NVARCHAR(50) NULL, 
    ... 
    CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED ([MyTableID] ASC) 
) ON [Data]; 

CREATE NONCLUSTERED INDEX [IX_MyTableByOtherIndexField] 
    ON [dbo].[MyTable]([OtherIndexField] ASC) 
    ON [Index]; 
관련 문제