Labels

admin (1) aix (1) alert (1) always-on (2) Architecture (1) aws (3) Azure (1) backup (3) BI-DWH (10) Binary (3) Boolean (1) C# (1) cache (1) casting (3) cdc (1) certificate (1) checks (1) cloud (3) cluster (1) cmd (7) collation (1) columns (1) compilation (1) configurations (7) Connection-String (2) connections (6) constraint (6) copypaste (2) cpu (2) csv (3) CTE (1) data-types (1) datetime (23) db (547) DB2 (1) deadlock (2) Denali (7) device (6) dotNet (5) dynamicSQL (11) email (5) encoding (1) encryption (4) errors (124) excel (1) ExecutionPlan (10) extended events (1) files (7) FIPS (1) foreign key (1) fragmentation (1) functions (1) GCP (2) gMSA (2) google (2) HADR (1) hashing (3) in-memory (1) index (3) indexedViews (2) insert (3) install (10) IO (1) isql (6) javascript (1) jobs (11) join (2) LDAP (2) LinkedServers (8) Linux (15) log (6) login (1) maintenance (3) mariadb (1) memory (4) merge (3) monitoring (4) MSA (2) mssql (444) mssql2005 (5) mssql2008R2 (20) mssql2012 (2) mysql (36) MySQL Shell (5) network (1) NoSQL (1) null (2) numeric (9) object-oriented (1) offline (1) openssl (1) Operating System (4) oracle (7) ORDBMS (1) ordering (2) Outer Apply (1) Outlook (1) page (1) parameters (2) partition (1) password (1) Performance (103) permissions (10) pivot (3) PLE (1) port (4) PostgreSQL (14) profiler (1) RDS (3) read (1) Replication (12) restore (4) root (1) RPO (1) RTO (1) SAP ASE (48) SAP RS (20) SCC (4) scema (1) script (8) security (10) segment (1) server (1) service broker (2) services (4) settings (75) SQL (74) SSAS (1) SSIS (19) SSL (8) SSMS (4) SSRS (6) storage (1) String (35) sybase (57) telnet (2) tempdb (1) Theory (2) tips (120) tools (3) training (1) transaction (6) trigger (2) Tuple (2) TVP (1) unix (8) users (3) vb.net (4) versioning (1) windows (14) xml (10) XSD (1) zip (1)

Compatibility level

-- get current compatibility level of DB
sp_dbcmptlevel 'AdventureWorks2008R2'

-- alter DB compatibility level
ALTER DATABASE AdventureWorks2008R2 SET COMPATIBILITY_LEVEL = 90
--or:
EXEC sp_dbcmptlevel AdventureWorks2008R2, 90

Changing the compatibility level while users are connected to the database can produce incorrect result sets for active queries. 
Therefore, the best practice to change the compatibility level of database is in following three steps:
ALTER DATABASE AdventureWorks2008R2 SET SINGLE_USER
GO
-- alter DB compatibility (2 options)
GO
ALTER DATABASE AdventureWorks2008R2 SET MULTI_USER
GO

Before upgrading Compatibility Level, it's good to check if the DB is ready to this upgrade, by one or more of those 2 ways:
1. run the Upgrade advisor
2. Script: testing all SPs before upgrading to Compatibility Level 90: 
http://www.sqlservercentral.com/scripts/Compatibility/62093/

Values of compability levels:
60 = SQL Server 6.0 
65 = SQL Server 6.5 
70 = SQL Server 7.0 
80 = SQL Server 2000 
90 = SQL Server 2005 
100= SQL Server 2008

2 comments:

  1. Hi

    Database Name missed here..

    Both in setting "Single User" and "Multi user" statements.

    ReplyDelete