데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

.Net Framework 4.0과 SQL Server 2008 설치 오류

  • SecurityException / 'The process was terminated' errors installing SQL 2008 when .Net Framework 4.0 is installed

 

  • Version : SQL Server 2008, .Net Framework 4.0

 

SQL Server를 운영, 관리 하는데 있어서 가장 많이 접하는 이슈가 무엇일까? 필자는 개인적으로 SQL Server 프로그램 설치라 생각한다. 대부분의 윈도우 응용프로그램을 사용하는 사용자들은 프로그램 설치를 가장 쉽게 생각할 수도 있지만 다양한 서버의 환경(사용자마다 환경이 모두 동일할 수는 없다.)에서 설치되는 만큼 다양한 케이스의 오류가 발생하기 때문이다.

 

이번 포스트는 Microsoft의 SQL Server Premier Field Engineer Blog에 게시된 내용으로 .Net Framework 4.0과 관련된 설치 이슈이다. 필자가 읽고 이해한 내용을 바탕으로 정리하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고하길 바란다.

 

SQL Server 2008을 새로운 OS 또는 .Net Framework 4.0이 설치된 서버에 설치하려고 할 때 SQL Server 미디어가 UNC 경로에서 실행될 때 에러가 발생한다.

 

 

 

 

.Net 4.0에서는 CAS에 큰 변화가 있다.(http://blogs.msdn.com/b/shawnfa/archive/2010/02/24/so-is-cas-dead-in-net-4-or-what.aspx)

.Net Framework 3.5 이전 버전에서 어셈블리를 원격에서 로드 할 경우 어셈블리는 로드된 영역에서 신뢰할 수 있는 자격으로 실행 된다. 예를 들어 웹사이트에서 어셈블리를 로드할 때 인터넷 영역에 인터넷 권한이 부여되어 로드 된다.즉 인터넷 샌스박드에서 실행 된다. 만약 .Net 4.0 이상 버전에서 해당 어셈블리를 실행하려고 하면 예외가 발생 한다. 이때 사용자는 명시적으로 어셈블리에 대한 샌드박스를 만들어야 한다.

 

 

이 문제에 대해서는 최근 KB가 공개되었지만 아직 모든 해결 방법을 나열되어 있지 않다.

 

 

여기 문제 해결 방법에 대해서 몇 가지 나열해 본다.

  1. 로컬 드라이브에서 설치 하라
  2. SQL 설치 디렉토리의 설정파일(setup.exe.config)에서 V4.0을 삭제한다. (삭제 전 반드시 복사본을 만들어 놓는다.)

 

 

  1. LegacyCasPolicy를 끄고 SQL 설치 디렉토리의 Setup.exe.config에서 실행되는 원격 어셈블리를 허용하고 강조 표시된 요소를 추가한다.

 

 

  1. Use CasPol to trust the UNC share (Using CasPol to Fully Trust a Share ). 보안 파급효과를 이해한다.

 

 

  1. 최후의 수단으로 .Net Framework 4.0을 제거한다.

 

 

SQL Server를 설치하는데 있어서는 처음에 언급한 것 처럼 다양한 환경에서 설치가 이루어지기 때문에 오류 케이스 또한 다양하다. 어떤 시스템을 설치, 변경 하기 전 발생 할 수 있는 다양한 관점에서 검토 후 실행 할 수 있도록 한다.

 

[참고자료]

 

 

 


강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

 

No. Subject Author Date Views
» Net Framework 4.0과 SQL Server 2008 설치 오류 jevida(강성욱) 2016.10.08 1843
1852 SQL Server 인덱스 튜닝 접근 jevida(강성욱) 2016.10.07 3450
1851 Sys.dm_os_performance_counter 해석하기 jevida(강성욱) 2016.10.07 2311
1850 프로파일러를 이용한 중첩된 프로시저 디버깅 jevida(강성욱) 2016.10.07 1571
1849 SAN 스토리지 성능 모니터 - SAN 스토리지를 사용하는 경우 성능 카운터를 어떻게 모니터링 할까? jevida(강성욱) 2016.10.07 1745
1848 저장된 Plan Cache 확인 및 활용 jevida(강성욱) 2016.10.07 4615
1847 Xp_fixeddrives 세부 정보 확인하기 jevida(강성욱) 2016.10.07 1751
1846 강제 매개변수화로 인한 성능 저하 사례 jevida(강성욱) 2016.10.07 1563
1845 파라메터 스니핑과 데이터 스큐 jevida(강성욱) 2016.10.07 1530
1844 DBCC CHECKDB 버그 및 해결 방법 jevida(강성욱) 2016.10.07 1540
1843 NOLOCK HINT 이해 jevida(강성욱) 2016.10.07 7867
1842 인증으로부터 분리된 사용자 방지 jevida(강성욱) 2016.10.07 2222
1841 비관리자 계정으로 쿼리 계획 보기 jevida(강성욱) 2016.10.07 1243
1840 SSMS 폴링 간격 구성 jevida(강성욱) 2016.10.07 1772
1839 Deadlock 감지하여 알림하기 jevida(강성욱) 2016.10.07 1788
1838 Suspect_pages 테이블 이해 및 관리 jevida(강성욱) 2016.10.07 1371
1837 SSRS SocketException jevida(강성욱) 2016.10.07 1473
1836 파티션 분할 시 I/O 최소화 하기 jevida(강성욱) 2016.10.07 1864
1835 대량 BCP 작업 시 발생하는 오류 (665, 1450, 33) jevida(강성욱) 2016.10.07 1653
1834 기본 추적(default tace) 활성화 및 로그 확인 jevida(강성욱) 2016.10.07 1393





XE Login