SqlSmoObject Class

The SqlSmoObject object represents all SQL Server objects.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Smo.SmoObjectBase
    Microsoft.SqlServer.Management.Smo.SqlSmoObject
      More...

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
<TypeConverterAttribute(GetType(LocalizableTypeConverter))> _
Public MustInherit Class SqlSmoObject _
    Inherits SmoObjectBase _
    Implements ISfcPropertyProvider, ISfcNotifyPropertyMetadataChanged, INotifyPropertyChanged, IRefreshable,  _
    IAlienObject
'Usage
Dim instance As SqlSmoObject
[TypeConverterAttribute(typeof(LocalizableTypeConverter))]
public abstract class SqlSmoObject : SmoObjectBase, 
    ISfcPropertyProvider, ISfcNotifyPropertyMetadataChanged, INotifyPropertyChanged, IRefreshable, IAlienObject
[TypeConverterAttribute(typeof(LocalizableTypeConverter))]
public ref class SqlSmoObject abstract : public SmoObjectBase, 
    ISfcPropertyProvider, ISfcNotifyPropertyMetadataChanged, INotifyPropertyChanged, IRefreshable, IAlienObject
[<AbstractClassAttribute>]
[<TypeConverterAttribute(typeof(LocalizableTypeConverter))>]
type SqlSmoObject =  
    class
        inherit SmoObjectBase
        interface ISfcPropertyProvider
        interface ISfcNotifyPropertyMetadataChanged
        interface INotifyPropertyChanged
        interface IRefreshable
        interface IAlienObject
    end
public abstract class SqlSmoObject extends SmoObjectBase implements ISfcPropertyProvider, ISfcNotifyPropertyMetadataChanged, INotifyPropertyChanged, IRefreshable, IAlienObject

The SqlSmoObject type exposes the following members.

Constructors

  Name Description
Protected method SqlSmoObject Initializes a new instance of the SqlSmoObject class.

Top

Properties

  Name Description
Protected property ExecuteForScalar Gets or sets the Boolean property value that specifies whether the object is set to the execute for scalar option.
Protected property IsTouched Gets the Boolean property value that specifies whether the object properties have been updated but not yet persisted on the server.
Protected property ObjectInSpace Gets the Boolean property value that specifies whether the object exists in isolation, or whether it is directly or indirectly connected to the instance of SQL Server.
Public property Properties Gets a collection of Property objects that represent the object properties.
Protected property ScalarResult Gets the scalar result for the referenced object.
Public property State Gets the state of the referenced object. (Inherited from SmoObjectBase.)
Public property Urn Gets the Uniform Resource Name (URN) address value that uniquely identifies the object.
Public property UserData Gets or sets user-defined data associated with the referenced object. (Inherited from SmoObjectBase.)

Top

Methods

  Name Description
Protected method AddDatabaseContext(StringCollection) Add the database context to the collection of queries identified by the queries parameter.
Protected method AddDatabaseContext(StringCollection, ScriptingOptions) Add the database context to the collection of queries identified by the queries parameter, and using the specified scripting options.
Protected method AlterImpl Activates the object altered event.
Protected method AlterImplFinish Method called when object altered event finishes.
Protected method AlterImplInit Method called when object-altered event is intialized.
Protected method AlterImplWorker Calls the Alter methods.
Protected method BindDefaultImpl Binds the default items identified by the parameters.
Protected method BindRuleImpl Binds the rule schema to the rule and columns identified by the parameters.
Protected method CheckCollation Checks the order of the scripting options by the collation method identified by the collationName parameter.
Protected method CheckObjectState() Validates the state of the referenced object.
Protected method CheckObjectState(Boolean) Validates the state of the referenced object with the option to specify that an exception is thrown if the object is not yet created.
Protected method CheckObjectStateImpl Checks the state of a SqlSmoObject.
Protected method CheckVersion100 Checks whether version of SQL Server is SQL Server 2008.
Protected method CheckVersion80 Checks the validity of the object on SQL Server 2000.
Protected method CheckVersion80SP3 Checks the validity of the object on SQL Server 2000 SP3.
Protected method CheckVersion90 Check the validity of the object on SQL Server 2005.
Protected method CheckVersionBelow90 Checks whether version of SQL Server is before SQL Server 2005.
Protected method CleanObject Sets the object to unmodified state.
Protected method CreateImpl Creates an object with scripting options.
Protected method CreateImplFinish Method called when the create event finishes.
Protected method CreateImplInit Method called when the create event initializes.
Public method Discover Discovers a list of type Object.
Protected method DropImpl Drops a SqlSmoObject.
Protected method DropImplWorker Calls the drop methods.
Protected method EnumScriptImpl Enumerates scripts specified by the so parameter.
Protected method EnumScriptImplWorker Calls the methods that enumerate scripts specified by the so parameter.
Protected method EnumScriptImplWorkerSOChanged Returns an IEnumerable string describing the scripting options for an object.
Public method Equals (Inherited from Object.)
Protected method ExecuteNonQuery Executes a batch in the context of the database where there are no results returned.
Protected method Finalize (Inherited from Object.)
Protected method FormatSqlVariant Formats an object as SqlVariant type.
Protected method GenerateDataSpaceFileStreamScript Generates a script to create data file.
Protected method GenerateDataSpaceScript Generates a script to allocate space in the data file.
Protected method GetBindDefaultScript Gets the script that binds defaults specified by the defSchema and defName parameters.
Protected method GetBindRuleScript Gets the script that specifies the binding rules.
Protected method GetBoolParameter(StringBuilder, ScriptingOptions, String, String, Int32%) Assigns a Boolean parameter of the SqlSmoObject.
Protected method GetBoolParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) Assigns a Boolean property of the SqlSmoObject.
Public methodStatic member GetChildType Gets the type of a child element.
Protected method GetDateTimeParameter Assigns the datetime property of the SqlSmoObject.
Protected method GetDateTimeParameterAsInt Assigns the datetime property of the SqlSmoObject as an integer value if the datetime property is not null.
Protected method GetDBName Gets the database name that is associated with the object.
Protected method GetEnumParameter Assigns an enumeration property of the SqlSmoObject.
Protected method GetFragOptionString Gets a FragmentationOption object as a string value.
Protected method GetGuidParameter Assigns a Guid property of the SqlSmoObject.
Public method GetHashCode (Inherited from Object.)
Protected method GetParameter(StringBuilder, ScriptingOptions, String, String, Int32%) Assigns a parameter of the SqlSmoObject.
Protected method GetParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) Assigns a parameter of the SqlSmoObject.
Protected method GetPropValue Gets a property value of the SqlSmoObject object.
Protected method GetPropValueOptional Gets a property value of the SqlSmoObject object.
Protected method GetPropValueOptionalAllowNull Gets a property value of the SqlSmoObject object.
Protected method GetRealValue Gets a property value of the SqlSmoObject object.
Protected method GetScriptingOptionsForCreate Gets ScriptingOptions for the SqlSmoObject object.
Protected method GetServerName Gets the name of the instance of SQL Server with which the object is associated.
Protected method GetServerObject Gets the server of the SqlSmoObject object.
Protected method GetSqlServerVersionName Gets the version name of the instance of SQL Server with which the object is associated.
Protected method GetStringParameter(StringBuilder, ScriptingOptions, String, String, Int32%) Assigns a string parameter of the SqlSmoObject object.
Protected method GetStringParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) Assigns a string parameter of the SqlSmoObject object.
Protected method GetTimeSpanParameterAsInt Assigns a time span parameter of the SqlSmoObject object.
Public method GetType (Inherited from Object.)
Public methodStatic member GetTypeFromUrnSkeleton Gets the type from the Urn object specified by the parameter.
Protected method GetUrnRecursive(StringBuilder) Assigns an Urn object of the SqlSmoObject object.
Protected method GetUrnRecursive(StringBuilder, UrnIdOption) Assigns an Urn object of the SqlSmoObject object.
Protected method ImplInitialize Initializes the fields of the SqlSmoObject object.
Public method Initialize() Initializes the object and forces the properties be loaded.
Public method Initialize(Boolean) Initializes the object and forces the properties be loaded.
Protected methodStatic member IsCollectionDirty Determines whether any object in the SqlSmoObject collection has been modified.
Protected method IsObjectDirty Verifies whether the object properties have been modified and the changes have not yet been persisted on the instance of SQL Server.
Protected method IsObjectInitialized Verifies whether the object has been initialized.
Protected method IsObjectInSpace Verifies whether the object is isolated or connected to the instance of SQL Server.
Protected method IsVersion80SP3 Determines whether the version of SQL Server is SQL Server 2000 with SP3.
Protected method IsVersion90AndAbove Determines whether the version of SQL Server is SQL Server 2005 or later.
Protected method MarkDropped Sets the SqlSmoState to dropped.
Protected method MarkForDropImpl Sets the SqlSmoState to dropped.
Protected method MemberwiseClone (Inherited from Object.)
Protected method PostAlter Method activated after the SqlSmoObject is altered.
Protected method PostCreate Method activated after the SqlSmoObject is created.
Protected method PostDrop Method activated after the SqlSmoObject is dropped.
Public method Refresh Refreshes the object and retrieves properties when the object is next accessed.
Protected method ScriptAlter Alters the SqlSmoObject according to the parameters.
Protected method ScriptCreate Alters the SqlSmoObject according to the parameters.
Protected method ScriptDdl Throws InvalidSmoOperationException.
Protected method ScriptDrop Throws InvalidSmoOperationException.
Protected method ScriptImpl() Gets a collection of scripts of the SqlSmoObject.
Protected method ScriptImpl(ScriptingOptions) Gets a collection of scripts of the SqlSmoObject.
Protected method ScriptImplWorker Gets a collection of scripts of the SqlSmoObject.
Protected method SetParentImpl Sets the parent of the SqlSmoObject to the newParent parameter.
Public method ToString Returns a String that represents the referenced object. (Overrides Object.ToString().)
Protected method TouchImpl Not implemented.
Protected methodStatic member Trace Traces the object.
Protected method UnbindDefaultImpl Unbinds the default columns of the SqlSmoObject.
Protected method UnbindRuleImpl Unbinds rules of the SqlSmoObject.
Protected methodStatic member UpdateCollectionState2 Updates the collection state of the SqlSmoObject.
Public method Validate Validates the state of an object. (Inherited from SmoObjectBase.)

Top

Events

  Name Description
Public event PropertyChanged Represents the event that occurs when a property is changed.
Public event PropertyMetadataChanged Represents the event that occurs when property metadata changes.

Top

Fields

  Name Description
Protected field m_ExtendedProperties Represents a property that is defined to extend the properties provided by a SqlSmoObject.
Protected field singletonParent Represents the singleton parent.

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IAlienObject.Discover Discovers any dependencies. Do not reference this member directly in your code. It supports the SQL Server infrastructure.
Explicit interface implemetationPrivate method IAlienObject.GetDomainRoot Returns the root of the domain.
Explicit interface implemetationPrivate method IAlienObject.GetParent Gets the parent of this object. Do not reference this member directly in your code. It supports the SQL Server infrastructure.
Explicit interface implemetationPrivate method IAlienObject.GetPropertyType Gets the type of the specified property.
Explicit interface implemetationPrivate method IAlienObject.GetPropertyValue Gets the value of the specified property.
Explicit interface implemetationPrivate method IAlienObject.GetUrn Gets the Unified Resource Name of the object. Do not reference this member directly in your code. It supports the SQL Server infrastructure.
Explicit interface implemetationPrivate method IAlienObject.Resolve Gets the instance that contains the information about the object from the Unified Resource Name of the object.
Explicit interface implemetationPrivate method IAlienObject.SetObjectState Sets the object state to the specified SfcObjectState value.
Explicit interface implemetationPrivate method IAlienObject.SetPropertyValue Sets the property value.
Explicit interface implemetationPrivate method ISfcPropertyProvider.GetPropertySet Gets the interface reference to the set of properties of this object. Do not reference this member directly in your code. It supports the SQL Server infrastructure.

Top

Remarks

The SqlSmoObject is a generic object that is used to referenced objects that are not of a specified type. The SqlSmoObject is also used as a base class.

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe. 

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Smo.SmoObjectBase
    Microsoft.SqlServer.Management.Smo.SqlSmoObject
      Microsoft.SqlServer.Management.Smo.Agent.JobServer
      Microsoft.SqlServer.Management.Smo.Broker.ServiceBroker
      Microsoft.SqlServer.Management.Smo.DatabaseActiveDirectory
      Microsoft.SqlServer.Management.Smo.DatabaseEncryptionKey
      Microsoft.SqlServer.Management.Smo.DatabaseOptions
      Microsoft.SqlServer.Management.Smo.EndpointPayload
      Microsoft.SqlServer.Management.Smo.EndpointProtocol
      Microsoft.SqlServer.Management.Smo.FullTextIndex
      Microsoft.SqlServer.Management.Smo.Information
      Microsoft.SqlServer.Management.Smo.Mail.SqlMail
      Microsoft.SqlServer.Management.Smo.MasterKey
      Microsoft.SqlServer.Management.Smo.MessageObjectBase
      Microsoft.SqlServer.Management.Smo.NamedSmoObject
      Microsoft.SqlServer.Management.Smo.PhysicalPartition
      Microsoft.SqlServer.Management.Smo.ResourceGovernor
      Microsoft.SqlServer.Management.Smo.Server
      Microsoft.SqlServer.Management.Smo.ServerActiveDirectory
      Microsoft.SqlServer.Management.Smo.ServerProxyAccount
      Microsoft.SqlServer.Management.Smo.ServiceMasterKey
      Microsoft.SqlServer.Management.Smo.Settings
      Microsoft.SqlServer.Management.Smo.UserOptions