성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
[정성태] 만드실 수 있습니다. 단지, Unity 엔진 내의 스크립트와 W...
[공진영] 안녕하세요 좋은글 감사합니다. 현재 제가 wpf로 관제 모...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>TFS 2012 Express의 필수 보완 작업: 데이터베이스 백업</h1> <p> 며칠 전에, 집에 있는 컴퓨터의 하드 디스크 하나가 장애가 발생했습니다. RAID 1로 묶여져 있는 하드라서 다행히 데이터 손실 없이 지나갈 수 있었는데요. 이처럼, 항상 컴퓨터 부품은 어느 때든지 손상이 발생할 수 있음을 기본으로 가정해야 한다는 것을 잊으면 안됩니다. ^^<br /> <br /> 이런 이유로, 보통 <a target='tab' href='http://www.sysnet.pe.kr/2/0/1330'>TFS Express를 로컬 소스 세이프처럼 사용</a>하는 '노트북 사용자'라면 '백업'이 필수라고 할 수 있는데, TFS는 이런 상황에 대한 쉬운 해결책으로 "Power Tools"를 제공하고 있습니다.<br /> <br /> 그리고, 마침 "TFS 2012" 버전에 대해서도 얼마 전에 공개가 되어 소개해 드립니다. ^^<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Microsoft Visual Studio Team Foundation Server 2012 Power Tools ; <a target='tab' href='https://marketplace.visualstudio.com/items?itemName=TFSPowerToolsTeam.MicrosoftVisualStudioTeamFoundationServer2012Power'>https://marketplace.visualstudio.com/items?itemName=TFSPowerToolsTeam.MicrosoftVisualStudioTeamFoundationServer2012Power</a> </pre> <br /> 백업 방법에 관해서는 다음의 글에서 2010을 기준으로 설명을 하고 있지만 2012와 비교해 크게 다르지 않습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > TFS 2010 Power Tools + TFS Backup and Restore Hands on Lab ; <a target='tab' href='http://myalmblog.com/2010/09/12/tfs-2010-power-tools-tfs-backup-and-restore-hands-on-lab/'>http://myalmblog.com/2010/09/12/tfs-2010-power-tools-tfs-backup-and-restore-hands-on-lab/</a> </pre> <br /> 이 프로그램을 "TFS 2012 Power Tools"를 TFS 2012 Express가 있는 컴퓨터에 설치하면 "Team Foundation Server Express Administration Console"에 "Database Backup Tools"라는 항목이 더 추가됩니다.<br /> <br /> <img alt='howto_tfs_backup_1.png' src='/SysWebRes/bbs/howto_tfs_backup_1.png' /><br /> <br /> 어차피 저도 백업 수단을 강구해야 하므로, 위의 글을 보면서 따라 했는데요. 백업 파일이 놓일 경로는 UNC 경로이긴 하지만, 어쨌든 형식만 맞추면 되므로 그냥 "\\[로컬컴퓨터이름]\..."와 같은 식으로 지정할 수 있어서 반드시 네트워크 컴퓨터일 필요는 없습니다.<br /> <br /> 그런데, 모든 설정을 완료한 후 "Readiness Checks Validate that Your System is Ready to Configure" 단계에서 꼭 마지막 단계의 "Permissions" 확인에서 오류가 발생했습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Account [계정명] failed to create backups using path \\targetpc\tfs_backup [Info @02:44:15.403] +-+-+-+-+-| Verify backups can be created |+-+-+-+-+- [Info @02:44:15.403] Starting Node: VerifyTestBackupCreated [Info @02:44:15.403] NodePath : Container/Progress/VerifyTestBackupCreated [Info @02:44:15.407] Creating dummy database to test backup. [Info @02:44:22.046] Node returned: Error [Error @02:44:22.046] Account [계정명] failed to create backups using path \\targetpc\tfs_backup [Info @02:44:22.046] Completed VerifyDummyBackupCreation: Error [Info @02:44:22.046] ----------------------------------------------------- </pre> <br /> 이와 관련해서 많은 질의/응답들이 있는데 참고하시고요.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Creating a backup in Team Foundation Server 2010 using the Power Tools ; <a target='tab' href='http://blog.hinshelwood.com/creating-a-backup-in-team-foundation-server-2010-using-the-power-tools/'>http://blog.hinshelwood.com/creating-a-backup-in-team-foundation-server-2010-using-the-power-tools/</a> </pre> <br /> 이벤트 로그를 살펴보니, 제 경우에 다음과 같은 오류가 눈에 띕니다.<br /> <br /> <div style='BACKGROUND-COLOR: #ccffcc; padding: 10px 10px 5px 10px; MARGIN: 0px 10px 10px 10px; FONT-FAMILY: Malgun Gothic, Consolas, Verdana; COLOR: #005555'> BackupDiskFile::CreateMedia: Backup device '\\targetpc\tfs_backup\temp_20120920204415.bak' <span style='color: blue; font-weight: bold'>failed to create. Operating system error 5(Access is denied.).</span> <br /> BACKUP failed to complete the command BACKUP DATABASE temp_20120920204415. Check the backup application log for detailed messages.<br /> </div><br /> <br /> 조사 결과, 제 SQL 서버 프로세스 - sqlservr.exe가 "NETWORK Service" 계정으로 실행 중임을 작업관리자를 통해서 알게 되었습니다. 즉, (로컬) 공유 폴더에는 그 계정으로 권한이 없었기 때문에 이런 오류가 났던 것입니다.<br /> <br /> 해결은 일단, 공유 폴더 측에 "NETWORK Service" 계정으로 권한을 주었습니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 백업을 했다면 복원을 해야겠지요. 최악의 경우로, 제 노트북이 망가진 걸로 가정하고 작업을 진행해 보겠습니다.<br /> <br /> TFS Power Tools의 "Database Backup Tools" 기능을 이용해서 백업을 한 경우, 다음의 글에서 설명한 방법을 따르면 쉽게 복원이 가능합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Restore the Databases ; <a target='tab' href='https://docs.microsoft.com/en-us/azure/devops/server/admin/backup/tut-single-svr-restore-dbs'>https://docs.microsoft.com/en-us/azure/devops/server/admin/backup/tut-single-svr-restore-dbs</a> </pre> <br /> 우선, 새롭게 운영체제를 설치한 컴퓨터에 SQL Server 2012 Express를 설치한 후, SSMS 도구를 실행해서 백업했던 모든 DB를 "Restore Database" 메뉴를 이용해서 복원합니다.<br /> <br /> 보통, bak (Full 백업) 파일과 trn (트랜잭션) 파일로 백업이 되어 있을 텐데요. SQL 서버의 DB 복원 방법을 모른다면 꼭 <a target='tab' href='https://docs.microsoft.com/en-us/azure/devops/server/admin/backup/tut-single-svr-restore-dbs'>Restore the Databases</a> 글에 나온 방법을 참고하시기 바랍니다. 안 그러면, 저처럼 ^^ 트랜잭션 파일을 복원할 때 다음과 같은 오류를 만나게 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > The log or differential backup cannot be restored because no files are ready to rollforward. ; <a target='tab' href='http://justgeeks.blogspot.kr/2009/03/log-or-differential-backup-cannot-be.html'>http://justgeeks.blogspot.kr/2009/03/log-or-differential-backup-cannot-be.html</a> </pre> <br /> 일단, DB 복원만 되었으면 다음 절차는 간단합니다. TFS Express를 설치하고, "Configuration Center" 창이 뜨면 "Application-Tier Only" 옵션으로 마법사를 시작해서 설정 작업을 마무리 해주시면 됩니다.<br /> <br /> 모든 설정이 완료되고, "http://localhost:8080/tfs"로 접속하면 정상적으로 Web Access가 되는 것을 확인할 수 있습니다. <br /> <br /> 즉, Active Directory가 아니어도, 아무런 계정 문제 없이 정상적으로 백업/복원이 가능하다는 것!<br /> <br /> 참고로, 제 경우에는 TFS DB를 로컬 PC에 백업하고, 그 백업 폴더를 윈도우 8의 백업 기능에 포함시켜 두었습니다. 역시... 백업이 되어야 안심하고 컴퓨터를 사용할 수 있습니다. ^^<br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1515
(왼쪽의 숫자를 입력해야 합니다.)