The object is the overall, top-level object for managing scripting operations.
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
The object allows programmatic access to scripting settings and is responsible for the following scripting functionality:
Output script to memory and file.
Calling the instance objects to be scripted.
Managing context of a script operation, such as checking whether an object has already been scripted.
To get object properties, users can be a member of the public fixed server role.
To set object properties, users can be a member of the public fixed server role.
To run a script operation, users require permissions for the objects that are being scripted.
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.