Database Class

The Database object represents a Microsoft SQL Server database.

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

Syntax

'Declaration
Public NotInheritable Class Database
    Inherits ScriptNameObjectBase
    Implements ICreatable, IAlterable, IDroppable, IRenamable, _
    IExtendedProperties, IScriptable
public sealed class Database : ScriptNameObjectBase, ICreatable, IAlterable, IDroppable, 
    IRenamable, IExtendedProperties, IScriptable
public ref class Database sealed : public ScriptNameObjectBase, ICreatable, IAlterable, IDroppable, 
    IRenamable, IExtendedProperties, IScriptable
public final class Database extends ScriptNameObjectBase implements ICreatable, IAlterable, 
    IDroppable, IRenamable, IExtendedProperties, IScriptable
public final class Database extends ScriptNameObjectBase implements ICreatable, IAlterable, 
    IDroppable, IRenamable, IExtendedProperties, IScriptable

Remarks

Updated text:17 July 2006

Updated text:14 April 2006

This namespace, class, or member is supported only in version 2.0 of the Microsoft .NET Framework.

The Database class represents databases, either system or user-defined, on the instance of SQL Server. The Server class is the parent of the Database class.

By using the Database class, you can do the following:

  • Create a new database or drop and existing database.

  • Register the database in the Active Directory directory service.

  • Reference database objects in collections, such as tables, users, and triggers.

  • Set up database mirroring.

  • Create a master database key.

  • Set up a full-text search catalog.

  • Check data, allocations, catalogs, and tables.

  • Issue a checkpoint.

  • Grant, revoke, and deny permissions to users on the database.

  • Run Transact-SQL statements.

  • Enumerate database information, such as locks or object permissions.

  • Remove the backup history.

  • Monitor the number of transactions.

  • Set the database offline or online.

  • Change the owner of the database.

  • Update statistics.

  • Shrink the database.

  • Truncate the log.

  • Script the database.

To get Database object properties, users can be a member of the public fixed server role.

To set Database object properties and run the Alter method, users must have ALTER permission on the database, or be a member of the db_owner fixed database role.

To create a database, users must have CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission on the parent server.

To drop a database, users must have CONTROL permission on the database, or be a member of the db_owner fixed database role.

To grant, revoke, or deny other users permission on the database, users must have CONTROL permission on the database or be a member of the db_owner fixed database role.

Inheritance Hierarchy

System.Object
   Microsoft.SqlServer.Management.Smo.SmoObjectBase
     Microsoft.SqlServer.Management.Smo.SqlSmoObject
       Microsoft.SqlServer.Management.Smo.NamedSmoObject
         Microsoft.SqlServer.Management.Smo.ScriptNameObjectBase
          Microsoft.SqlServer.Management.Smo.Database

Example

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Define a Database object variable by supplying the server and the database name arguments in the constructor.
Dim db As Database
db = New Database(srv, "Test_SMO_Database")
'Create the database on the instance of SQL Server.
db.Create()
'Reference the database and display the date when it was created.
db = srv.Databases("Test_SMO_Database")
Console.WriteLine(db.CreateDate)
'Remove the database.
db.Drop()

Thread Safety

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

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

Database Members
Microsoft.SqlServer.Management.Smo Namespace

Other Resources

How to: Create, Alter, and Remove a Database in Visual Basic .NET
Creating, Altering, and Removing Databases
CREATE DATABASE (Transact-SQL)

Change History

Release

History

17 July 2006

Changed content:
  • Added text to the Database class description in the Remarks section.

  • Added code to all the Database class members in the Example section.

  • Added text to the Database class members in the Remarks section.

Release

History

14 April 2006

Changed content:
  • Added text explaining the TruncateLog method to the Database class.

  • Added text explaining the MirroringPartnerInstance property to the Database class.

  • The database mirroring disclaimers have been removed from the database mirroring related properties and methods in the Database class.