SqlSmoObject 类

定义

包含所有实例类的常见功能

[System.ComponentModel.TypeConverter(typeof(Microsoft.SqlServer.Management.Sdk.Sfc.LocalizableTypeConverter))]
public abstract class SqlSmoObject : Microsoft.SqlServer.Management.Smo.SmoObjectBase, Microsoft.SqlServer.Management.Common.IRefreshable, Microsoft.SqlServer.Management.Sdk.Sfc.IAlienObject, Microsoft.SqlServer.Management.Sdk.Sfc.ISfcPropertyProvider, System.ComponentModel.INotifyPropertyChanged
[<System.ComponentModel.TypeConverter(typeof(Microsoft.SqlServer.Management.Sdk.Sfc.LocalizableTypeConverter))>]
type SqlSmoObject = class
    inherit SmoObjectBase
    interface ISfcPropertyProvider
    interface ISfcNotifyPropertyMetadataChanged
    interface INotifyPropertyChanged
    interface IRefreshable
    interface IAlienObject
Public MustInherit Class SqlSmoObject
Inherits SmoObjectBase
Implements IAlienObject, INotifyPropertyChanged, IRefreshable, ISfcPropertyProvider
继承
SqlSmoObject
派生
属性
实现

构造函数

名称 说明
SqlSmoObject()

包含所有实例类的常见功能

字段

名称 说明
m_ExtendedProperties

包含所有实例类的常见功能

singletonParent

常规 SMO 对象通过 parentColl(父类中的相应集合)访问父类引用。 Singleton 类在父类中没有集合。

属性

名称 说明
CollationDatabaseInServer

包含所有实例类的常见功能

DatabaseEngineEdition

返回 SMO 对象的 DatabaseEngineEdition

DatabaseEngineType

返回 SMO 对象的 DatabaseEngineType

ExecuteForScalar

包含所有实例类的常见功能

ExecutionManager

包含所有实例类的常见功能

IsTouched

是否已触摸对象进行无条件的 Alter 脚本编写

ObjectInSpace

包含所有实例类的常见功能

ParentCollection

返回包含对象的集合。 可以为 null。

Properties

包含所有实例类的常见功能

ScalarResult

包含所有实例类的常见功能

ServerVersion

返回包含对象的服务器的 ServerVersion。 如果对象未与连接的服务器关联,则返回最高的已知服务器版本。

State

返回对象的状态

(继承自 SmoObjectBase)
Urn

返回动态计算的对象 Urn

UserData

包含所有实例类的常见功能

(继承自 SmoObjectBase)

方法

名称 说明
AddDatabaseContext(StringCollection)

从 create 脚本相关方法(从表、索引等派生类)中调用方法。

AlterImpl()

包含所有实例类的常见功能

AlterImplWorker()

包含所有实例类的常见功能

BindDefaultImpl(String, String, Boolean)

包含所有实例类的常见功能

BindRuleImpl(String, String, Boolean)

包含所有实例类的常见功能

CheckObjectState()

包含所有实例类的常见功能

CheckObjectState(Boolean)

这是一个虚拟函数,因此,如果派生类想要对对象的状态执行其他检查,则可以重写它

CheckObjectStateImpl(Boolean)

检查对象状态,因为它不隐性,因此可以直接调用此函数,这意味着派生类无法提供自己的验证

CleanObject()

包含所有实例类的常见功能

CreateImpl()

包含所有实例类的常见功能

CreateOrAlterImpl()

包含所有实例类的常见功能

Discover()

最佳努力发现机制:此方法反映元数据并获取所有可用对象

DropImpl(Boolean, Boolean)

对于Azure中用户数据库的删除调用,连接将关闭,因为删除数据库。ExecutionManager 通常会尝试通过重新打开连接来重试此类调用,我们希望在 handleSevereError 为 true 时避免此重试。

DropImpl(Boolean)

删除对象

DropImplWorker(Urn, Boolean)

删除对象

ExecuteNonQuery(StringCollection, Boolean, Boolean)

执行 sql 语句

ExecuteWithModes(SqlExecutionModes, Action)

在给定的执行模式下执行给定操作。

在操作完成或失败后重置原始模式。

FormatSqlVariant(Object)

包含所有实例类的常见功能

GenerateAlterEvent()

包含所有实例类的常见功能

GenerateAlterEvent(Urn, Object)

包含所有实例类的常见功能

GetChildType(String, String)

包含所有实例类的常见功能

GetContextDB()

包含所有实例类的常见功能

GetDBName()

包含所有实例类的常见功能

GetDisabledProperties(ScriptingPreferences)

提供为特定服务器类型或版本显式禁用的属性的枚举。 这不是不适用于指定目标的所有属性的列表。

GetFragOptionString(FragmentationOption)

包含所有实例类的常见功能

GetPropValue(String)

从 :- 如果属性可用(脏或已检索),则直接检索属性值包 - 对 OnPropertyMissing 方法的调用,否则

如果任一情况下属性值为 NULL,将引发异常。

GetPropValueOptional(String)

从以下项中检索属性值:- 如果状态正在创建或处于设计模式(可能为 NULL 值)中,则为属性包 - 对 OnPropertyMissing 方法的调用;否则(如果值为 NULL,将引发异常)

GetPropValueOptional<T>(String, T)

返回命名属性的值。 如果对象处于“创建”状态,并且尚未设置该属性,则返回 defaultValue。 如果该对象存在,则忽略 defaultValue 并返回实际值。

GetPropValueOptionalAllowNull(String)

从以下项中检索属性值:- 如果状态正在创建或处于设计模式(可能为 NULL),则检索属性值包 - 对 OnPropertyMissing 方法的调用;否则为可能为 NULL)

GetRealValue(Property, Object)

返回属性的实值。

GetServerName()

包含所有实例类的常见功能

GetServerObject()

包含所有实例类的常见功能

GetSqlServerVersionName()

获取当前连接的 sqlserver 公共名称,例如:“SQL Server 2008”。

GetStringComparer()

返回所有子对象集合用于执行对象名称比较的比较器。 服务器的比较器基于主数据库的排序规则。数据库的比较器及其子项基于数据库排序规则

GetTypeFromUrnSkeleton(Urn)

包含所有实例类的常见功能

GetUrnRecursive(StringBuilder, UrnIdOption)

计算对象的 Urn,这可能在定义中包含除键字段以外的其他字段。

GetUrnRecursive(StringBuilder)

计算对象的 Urn。

GetUrnSuffix(Type)

从指定类型获取 UrnSuffix ,或者,如果该类型未定义名为 UrnSuffix 的静态属性,则为空字符串。

ImplInitialize(String[], OrderBy[])

包含所有实例类的常见功能

InitChildCollection(Urn, Boolean)

初始化与给定类型关联的子对象集合。 例如,名称 Column 将初始化 Columns 集合。

Initialize()

包含所有实例类的常见功能

Initialize(Boolean)

通过从枚举器读取其属性来初始化对象

IsCollectionDirty(ICollection)

包含所有实例类的常见功能

IsExpressSku()

返回包含此对象的服务器是否为 Express SKU

IsObjectDirty()

包含所有实例类的常见功能

IsObjectInitialized()

包含所有实例类的常见功能

IsObjectInSpace()

包含所有实例类的常见功能

IsSupportedOnSqlAzure(Type)

返回Microsoft Azure SQL 数据库是否支持 smo 对象类型。

IsSupportedProperty(String)

验证当前服务器环境中是否支持指定的属性

IsVersion80SP3()

包含所有实例类的常见功能

IsVersion90AndAbove()

包含所有实例类的常见功能

MakeSqlString(String)

返回在 SQL 字符串单引号中包装的完全转义 SQL 字符串

MarkDropped()

包含所有实例类的常见功能

MarkForDropImpl(Boolean)

包含所有实例类的常见功能

PostAlter()

如果派生类在更改对象后必须执行支持操作,则此函数将被派生类重写

PostCreate()

如果派生类在创建对象后必须执行支持操作,则此函数将被派生类重写

PostDrop()

如果派生类在删除对象后必须执行支持操作,则此函数将被派生类重写

QuoteString(String, Char, Char)

返回用分隔符括起来的名称。

Refresh()

通过从服务器读取对象属性来刷新这些属性

ScriptImpl()

包含所有实例类的常见功能

ScriptImpl(ScriptingOptions)

返回包含对象的脚本的 StringCollection 对象。 如果 ScriptData 为 true,此方法将引发错误

SetAccessToken(IRenewableToken)

设置 accessToken 进行连接。

SetParentImpl(SqlSmoObject)

包含所有实例类的常见功能

SetState(SqlSmoState)

设置对象状态(现有、已删除等)应用程序应避免使用此方法。

(继承自 SmoObjectBase)
SqlDateString(DateTime)

将 DateTime 转换为格式明确的字符串,无论服务器的语言设置如何,都可以在 T-SQL 代码中转换为 sql 日期/时间。

SqlString(String)

转义字符串中的所有单引号

ThrowIfAboveVersion100(String)

如果此对象的 ServerVersion 主版本高于 10.0(SQL 2008),则引发异常

ThrowIfAboveVersion80(String)

如果此对象的 ServerVersion 主版本高于 8.0(SQL 2000),则引发异常

ThrowIfBelowVersion100(String)

如果此对象的 ServerVersion 主版本低于 10.0(SQL 2008),则引发异常

ThrowIfBelowVersion110(String)

如果源服务器或目标服务器低于 11.0(SQL 2012),则引发 UnsupportedVersionException

ThrowIfBelowVersion110Prop(String)

如果此对象的 ServerVersion 主版本低于 11.0(SQL 2012),则引发一个异常,指出指定的属性不受支持

ThrowIfBelowVersion120(String)

如果此对象的 ServerVersion 主版本低于 12.0(SQL 2014),则引发异常

ThrowIfBelowVersion120Prop(String)

如果此对象的 ServerVersion 主版本低于 12.0(SQL 2014),则引发一个异常,指出不支持指定的属性

ThrowIfBelowVersion130(String)

如果此对象的 ServerVersion 主版本低于 13.0(SQL 2016),则引发异常

ThrowIfBelowVersion130Prop(String)

如果此对象的 ServerVersion 主版本低于 13.0(SQL 2016),则引发一个异常,指出不支持指定的属性

ThrowIfBelowVersion140(String)

如果此对象的 ServerVersion 主版本低于 14.0(SQL 2017),则引发异常

ThrowIfBelowVersion140Prop(String)

如果此对象的 ServerVersion 主版本低于 14.0(SQL 2017),则引发一个异常,指出指定的属性不受支持

ThrowIfBelowVersion160(String)

如果此对象的 ServerVersion 主版本低于 16.0,则引发异常

ThrowIfBelowVersion80(String)

如果此对象的 ServerVersion 主版本低于 8.0(SQL 2000),则引发异常

ThrowIfBelowVersion80SP3()

如果此对象的 ServerVersion 低于 8.760(8.0 SP3),则引发异常

ThrowIfBelowVersion90(String)

如果此对象的 ServerVersion 主版本低于 9.0(SQL 2005),则引发异常

ToString()

包含所有实例类的常见功能

Touch()

将对象标记为“touched”,以便无条件地编写 Alter 脚本。

TouchImpl()

虚拟方法允许派生类在触摸时执行其他工作。

Trace(String)

包含所有实例类的常见功能

UnbindDefaultImpl(Boolean)

包含所有实例类的常见功能

UnbindRuleImpl(Boolean)

包含所有实例类的常见功能

UpdateCollectionState2(ICollection)

包含所有实例类的常见功能

Validate(String, Object[])

包含所有实例类的常见功能

(继承自 SmoObjectBase)

活动

名称 说明
PropertyChanged

包含所有实例类的常见功能

PropertyMetadataChanged

包含所有实例类的常见功能

PropertyMissing

在对象初始化后生成属性提取并且对象需要发出 SQL 查询来检索值时引发的事件。 此事件是同步引发的,因此在返回事件的所有处理程序之前,提取将被阻止。

显式接口实现

名称 说明
IAlienObject.Discover()

包含所有实例类的常见功能

IAlienObject.GetDomainRoot()

包含所有实例类的常见功能

IAlienObject.GetParent()

包含所有实例类的常见功能

IAlienObject.GetPropertyType(String)

发现属性的类型。

IAlienObject.GetPropertyValue(String, Type)

检索给定属性的值。 如果未找到属性,则引发。

IAlienObject.GetUrn()

包含所有实例类的常见功能

IAlienObject.Resolve(String)

包含所有实例类的常见功能

IAlienObject.SetObjectState(SfcObjectState)

基于提供的 SfcObjectState 设置此对象的状态。

IAlienObject.SetPropertyValue(String, Type, Object)

设置给定属性的值(如果可写)。 如果属性不在属性包中,则使用反射。 如果未找到该属性,则引发异常。

ISfcPropertyProvider.GetPropertySet()

包含所有实例类的常见功能

扩展方法

名称 说明
GetAssessmentItems(SqlSmoObject, String[])

查找给定 smoObject的所有可用检查。

GetAssessmentResults(SqlSmoObject, IEnumerable<ICheck>)

同步运行给定 smoObject 的评估,并提供 IEnumerable<T> 描述发现的问题。 此方法仅从中执行给定的检查 checks

GetAssessmentResults(SqlSmoObject, String[])

同步运行给定 smoObject 的评估,并提供 IEnumerable<T> 描述发现的问题。

GetAssessmentResultsList(SqlSmoObject, IEnumerable<ICheck>)

异步运行给定 smoObject 的评估,并提供 List<T> 描述发现的问题。 此方法仅从中执行给定的检查 checks

GetAssessmentResultsList(SqlSmoObject, String[])

异步运行给定 smoObject 的评估,并提供 List<T> 描述发现的问题。

IsSupportedObject<T>(SqlSmoObject, ScriptingPreferences)

检查此对象的根服务器是否支持ServerVersionDatabaseEngineType指定类型。 如果 ScriptingPreferences 为非 null,则还会检查目标服务器是否ServerVersion支持DatabaseEngineType指定的类型。

适用于