CompatibilityLevel 屬性
取得或設定資料庫的相容性層級。
命名空間: 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
指定資料庫之相容性層級的 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 AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'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("AdventureWorks2008R2")
$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