Export (0) Print
Expand All
Expand Minimize

Database::CompatibilityLevel Property

Gets or sets the compatibility level for the database.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

[SfcPropertyAttribute(SfcPropertyFlags::None|SfcPropertyFlags::Expensive|SfcPropertyFlags::Standalone|SfcPropertyFlags::SqlAzureDatabase|SfcPropertyFlags::Design|SfcPropertyFlags::Matrix)]
public:
virtual property CompatibilityLevel CompatibilityLevel {
	CompatibilityLevel get () sealed;
	void set (CompatibilityLevel value) sealed;
}

Property Value

Type: Microsoft.SqlServer.Management.Smo::CompatibilityLevel
A CompatibilityLevel object value that specifies the compatibility level of the database.

Implements

IDatabaseOptions::CompatibilityLevel

This property specifies an earlier version of SQL Server for which certain database actions are to be compatible. This property works like the sp_dbcmptlevel system stored procedure.

NoteNote

SMO does not support compatibility level 60. If you use SMO with a database set to compatibility level 60, some operations will produce errors. Additionally, if the CompatibilityLevel property for the MSDB database is set to Version70, SMO might throw an exception with a COLLATE error.

VB

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server

'Reference the AdventureWorks2012 database.
Dim db As Database
db = srv.Databases("AdventureWorks2012")

'Get the current compatibility level.
Dim cl As CompatibilityLevel
cl = db.CompatibilityLevel

'Display the compatibility level of the database.
Console.WriteLine("Compatibility level = " + cl.ToString)

'Set the compatibility level to a different value.
db.CompatibilityLevel = CompatibilityLevel.Version80
db.Alter()

'Restore the compatibility level to original value.
db.CompatibilityLevel = cl
db.Alter()

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2012")

$cl = New-Object Microsoft.SqlServer.Management.Smo.CompatibilityLevel
$cl = $db.CompatiblityLevel
Write-Host "Compatibility level =" $db.CompatibilityLevel

$db.CompatibilityLevel = [Microsoft.SqlServer.Management.Smo.CompatibilityLevel]'Version80'
$db.Alter()

$db.CompatibilityLevel =
Write-Host "Collation is case-sensitive =" $db.CaseSensitive
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft