The object represents a SQL Server database.
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
The class represents databases, either system or user-defined, on the instance of SQL Server. The Server class is the parent of the class.
By using the 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.
Shrink the database.
Truncate the log.
Script the database.
To get object properties, a login must be a member of the public fixed server role and the user mapped to this login in the database must be a member of the public database role.
To set 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.
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.
'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()