SQL Server 2008 이상을 결정하는 방법
-
14-11-2019 - |
문제
데이터베이스가 지리 데이터 유형 및 공간 인덱스를 지원하는 경우 프로그래밍 방식으로 결정해야합니다.이러한 기능은 2008 년에 도입되었습니다.이 기능은이 기능에 의존 할 때 CLR이 활성화되어 있는지 확인해야합니다.이 일을하는 가장 신뢰할 수있는 방법은 무엇입니까?
해결책
SQL Server 2008은 10.x 입니다.
SQL 및 쿼리 를 사용할 수 있습니다."http://msdn.microsoft.com/en-us/library/ms188345.aspx"rel="noreferrer"> sys.configations
SELECT
PARSENAME(CAST(SERVERPROPERTY('ProductVersion') AS varchar(20)), 3) AS MajorVersion,
value_in_use
FROM
sys.configurations
WHERE
name = 'clr enabled';
.
편집 : 첨가 된 캐스트
다른 팁
다음을 구문 분석합니다.
select @@VERSION
SELECT * FROM sys.configurations WHERE name = 'clr enabled'
SELECT compatibility_level from sys.databases where name=db_name()
.
처럼 :
select
CASE
WHEN LEFT(@@VERSION,25)='Microsoft SQL Server 2008' THEN 'Yes'
ELSE 'NO'
END AS OnSQLServer2008
,CASE value
WHEN 0 THEN 'No'
ELSE 'Yes'
END AS [clr_enabled]
,(SELECT CASE compatibility_level WHEN 100 then 'Yes' ELSE 'No' END from sys.databases where name=db_name()) AS SQLServer2008CompatibilityMode
FROM sys.configurations
WHERE name = 'clr enabled'
.
출력 :
OnSQLServer2008 clr_enabled SQLServer2008CompatibilityMode
--------------- ----------- ------------------------------
Yes No No
(1 row(s) affected)
. 상당히 자세한 문자열을 반환하는 SELECT @@VERSION
를 사용할 수 있습니다.
를 사용하여 DB 호환성 수준을 쉽게 살펴 보는 것입니다.
select compatibility_level from sys.databases where name=db_name()
.
이것은 숫자를 반환합니다.빈번한 값은 다음과 같습니다.
80= SQL Server 2000
90= SQL Server 2005
100= SQL Server 2008
서버의 데이터베이스가 필요한 수준에 있음을 확인하는 데 추가 된 이점이 있으며 서버 자체가 특정 시스템 버전을 실행하는 것이 아니라
아래에 언급 된 쿼리를 사용하십시오
SELECT
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('EngineEdition') AS EngineEdition;
.
벨로우즈 언급 된 버전을 찾으려면
>
제휴하지 않습니다 StackOverflow