SqlSmoObject 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
包含所有实例类的常见功能
[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() |
包含所有实例类的常见功能 |
字段
| 名称 | 说明 |
|---|---|
| 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[]) |
查找给定 |
| GetAssessmentResults(SqlSmoObject, IEnumerable<ICheck>) |
同步运行给定 |
| GetAssessmentResults(SqlSmoObject, String[]) |
同步运行给定 |
| GetAssessmentResultsList(SqlSmoObject, IEnumerable<ICheck>) |
异步运行给定 |
| GetAssessmentResultsList(SqlSmoObject, String[]) |
异步运行给定 |
| IsSupportedObject<T>(SqlSmoObject, ScriptingPreferences) |
检查此对象的根服务器是否支持ServerVersionDatabaseEngineType指定类型。 如果 ScriptingPreferences 为非 null,则还会检查目标服务器是否ServerVersion支持DatabaseEngineType指定的类型。 |