共用方式為


Database.CompatibilityLevel 屬性

Gets or sets the compatibility level for the database.

命名空間:  Microsoft.SqlServer.Management.Smo
組件:  Microsoft.SqlServer.Smo (在 Microsoft.SqlServer.Smo.dll 中)

語法

'宣告
<SfcPropertyAttribute(SfcPropertyFlags.None Or SfcPropertyFlags.Expensive Or SfcPropertyFlags.Standalone Or SfcPropertyFlags.SqlAzureDatabase Or SfcPropertyFlags.Design)> _
Public Property CompatibilityLevel As CompatibilityLevel 
    Get 
    Set
'用途
Dim instance As Database 
Dim value As CompatibilityLevel 

value = instance.CompatibilityLevel

instance.CompatibilityLevel = value
[SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Expensive|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase|SfcPropertyFlags.Design)]
public CompatibilityLevel CompatibilityLevel { get; set; }
[SfcPropertyAttribute(SfcPropertyFlags::None|SfcPropertyFlags::Expensive|SfcPropertyFlags::Standalone|SfcPropertyFlags::SqlAzureDatabase|SfcPropertyFlags::Design)]
public:
virtual property CompatibilityLevel CompatibilityLevel {
    CompatibilityLevel get () sealed;
    void set (CompatibilityLevel value) sealed;
}
[<SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Expensive|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase|SfcPropertyFlags.Design)>]
abstract CompatibilityLevel : CompatibilityLevel with get, set
[<SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Expensive|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase|SfcPropertyFlags.Design)>]
override CompatibilityLevel : CompatibilityLevel with get, set
final function get CompatibilityLevel () : CompatibilityLevel 
final function set CompatibilityLevel (value : CompatibilityLevel)

屬性值

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

實作

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.

[!附註]

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

請參閱

參考

Database 類別

Microsoft.SqlServer.Management.Smo 命名空間

其他資源

使用資料庫物件

建立、改變和移除資料庫

CREATE DATABASE (Transact-SQL)