카테고리 보관물: Sql

sql

설치 미디어없이 SQL Server 2014 Standard Edition을 제거하는 방법은 무엇입니까? Server 2014를

몇 년 동안 개발자 상자에 SQL Server 2014 Standard 사본이 기본 인스턴스로 설치되어 있습니다. MSDN 구독을 통해 사용할 수있는 무료 라이센스가 있기 때문에 컴퓨터에 표준을 설치했습니다. 이제 SQL Server 2014를 제거하고 SQL Server 2017 Developer Edition을 기본 인스턴스로 만들고 싶습니다. 표준 프로그램 추가 / 제거 워크 플로를 통해 SQL Server 2014를 제거하려고했지만 제거 할 기능을 묻는 메시지가 표시되면 제거 미디어가 포함 된 디렉터리를 묻는 메시지가 나타납니다. 불행히도 MSDN에서 얻은 SQL Server 2014 다운로드 패키지를 저장하지 않아 더 이상 MSDN에 액세스 할 수 없습니다. 또한 Visual Studio를 확인했지만 SQL Server 2016으로 돌아갑니다. 설치 미디어없이 SQL Server 2014 Standard를 제거하려면 어떻게해야합니까?


추가 배경 :

SQL Server 2014를 제거하려는 전체 이유 STRING_AGG는 Azure SQL Databases 및 SQL Server 2017에 새로운 기능 을 사용하고 싶기 때문입니다 . 개발 환경을보다 쉽게 ​​설정하기 위해 로컬 환경 개발 연결 문자열에 도트 표기법을 사용합니다. 우리의 연결 문자열은 다음과 같습니다

Data Source=.;Initial Catalog=<Database Name>;Trusted_Connection=True;Connection Timeout=30; 

점 표기법은 기본 데이터베이스에 연결되며 SQL Server 2014를 먼저 제거하지 않고는 SQL Server 2017을 기본 데이터베이스로 만들 수 없습니다. 도트 표기법 연결 문자열을 사용하여 SQL Server 2014를 제거하지 않고 SQL Server 2017에 연결할 수 있으면 해당 솔루션을 사용할 수 있습니다.



답변

SQL Server 2014 평가판 * 를 다운로드하여 SQL Server 2014 인스턴스를 제거 할 수있었습니다 . 평가판을 다운로드하려면 Microsoft에 연락처 정보를 제공 한 다음 두 파일을 다운로드해야했습니다. 한 파일은 .box확장자가 있고 다른 하나는 .exe확장자 가있었습니다 . 실행 파일은 상자 파일의 압축을 풀고있는 것처럼 보였습니다. 상자 파일의 압축을 푼 후 표준 프로그램 추가 / 제거 워크 플로를 통해 SQL Server 2014 제거 프로세스를 다시 시작했습니다. 평가판을 설치하지 않았습니다. 압축 해제 된 파일을 사용하여 기존 SQL Server 2014 인스턴스를 제거했습니다.

데이터베이스 구성 요소를 제거하기로 선택했지만 공유 구성 요소는 그대로 둡니다. 제거 프로세스가 설치 미디어를 요청하기 시작하면 다양한 .msi파일을 요구한다는 것을 알았습니다 . 대부분의 경우 파일 이름에 “loc”가있는 msi 파일을 요청하고 파일 이름에 “loc”가없는 msi 파일이 뒤 따릅니다. 상자 파일의 압축을 푼 폴더 내에 msi 파일의 “loc”버전이 있습니다.

\1033_ENU_LP\x64\Setup\

파일 이름에 “loc”이없는 파일이 있습니다.

\x64\Setup\

제거 프로세스가 완료된 후 컴퓨터를 다시 시작하고 SQL Server 2017 Developer Edition을 기본 인스턴스로 설치할 수있었습니다. 흥미롭게도 SQL Server 2017 설치 과정에서 2 개의 SQL Server 2014 파일에 대한 설치 미디어를 요구했습니다 SQLWRITER.MSI. SQL Server 2014의 공유 구성 요소를 제거하지 않았기 때문인지 모르겠습니다. SQL Server 2014 평가 버전의 시간 제한으로 인해 나중에 문제가 발생하면 이전 SQL을 제거하는 데 사용했습니다. Server 2014 Standard Edition이 답변을 업데이트하겠습니다.


내가 시도하지 않았다는 의견에 언급 된 대안 접근 방식은 좋은 대안이 될 것 같습니다.

  1. SQL Server 2014를 제거하려는 이유는 점 표기법을 사용하여 SQL Server 2017에 연결할 수 있기 때문입니다. Scott Hodgin 은 명명 된 인스턴스를 기본 인스턴스처럼 보이게 하는 기술을 조사 할 것을 권장했습니다 . 나는이 기술을 시도하지 않았지만 StackOverflow에서 수집 된 투표로 판단하여 일부 사람들의 문제를 해결했습니다.

  2. Aaron Bertrand 과거와 비슷한 상황에 있었으며 설치 / 제거 미디어없이 강제로 제거하는 방법에 대한 두 개의 다른 블로그 게시물 ( 첫 번째 , 두 번째 )을 작성했습니다. 두 블로그 게시물은 기본적으로 msiexec레지스트리에서 찾은 GUID를 기반으로 제거를 강제 실행하는 명령 을 실행하기 위해 배치 파일을 작성하는 것과 동일한 기술을 사용했습니다 . 블로그 게시물 중 하나만 읽으면 두 번째 게시물을 추천합니다. 작은 PowerShell 스크립트를 사용하여 배치 파일을 작성합니다. 개인적으로이 방법을 사용할 필요는 없지만 다음 방법이었습니다. 또한 저는 저와 같은 평범한 사람이 문제를 겪기 전에 고통 지점을 극복하고 후손 문제에 대한 좋은 해결책을 문서화하기 위해 Aaron에게 모자 팁을주고 싶습니다.


* : 의견에이 접근법을 제안 해 주신 Ali Razeghi 에게 감사드립니다 .


답변