문제

SMO와 함께 C#을 사용하고있는 SQL Server (예 : Enterprise, Standard)의 판을 감지하려고합니다. 버전 정보를 얻는 방법을 알고 있지만 SQL Server 버전 (예 : SQL Server 2008 vs SQL Server 2005) 만 알려줍니다.

실제 제품 에디션 (예 : Enterprise, Standard)을 얻는 방법을 아는 사람이 있습니까?

일부 SQL 서버 기능은 엔터프라이즈 이므로이 정보가 필요합니다. 따라서, 나는 단지 그들을 부르고 예외를 포착하려고 노력할 수 있었지만 나는 선불 탐지를 선호합니다.

감사!

도움이 되었습니까?

해결책

SMO와 서버 객체를 통해 수행 할 수있는 것 같습니다. 정보와 같은 속성이 있습니다.

다른 팁

SELECT  SERVERPROPERTY('productversion'), 
        SERVERPROPERTY ('productlevel'), 
        SERVERPROPERTY ('edition')

내 시스템에서 반환됩니다

9.00.1399.06, RTM, Express Edition

이 기술은 SQL Server 2000 이상에서만 작동하는 것 같습니다. 데이터베이스가 7.0 이하이면 @@ 버전을 사용하고 다른 사람들이 게시 한 결과를 조작해야합니다.

나는 항상 @@ 버전을 사용했지만 (예 : 선택 @@ 버전과 코드에서 결과를 조작)이 기사는 매우 편리하게 보입니다.http://support.microsoft.com/kb/321185

링크에 따라 ServerProperty를 사용하는 데있어 유일한 문제는 ... 이전 버전의 SQL Server에서 작동하지 않는다는 것입니다.

select @@version

버전을 반환하고 판. 여기:

Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) 
    Nov 24 2008 13:01:59 
    Copyright (c) 1988-2005 Microsoft Corporation
    Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

레지스트리를 확인하십시오. 이 질문은 PowerShell 스크립트에서 적응할 수있는 좋은 방법이 있습니다.

PowerShell을 사용하여 SQL Server 버전을 어떻게 확인합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top