SmartAdmin Class

Definition

Class that handles Altering and Scripting the current state of smart admin

[Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)]
[Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet]
public sealed class SmartAdmin : Microsoft.SqlServer.Management.Smo.SqlSmoObject, Microsoft.SqlServer.Management.Common.IAlterable, Microsoft.SqlServer.Management.Sdk.Sfc.ISfcSupportsDesignMode, Microsoft.SqlServer.Management.Smo.IScriptable
[<Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet>]
type SmartAdmin = class
    inherit SqlSmoObject
    interface ISfcSupportsDesignMode
    interface IAlterable
    interface IScriptable
[<Microsoft.SqlServer.Management.Facets.EvaluationMode(Microsoft.SqlServer.Management.Dmf.AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<Microsoft.SqlServer.Management.Sdk.Sfc.PhysicalFacet>]
type SmartAdmin = class
    inherit SqlSmoObject
    interface IAlterable
    interface IScriptable
    interface ISfcSupportsDesignMode
Public NotInheritable Class SmartAdmin
Inherits SqlSmoObject
Implements IAlterable, IScriptable, ISfcSupportsDesignMode
Inheritance
Attributes
Implements

Constructors

SmartAdmin()

Initializes a new instance of the SmartAdmin class.

Fields

m_ExtendedProperties (Inherited from SqlSmoObject)
singletonParent

Regular SMO objects access the parent class reference through parentColl (corresponding collection in parent class). Singleton class has no collection in parent.

(Inherited from SqlSmoObject)

Properties

BackupEnabled
BackupRetentionPeriodInDays
CredentialName
DatabaseEngineEdition

Returns the DatabaseEngineEdition of the SMO object

(Inherited from SqlSmoObject)
DatabaseEngineType

Returns the DatabaseEngineType of the SMO object

(Inherited from SqlSmoObject)
DatabaseName

Gets Whether the name of database which the current object is managing when this property is set, a refresh will be triggered if the value is a null or empty string, instance level properties will be loaded in else, DB level properties will be loaded in

EncryptionAlgorithm
EncryptorName
EncryptorType
ExecuteForScalar (Inherited from SqlSmoObject)
ExecutionManager (Inherited from SqlSmoObject)
IsAvailabilityDB

Gets Whether the DB is in AV group This property only take effects when the current object represent management at DB Level

IsDroppedDB

Gets Whether the DB is dropped This property only take effects when the current object represent management at DB Level

IsTouched

Whether the object has been touched for unconditional scripting of Alter

(Inherited from SqlSmoObject)
MasterSwitch
ObjectInSpace (Inherited from SqlSmoObject)
Parent

Gets the parent Object. In this case it is Server

ParentCollection

Returns the collection that contains the object. May be null.

(Inherited from SqlSmoObject)
Properties (Inherited from SqlSmoObject)
ScalarResult (Inherited from SqlSmoObject)
ServerVersion

Returns the ServerVersion of the Server that contains the object. If the object is not associated with a connected Server, the highest known server version is returned.

(Inherited from SqlSmoObject)
State

Returns the state of the object

(Inherited from SmoObjectBase)
StorageUrl
Urn

Returns the Urn of the object, computed on the fly

(Inherited from SqlSmoObject)
UrnSuffix

Gets the urn suffix in the urn expression

UserData (Inherited from SmoObjectBase)

Methods

AddDatabaseContext(StringCollection)

method get called from the create script related method (from derived classes like Table, Index etc..)

(Inherited from SqlSmoObject)
Alter()

Alters this instance.

AlterImpl() (Inherited from SqlSmoObject)
AlterImplWorker() (Inherited from SqlSmoObject)
BindDefaultImpl(String, String, Boolean) (Inherited from SqlSmoObject)
BindRuleImpl(String, String, Boolean) (Inherited from SqlSmoObject)
CheckObjectState() (Inherited from SqlSmoObject)
CheckObjectState(Boolean)

This is a virtual function, so that derived classes can override it if they want to do additional checks on the state of the object

(Inherited from SqlSmoObject)
CheckObjectStateImpl(Boolean)

Checks object state Because it is not recusrive, this function can be called directly and which means derived classes can't supply their own validation

(Inherited from SqlSmoObject)
CleanObject() (Inherited from SqlSmoObject)
CreateImpl() (Inherited from SqlSmoObject)
CreateOrAlterImpl() (Inherited from SqlSmoObject)
Discover()

Best Effort Discovery mechanism : This method reflects upon metadata and gets all available objects

(Inherited from SqlSmoObject)
DropImpl(Boolean)

drops the object

(Inherited from SqlSmoObject)
DropImpl(Boolean, Boolean)

For drop calls on the user database in Azure, the connection will be closed as the database is dropped The ExecutionManager will normally attempt to retry such calls by reopening the connection We want to avoid this retry when handleSevereError is true.

(Inherited from SqlSmoObject)
DropImplWorker(Urn, Boolean)

drops the object

(Inherited from SqlSmoObject)
EnumHealthStatus()

Returns DataTable that has the health status of smart admin with default time range returned by TVF [fn_get_health_status]

EnumHealthStatus(Nullable<DateTime>, Nullable<DateTime>)

Returns DataTable that has the health status of smart admin by specifying the start and end time ranges

ExecuteNonQuery(StringCollection, Boolean, Boolean)

Executes sql statements

(Inherited from SqlSmoObject)
ExecuteWithModes(SqlExecutionModes, Action)

Executes the given action under the given execution modes.

Resets the original modes after the action completes or fails.

(Inherited from SqlSmoObject)
FormatSqlVariant(Object) (Inherited from SqlSmoObject)
GenerateAlterEvent() (Inherited from SqlSmoObject)
GenerateAlterEvent(Urn, Object) (Inherited from SqlSmoObject)
GetContextDB() (Inherited from SqlSmoObject)
GetDBName() (Inherited from SqlSmoObject)
GetDisabledProperties(ScriptingPreferences)

Provides an enumerable of properties that are explicitly disabled for specific server types or editions. This is not a list of all properties that don't work for the specified target.

(Inherited from SqlSmoObject)
GetFragOptionString(FragmentationOption) (Inherited from SqlSmoObject)
GetPropValue(String)

Retrieve the property value from : - The property bag directly if property is available (dirty or retrieved) - A call to our OnPropertyMissing method otherwise

Will throw an exception if the property value is NULL in either case.

(Inherited from SqlSmoObject)
GetPropValueOptional(String)

Retrieve the property value from : - The property bag if the state is creating or we're in Design Mode (possible NULL value) - A call to our OnPropertyMissing method otherwise (will throw exception if value is NULL)

(Inherited from SqlSmoObject)
GetPropValueOptional<T>(String, T)

Returns the value of the named property. If the object is in the Creating state and the property has not yet been set the defaultValue is returned. If the object exists the defaultValue is ignored and the actual value is returned.

(Inherited from SqlSmoObject)
GetPropValueOptionalAllowNull(String)

Retrieve the property value from : - The property bag if the state is creating or we're in Design Mode (possible NULL) - A call to our OnPropertyMissing method otherwise (possible NULL)

(Inherited from SqlSmoObject)
GetRealValue(Property, Object)

Returns the real value for the property.

(Inherited from SqlSmoObject)
GetServerName() (Inherited from SqlSmoObject)
GetServerObject() (Inherited from SqlSmoObject)
GetSqlServerVersionName()

Gets the sqlserver public name for the current connection, e.g: will transfer "SQLTOOLS2008-2" to "SQL Server 2008".

(Inherited from SqlSmoObject)
GetStringComparer()

Returns the comparer used by all child object collections to perform comparison of object names. The comparer of a Server is based on the collation of master The comparer of a Database and its children is based on the database collation

(Inherited from SqlSmoObject)
GetUrnRecursive(StringBuilder)

Computes the Urn for the object.

(Inherited from SqlSmoObject)
GetUrnRecursive(StringBuilder, UrnIdOption)

Computes the Urn for the object, potentially including other fields in the definition besides the key fields.

(Inherited from SqlSmoObject)
ImplInitialize(String[], OrderBy[]) (Inherited from SqlSmoObject)
InitChildCollection(Urn, Boolean)

Initializes the child object collection associated with the given type. For example, the name Column would initialize the Columns collection.

(Inherited from SqlSmoObject)
Initialize() (Inherited from SqlSmoObject)
Initialize(Boolean)

Initializes the object, by reading its properties from the enumerator

(Inherited from SqlSmoObject)
IsExpressSku()

Returns whether the server containing this object is an Express SKU

(Inherited from SqlSmoObject)
IsObjectDirty() (Inherited from SqlSmoObject)
IsObjectInitialized() (Inherited from SqlSmoObject)
IsObjectInSpace() (Inherited from SqlSmoObject)
IsSupportedProperty(String)

Validate whether the specified property is supported in current server environment

(Inherited from SqlSmoObject)
IsVersion80SP3() (Inherited from SqlSmoObject)
IsVersion90AndAbove() (Inherited from SqlSmoObject)
MarkDropped() (Inherited from SqlSmoObject)
MarkForDropImpl(Boolean) (Inherited from SqlSmoObject)
PostAlter()

this function is meant to be overriden by derived classes, if they have to do supplimentary actions after altering the object

(Inherited from SqlSmoObject)
PostCreate()

this function is meant to be overriden by derived classes, if they have to do supplimentary actions after object creation

(Inherited from SqlSmoObject)
PostDrop()

this function is meant to be overriden by derived classes, if they have to do supplimentary actions after dropping the object

(Inherited from SqlSmoObject)
Refresh()

override the parent class's Refresh method so that if the DatabaseName is not set call the parent class's Refresh to load in the most recent instance level auto admin records else load in the db level auto admin records

Script()

Scripts this instance.

Script(ScriptingOptions)

Script object with specific scripting optiions

ScriptImpl() (Inherited from SqlSmoObject)
ScriptImpl(ScriptingOptions)

Returns a StringCollection object with the script for the object. This method throws an error if ScriptData is true

(Inherited from SqlSmoObject)
SetAccessToken(IRenewableToken)

Set the accessToken for connection.

(Inherited from SqlSmoObject)
SetParentImpl(SqlSmoObject) (Inherited from SqlSmoObject)
SetState(SqlSmoState)

Sets the object state (Existing, Dropped etc.) Applications should avoid using this method.

(Inherited from SmoObjectBase)
ThrowIfAboveVersion100(String)

Throws an exception if the ServerVersion major version for this object is above 10.0 (SQL 2008)

(Inherited from SqlSmoObject)
ThrowIfAboveVersion80(String)

Throws an exception if the ServerVersion major version for this object is above 8.0 (SQL 2000)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion100(String)

Throws an exception if the ServerVersion major version for this object is below 10.0 (SQL 2008)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion110(String)

Throws an UnsupportedVersionException if either the source or destination server is below 11.0 (SQL 2012)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion110Prop(String)

Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 11.0 (SQL 2012)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion120(String)

Throws an exception if the ServerVersion major version for this object is below 12.0 (SQL 2014)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion120Prop(String)

Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 12.0 (SQL 2014)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion130(String)

Throws an exception if the ServerVersion major version for this object is below 13.0 (SQL 2016)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion130Prop(String)

Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 13.0 (SQL 2016)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion140(String)

Throws an exception if the ServerVersion major version for this object is below 14.0 (SQL 2017)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion140Prop(String)

Throws an exception with text saying the specified property is not supported if the ServerVersion major version for this object is below 14.0 (SQL 2017)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion80(String)

Throws an exception if the ServerVersion major version for this object is below 8.0 (SQL 2000)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion80SP3()

Throws an exception if the ServerVersion for this object is below 8.760 (8.0 SP3)

(Inherited from SqlSmoObject)
ThrowIfBelowVersion90(String)

Throws an exception if the ServerVersion major version for this object is below 9.0 (SQL 2005)

(Inherited from SqlSmoObject)
ToString() (Inherited from SqlSmoObject)
Touch()

Mark the object "touched" for unconditional scripting of Alter.

(Inherited from SqlSmoObject)
TouchImpl()

Virtual method to allow derived classes to do additional work when touched.

(Inherited from SqlSmoObject)
UnbindDefaultImpl(Boolean) (Inherited from SqlSmoObject)
UnbindRuleImpl(Boolean) (Inherited from SqlSmoObject)
Validate(String, Object[]) (Inherited from SmoObjectBase)

Events

PropertyChanged (Inherited from SqlSmoObject)
PropertyMetadataChanged (Inherited from SqlSmoObject)

Explicit Interface Implementations

IAlienObject.Discover() (Inherited from SqlSmoObject)
IAlienObject.GetDomainRoot() (Inherited from SqlSmoObject)
IAlienObject.GetParent() (Inherited from SqlSmoObject)
IAlienObject.GetPropertyType(String)

Discovers type of property.

(Inherited from SqlSmoObject)
IAlienObject.GetPropertyValue(String, Type)

Retrieves value for a given property. Throws if property is not found.

(Inherited from SqlSmoObject)
IAlienObject.GetUrn() (Inherited from SqlSmoObject)
IAlienObject.Resolve(String) (Inherited from SqlSmoObject)
IAlienObject.SetObjectState(SfcObjectState)

Sets state of this object based on provided SfcObjectState.

(Inherited from SqlSmoObject)
IAlienObject.SetPropertyValue(String, Type, Object)

Sets the value of given property, if it is writable. If property is not in property bag, reflection is used. Throws exception if the property is not found.

(Inherited from SqlSmoObject)
ISfcPropertyProvider.GetPropertySet() (Inherited from SqlSmoObject)
ISfcSupportsDesignMode.IsDesignMode

This object extend ISfcSupportsDesignMode.

Extension Methods

GetAssessmentItems(SqlSmoObject, String[])

Finds all available checks for given smoObject.

GetAssessmentResults(SqlSmoObject, IEnumerable<ICheck>)

Synchronously runs assessment for given smoObject and gives a IEnumerable<T> describing discovered issues. This method performs only given checks from checks.

GetAssessmentResults(SqlSmoObject, String[])

Synchronously runs assessment for given smoObject and gives a IEnumerable<T> describing discovered issues.

GetAssessmentResultsList(SqlSmoObject, IEnumerable<ICheck>)

Asynchronously runs assessment for given smoObject and gives a List<T> describing discovered issues. This method performs only given checks from checks.

GetAssessmentResultsList(SqlSmoObject, String[])

Asynchronously runs assessment for given smoObject and gives a List<T> describing discovered issues.

IsSupportedObject<T>(SqlSmoObject, ScriptingPreferences)

Checks if the specified type is supported by the ServerVersion and DatabaseEngineType of the root server for this object. If ScriptingPreferences are non-null will also check if specified type is supported by the ServerVersion and DatabaseEngineType of the target server.

Applies to