0

VS2010 코드와 SQL Server 2008r2를 MVC3 웹 응용 프로그램과 함께 사용하면 SetInitializer가 모델 변경 또는 누락시 예상대로 db를 만듭니다.VS2010 코드 첫 번째 MVC3 SQL 기본 Logfile.ldf 이름 형식이 무시되고 두 번째 logfile_log.ldf 파일이 생성됩니다.

생성 된 db는 filename.mdb 형식과 ** logfile database.ldf 형식을 갖습니다 (이 기본 "name.ldf"형식을 "name_log.ldf"형식으로 변경할 수 있습니까?).

VS2010 서버 탐색기 (솔루션 탐색기에서 db를 두 번 클릭)를 사용하여 데이터베이스를 열면 VS2010에서 database_log.ldf 형식의 새로운 두 번째 로그 파일을 만듭니다.

이제 VS2010 서버 탐색기에서 데이터베이스를 탐색 할 수 있지만 더 이상 디버깅, 드롭 크리에이트 모델 변경 또는 기타 db를 사용할 수 없습니다.

표시된 오류를 디버그하려고 할 때 : { "하나 이상의 파일이 데이터베이스의 기본 파일과 일치하지 않습니다. 데이터베이스를 연결하려는 경우 올바른 파일을 사용하여 작업을 다시 시도하십시오. 기존 데이터베이스에서 파일이 손상되어 백업에서 복원해야합니다. \ r \ n 로그인으로 요청 된 데이터베이스 \ "데이터베이스 \"를 열 수 없습니다. 로그인에 실패했습니다. \ r \ n 사용자 'My-PC \ Me' . \ r \ n 로그 파일 'C : \ Users \ Me \ project \ App_Data \ database.ldf'이 기본 파일과 일치하지 않습니다. 다른 데이터베이스의 로그 파일이거나 로그가 이전에 다시 작성되었을 수 있습니다. "} .. 프로젝트가 현재 로그 파일을 "database.ldf"로 예상하기 때문에 충분히 공정합니다.

ASPNETDB.MDF 및 aspnetdb_log.ldf 파일/이름도 만들어지며 기본 로그 파일 이름 문제가 없으므로이 문제는 ASPNETDB에는 적용되지 않습니다.

"database.ldf"대신 "database_log.ldf"형식의 로그 파일 이름을 만들도록 SetInitializer의 기본 로그 파일 이름을 변경할 수 있습니까? 나는 성공없이 인터넷 검색을했고 VS2010에서 찾을 수있는 모든 설정과 옵션을 살펴 보았습니다. 형식이 손으로 편집 할 수있는 설정 파일에 저장되어 있습니까?

답변

0

VS2010에서 데이터베이스를 계속 사용하려면 database.ldf 로그 파일을 삭제하고 새 database_log.ldf 파일의 이름을 원래 database.ldf 이름으로 변경해야합니다. 우아하지 않거나 정확하지는 않지만 개발을 위해 작동합니다.

동일한 VS2010 환경 내에서 개발 프로세스의 여러 단계에서 두 번째로 다른 이름의 로그 파일을 만드는 한 가지 버전의 로그 파일과 서버 탐색기를 생성하는 codefirst의 잘못된 동작은 다루지 않습니다.

0

VS2010 Express 및 SServer 2012 Express를 사용하여 정확히 동일한 문제가 발생했습니다. 저는 Julie Lerman의 Programming Programming Programming Entity Framework 2 판을 통해 일하려고합니다.

로그 파일의 이름을 바꾸는 것보다 더 좋은 해결책이 있습니까? 파일의 이름을 바꾸려고 시도했지만 Windows에서 VS와 SSMS를 모두 종료해도 파일이 사용 중임을 알립니다. DB에 대한 Process Explorer 검색은 SServer에서 파일을 사용하고 있음을 알려줍니다.

내가해야 할 일은 DB 연결 마법사를 사용하여 연결 문자열을 만들려고 시도하는 것이며 SServer의 DB에서 "추가"로그 파일이 만들어지고 동일한 메시지가 나타납니다.

VS2010Ex의 버그입니까? 사용 가능한 패치가 있습니까? VS2010이 DB를 손상시키지 않게하려면 어떻게해야합니까?여기

는 DB를 만든 후 디렉토리이지만, VS에서 아무것도 시도하기 전에 : 여기
E:\Program Files (x86)\Microsoft SQL Server\MSSQL11.SAMPLES\MSSQL\DATA>dir programmingefdb2* 
Volume in drive E is JET20110708-1 
Volume Serial Number is EA22-1F7C 

Directory of E:\Program Files (x86)\Microsoft SQL Server\MSSQL11.SAMPLES\MSSQL\DATA 

08/09/2013 11:39 AM 10,485,760 PROGRAMMINGEFDB2_Data.mdf 
08/09/2013 11:39 AM 1,310,720 PROGRAMMINGEFDB2_Log.ldf 
2 File(s) 11,796,480 bytes 
0 Dir(s) 250,238,443,520 bytes free 

은 VS 프로젝트 만도 업데이트 코드를 실행하려고하지 않고 연결을 한 후 디렉토리입니다 (그리고 데이터베이스를 프로젝트에 복사하지 않고) :

E:\Program Files (x86)\Microsoft SQL Server\MSSQL11.SAMPLES\MSSQL\DATA>dir programmingefdb2* 
Volume in drive E is JET20110708-1 
Volume Serial Number is EA22-1F7C 

Directory of E:\Program Files (x86)\Microsoft SQL Server\MSSQL11.SAMPLES\MSSQL\DATA 

08/09/2013 11:51 AM 10,485,760 PROGRAMMINGEFDB2_Data.mdf 
08/09/2013 11:51 AM 516,096 PROGRAMMINGEFDB2_Data_log.ldf 
08/09/2013 11:39 AM 1,310,720 PROGRAMMINGEFDB2_Log.ldf 
3 File(s) 12,312,576 bytes 
0 Dir(s) 250,237,927,424 bytes free