By:    |   Read Comments (4)   |   Related Tips: More > Upgrades and Migrations

 

Problem

One of the Junior SQL Server database administrators (DBA) in my company approached me yesterday with a dilemma. He wanted to know how he can identify whether a database uses any of the features that are restricted to a specific edition of SQL Server 2008. In this tip we will go through the steps a DBA needs to follow to identify a database which uses edition specific features.

Solution

When you implement any of the features such as Data Compression , Partitioning , Transparent Data Encryption or Change Data Capture of SQL Server 2008 Enterprise Edition on a database, these features will internally change the way the database engine stores information within the database files. If a database uses any of the above features which are specifically designed to be used in Enterprise Edition of SQL Server 2008, it cannot be moved to other editions of SQL Server 2008.

DBAs can identify all edition specific features that are enabled within a user database by using thesys.dm_db_persisted_sku_features dynamic management view.


As an example, let's try restoring the AdventureWorks database to a SQL Server 2008 Standard Edition instance. Unfortunately, there is a catch; one of the tables Person.Address of is using Page Level compression in SQL Server 2008 Enterprise Edition. When you try to restore the database to a SQL Server 2008 Standard Edition instance which does not support the Data Compression feature, the restoration of the database will fail with the following error message:

 

RESTORE DATABASE is terminating abnormally.
Msg 909, Level 21, State 1, Line 4 
Database 'AdventureWorks' cannot be started in this edition of SQL Server because part or all of object 'Address' is enabled with data compression or vardecimal storage format. Data compression and vardecimal storage format are only supported on SQL Server Enterprise Edition. 
Msg 933, Level 21, State 1, Line 4 
Database 'AdventureWorks' cannot be started because some of the database functionality is not available in the current edition of SQL Server.

 

3.png

 

If a DBA is asked to move a database from Enterprise Edition to any other edition of SQL Server 2008 it is a good idea to execute the T-SQL code below to identify whether the current database uses any of the features that are restricted to a specific edition of SQL Server. The sys.dm_db_persisted_sku_features dynamic management view will let you know which edition specific feature is being used by the database. One needs to have VIEW DATABASE STATE permission on the database to view the results.

 

USE AdventureWorks
GO
SELECT * 
FROM sys.dm_db_persisted_sku_features 
GO 

 

4.png

 

As you can see in the code above snippet, the dynamic management view lets you know that the AdventureWorks database uses Compression feature of SQL Server 2008 Enterprise Edition. The sys.dm_db_persisted_sku_features dynamic management view will not return any rows if no features that are restricted by edition are used by the database. In case, you are using Data Compression , Partitioning , Transparent Data Encryption or Change Data Capture of SQL Server 2008 Enterprise Edition, you need to remove the features before you perform the full backup and restore the database.

번호 제목 글쓴이 날짜 조회 수
41 SQL Server 2008 R2 제거 file 황제낙엽 2016.06.15 1750
40 서버 컴퓨터 이름 변경과 함께 SQL Server 이름 변경 하기 file 황제낙엽 2016.07.19 1404
39 SQL Server 트랜잭션 복제(replication-DB 미러링) 구성 방법 황제낙엽 2016.06.14 1076
38 MS SQL Replication 아키텍쳐 file 황제낙엽 2016.05.24 719
37 SQL Server 2012 서버 복제 (게시 & 구독) - 1 file 황제낙엽 2016.06.08 679
36 Downgrade from SQL Server Enterprise Edition to Standard Edition file 황제낙엽 2016.06.23 597
35 SQL Server 2016 설치를 위한 하드웨어 및 소프트웨어 요구 사항 황제낙엽 2016.06.14 583
34 SQL Server 2014 제품별 기능 및 가격 file 황제낙엽 2016.05.24 480
33 SqlServer 백업 / 복제 (DB Copy 방식) 정리 [SQL Server 2008 R2] file 황제낙엽 2016.06.13 417
32 SELECT 후 다른 Table에 UPDATE 하는 방법 (MSSQL) 황제낙엽 2008.01.28 331
31 Windows 방화벽에서 SQL Server 포트 허용하기 황제낙엽 2020.02.13 274
30 SQL Server 2012 서버 복제 (게시 & 구독) - 2 file 황제낙엽 2016.06.14 257
29 sql server 복제(replication)에서는 서버 연결 시 실제 서버 이름이 필요합니다 (트랜잭션 복제 구성 ) file 황제낙엽 2016.06.14 250
28 SQL Server 에디션 다운그레이드와 제한된 기능 확인 file 황제낙엽 2016.06.18 228
27 DB 성능 최적화 14가지 지키기 (쿼리 성능 향상) 황제낙엽 2019.05.29 184
26 MS-SQL Server 2008 SA계정 활성화. (SQL Server 인증 연결) file 황제낙엽 2016.06.14 184
» Identify database features restricted to a specific edition of SQL Server 2008 file 황제낙엽 2016.06.18 183
24 SQL Server 2012 설치를 위한 하드웨어 및 소프트웨어 요구 사항 황제낙엽 2016.05.24 180
23 SQL Server 2014 향상된 백업 및 복원 file 황제낙엽 2016.06.14 165
22 SQL Server 를 Developer (Enterprise) 에서 Standard 로 교체하기(Downgrade) 황제낙엽 2016.06.23 161