Database 类
表示 SQL Server 数据库的 Database 对象。
继承层次结构
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
命名空间: Microsoft.SqlServer.Management.Smo
程序集: Microsoft.SqlServer.Smo(在 Microsoft.SqlServer.Smo.dll 中)
语法
声明
<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)> _
<PhysicalFacetAttribute> _
Public NotInheritable Class Database _
Inherits ScriptNameObjectBase _
Implements ICreatable, IAlterable, IDroppable, IRenamable, _
IExtendedProperties, IScriptable, IDatabaseOptions, IDmfFacet, ISfcSupportsDesignMode
用法
Dim instance As Database
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)]
[PhysicalFacetAttribute]
public sealed class Database : ScriptNameObjectBase,
ICreatable, IAlterable, IDroppable, IRenamable, IExtendedProperties,
IScriptable, IDatabaseOptions, IDmfFacet, ISfcSupportsDesignMode
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode::CheckOnSchedule)]
[PhysicalFacetAttribute]
public ref class Database sealed : public ScriptNameObjectBase,
ICreatable, IAlterable, IDroppable, IRenamable, IExtendedProperties,
IScriptable, IDatabaseOptions, IDmfFacet, ISfcSupportsDesignMode
[<SealedAttribute>]
[<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<PhysicalFacetAttribute>]
type Database =
class
inherit ScriptNameObjectBase
interface ICreatable
interface IAlterable
interface IDroppable
interface IRenamable
interface IExtendedProperties
interface IScriptable
interface IDatabaseOptions
interface IDmfFacet
interface ISfcSupportsDesignMode
end
public final class Database extends ScriptNameObjectBase implements ICreatable, IAlterable, IDroppable, IRenamable, IExtendedProperties, IScriptable, IDatabaseOptions, IDmfFacet, ISfcSupportsDesignMode
Database 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
Database() () () () | 初始化 Database 类的新实例。 | |
Database(Server, String) | 在指定服务器上使用指定名称初始化 Database 类的新实例。 |
页首
属性
名称 | 说明 | |
---|---|---|
ActiveConnections | 获取与数据库的活动连接的数目。 | |
ActiveDirectory | 获取有关数据库的 Active Directory 设置的信息。 | |
AnsiNullDefault | 获取或设置 AnsiNullDefault 属性。 | |
AnsiNullsEnabled | 获取或设置 Boolean ANSI_NULLS_ENABLED 属性值。 | |
AnsiPaddingEnabled | 获取或设置启用 ANSI_PADDING_ENABLED 数据库选项。 | |
AnsiWarningsEnabled | 获取或设置 Boolean ANSI_WARNING_ENABLED 属性值。 | |
ApplicationRoles | 表示 ApplicationRole 对象的集合。每个 ApplicationRole 对象都表示对数据库定义的一个应用程序角色。 | |
ArithmeticAbortEnabled | 获取或设置 ARITHMETICABORT 属性值。 | |
Assemblies | 表示 SqlAssembly 对象的集合。每个 SqlAssembly 对象都表示对数据库定义的一个程序集。 | |
AsymmetricKeys | 表示 AsymmetricKey 对象的集合。每个 AsymmetricKey 对象都表示对数据库定义的一个非对称密钥。 | |
AutoClose | 获取或设置 AUTOCLOSE 数据库选项。 | |
AutoCreateStatisticsEnabled | 获取一个 Boolean 属性值,该值指定是否为数据库自动创建统计信息。 | |
AutoShrink | 获取或设置 AUTO_SHRINK 数据库选项。 | |
AutoUpdateStatisticsAsync | 获取或设置一个属性值,该值指定 AUTOUPDATESTATISTICSASYNC 数据库选项是否处于活动状态。 | |
AutoUpdateStatisticsEnabled | 获取一个 Boolean 属性值,该值指定是否为数据库自动更新统计信息。 | |
BrokerEnabled | 获取或设置一个属性值,该值指定是否启用 Service Broker 服务。 | |
CaseSensitive | 获取一个 Boolean 属性值,该值指定大写字母和小写字母的计算结果是否相等。 | |
Certificates | 表示 Certificate 对象的集合。每个 Certificate 对象都表示对数据库定义的一个证书。 | |
ChangeTrackingAutoCleanUp | 获取或设置一个布尔属性值,该值指定是否启用 CHANGE_TRACKING_AUTO_CLEANUP 选项。 | |
ChangeTrackingEnabled | 获取或设置一个属性值,该值指定是否启用 CHANGE_TRACKING_VALUE 选项。 | |
ChangeTrackingRetentionPeriod | 获取或设置 CHANGE_TRACKING_RETENTION_PERIOD 值。 | |
ChangeTrackingRetentionPeriodUnits | 为保持期值获取或设置单位类型。 | |
CloseCursorsOnCommitEnabled | 获取或设置一个值,该值指定 CURSOR_CLOSE_ON_COMMIT 数据库选项是否处于活动状态。 | |
Collation | 获取或设置数据库使用的默认排序规则。 | |
CompatibilityLevel | 获取或设置数据库的兼容级别。 | |
ConcatenateNullYieldsNull | 获取或设置一个属性值,该值指定 CONCAT_NULL_YIELDS_NULL 数据库选项是否处于活动状态。 | |
CreateDate | 获取数据库的创建日期。 | |
DatabaseAuditSpecifications | 表示 DatabaseAuditSpecification 对象的集合。每个 DatabaseAuditSpecification 对象都表示对服务器定义的一个数据库审核规范。 | |
DatabaseEncryptionKey | 获取 DataBaseEncryptionKey 数据类型。 | |
DatabaseGuid | 获取唯一标识数据库的 Guid 值。 | |
DatabaseOptions | 获取包含数据库的配置选项的 DatabaseOptions 对象。 | |
DatabaseOwnershipChaining | 获取或设置一个属性值,该值指定数据库所有权链接是否处于活动状态。 | |
DatabaseSnapshotBaseName | 获取数据库的快照基础的名称。 | |
DataSpaceUsage | 获取数据库中的数据使用的空间。 | |
DateCorrelationOptimization | 获取或设置一个属性值,该值指定数据关联优化是否处于活动状态。有关日期相关性优化的详细信息,请参阅设置数据库选项。 | |
DboLogin | 获取 Boolean 值,该值指定当前用户是否以数据库所有者 (DBO) 的身份登录。 | |
DefaultFileGroup | 获取数据库使用的默认文件组。 | |
DefaultFileStreamFileGroup | 获取 DefaultFileStreamFileGroup 数据类型 | |
DefaultFullTextCatalog | 获取数据库使用的默认全文目录。 | |
Defaults | 表示 Default 对象的集合。每个 Default 对象都表示对数据库定义的一个默认值。 | |
DefaultSchema | 获取用户的默认架构。 | |
EncryptionEnabled | 获取或设置数据库的 ENCRYPTIONENABLED 属性。 | |
Events | 获取与数据库关联的事件。 | |
ExecuteForScalar | 获取或设置 Boolean 属性值,该值指定对象是否设置为针对标量选项执行。 (从 SqlSmoObject 继承。) | |
ExtendedProperties | 获取数据库的扩展属性。 | |
ExtendedStoredProcedures | 表示 ExtendedStoredProcedure 对象的集合。每个 ExtendedStoredProcedure 对象都表示对数据库定义的一个扩展存储过程。 | |
FileGroups | 表示 FileGroup 对象的集合。每个 FileGroup 对象都表示对数据库定义的一个文件组。 | |
FullTextCatalogs | 表示 FullTextCatalog 对象的集合。每个 FullTextCatalog 对象都表示对数据库定义的一个全文目录。 | |
FullTextStopLists | 表示 FullTextStopList 对象的集合。每个 FullTextStopList 对象都表示对服务器定义的一个全文非索引字表。 | |
HonorBrokerPriority | 获取或设置 Boolean 值,该值指定是否确认 Broker 指定的优先级。 | |
ID | 获取唯一标识数据库的数据库 ID 值。 | |
IndexSpaceUsage | 获取数据库中的索引使用的空间。 | |
IsAccessible | 获取一个 Boolean 属性值,该值指定是否可以访问数据库。 | |
IsDatabaseSnapshot | 获取一个 Boolean 属性值,该值指定数据库是否是快照数据库。 | |
IsDatabaseSnapshotBase | 获取一个 Boolean 属性值,该值指定数据库是否是快照数据库的基础数据库。 | |
IsDbAccessAdmin | 获取一个 Boolean 属性值,该值指定当前用户是否是 DbAccessAdmin 数据库角色的成员。 | |
IsDbBackupOperator | 获取一个 Boolean 属性值,该值指定当前用户是否是 DbBackupOperator 数据库角色的成员。 | |
IsDbDatareader | 获取一个 Boolean 属性值,该值指定当前用户是否是 DbDatareader 数据库角色的成员。 | |
IsDbDatawriter | 获取一个 Boolean 属性值,该值指定当前用户是否是 DbDatawriter 数据库角色的成员。 | |
IsDbDdlAdmin | 获取一个 Boolean 属性值,该值指定当前用户是否是 DbDdlAdmin 数据库角色的成员。 | |
IsDbDenyDatareader | 获取一个 Boolean 属性值,该值指定当前用户是否是 DbDenyDatareader 数据库角色的成员。 | |
IsDbDenyDatawriter | 获取一个 Boolean 属性值,该值指定当前成员是否是 DbDenyDatawriter 数据库的成员。 | |
IsDbManager | 获取一个 Boolean 值,该值指定当前登录名在 SQL Azure 中是否为数据库管理员。 | |
IsDbOwner | 获取一个 Boolean 属性值,该值指定当前用户是否是 DbOwner 数据库角色的成员。 | |
IsDbSecurityAdmin | 获取一个 Boolean 属性值,该值指定当前用户是否是 DbSecurityAdmin 数据库角色的成员。 | |
IsFullTextEnabled | 获取 Boolean 值,该值指定是否为全文搜索启用数据库。 | |
IsLoginManager | 获取一个 Boolean 值,该值指定当前登录名在 SQL Azure 中是否为登录管理员。 | |
IsMailHost | 获取 Boolean 值,该值指定数据库是否配置为邮件主机。 | |
IsManagementDataWarehouse | 获取 Boolean 值,该值指定数据库是否是管理数据仓库。 | |
IsMirroringEnabled | 获取 Boolean 值,该值指定是否对数据库启用镜像。 | |
IsParameterizationForced | 获取或设置一个属性值,该值指定是否对数据库强制执行参数化。 | |
IsReadCommittedSnapshotOn | 获取 Boolean 值,该值指定具有已提交读隔离级别的事务是否使用行版本控制。 | |
IsSystemObject | 获取 Boolean 值,该值指定数据库是系统对象还是用户定义的数据库。 | |
IsTouched | 获取 Boolean 属性值,该值指定在服务器上对象属性是否已更新但尚未持久化。 (从 SqlSmoObject 继承。) | |
IsUpdateable | 获取 Boolean 值,该值指定是否可以更新数据库。 | |
IsVarDecimalStorageFormatEnabled | 获取或设置一个属性值,该值指定是否启用 VarDecimal 存储。 | |
LastBackupDate | 获取上次备份数据库的日期和时间。 | |
LastDifferentialBackupDate | 获取上次执行差异备份的日期和时间。 | |
LastLogBackupDate | 获取上次备份事务日志的日期和时间。 | |
LocalCursorsDefault | 获取一个布尔值,该值指定默认情况下是否使用本地服务器游标。 | |
LogFiles | 表示 LogFile 对象的集合。每个 LogFile 对象都表示对数据库定义的一个日志文件。 | |
LogReuseWaitStatus | 获取事务日志空间重用操作正在等待的操作的类型。 | |
MasterKey | 获取用于对证书私钥进行加密的主密钥。 | |
MirroringFailoverLogSequenceNumber | 获取最近一次故障转移的日志序列号。 | |
MirroringID | 获取唯一标识镜像合作关系的 ID 值。 | |
MirroringPartner | 获取或设置作为数据库镜像的伙伴服务器的数据库引擎实例的地址。 | |
MirroringPartnerInstance | 获取对其配置镜像合作关系的 SQL Server 的实例。 | |
MirroringRedoQueueMaxSize | 获取或设置镜像服务器实例的重做队列的最大大小 (KB)。 | |
MirroringRoleSequence | 获取镜像伙伴充当的主要/备份角色的角色序列号。 | |
MirroringSafetyLevel | 获取或设置镜像安全级别。 | |
MirroringSafetySequence | 获取镜像伙伴的安全级别的角色序列号。 | |
MirroringStatus | 获取数据库的状态和数据库镜像会话的状态。 | |
MirroringTimeout | 获取或设置主体服务器实例在认为其他实例断开连接之前等待来自镜像会话中一个实例的 PING 消息的最长时间(秒)。 | |
MirroringWitness | 获取或设置数据库镜像见证服务器的数据库引擎实例的名称。 | |
MirroringWitnessStatus | 获取镜像见证服务器的状态。 | |
Name | 获取或设置数据库的名称。 (覆盖 NamedSmoObject. . :: . .Name。) | |
NumericRoundAbortEnabled | 获取或设置一个布尔属性值,该值指定 NUMERIC_ROUNDABORT 数据库选项是否处于活动状态。 | |
ObjectInSpace | 获取 Boolean 属性值,该值指定对象是否单独存在,或者对象是否直接或间接连接到 SQL Server 的实例。 (从 SqlSmoObject 继承。) | |
Owner | 获取是数据库的所有者的数据库主体。 | |
PageVerify | 指定在读取数据库页时 SQL Server 执行的页完整性检查的类型。 | |
Parent | 获取是 Database 对象的父对象的 Server 对象。 | |
PartitionFunctions | 表示 PartitionFunction 对象的集合。每个 PartitionFunction 对象都表示对数据库定义的一个分区函数。 | |
PartitionSchemes | 表示 PartitionScheme 对象的集合。每个 PartitionScheme 对象都表示对数据库定义的一个分区方案。 | |
PlanGuides | 获取与某一数据库相关联的计划指南。 | |
PrimaryFilePath | 获取包含数据库的主文件的操作系统目录。 | |
Properties | 获取表示对象属性的 Property 对象的集合。 (从 SqlSmoObject 继承。) | |
QuotedIdentifiersEnabled | 获取或设置一个布尔属性值,该值指定由双引号 (" ") 分隔的标识符是否为 Transact-SQL 保留关键字,或者是否包含 Transact-SQL 语法规则通常不允许的字符。 | |
ReadOnly | 属性或设置一个布尔属性值,该值指定数据库是否为只读。 | |
RecoveryForkGuid | 获取一个 GUID 值,该值指定数据库当前在其上处于活动状态的恢复分叉。 | |
RecoveryModel | 获取或设置数据库的恢复模式。 | |
RecursiveTriggersEnabled | 属性或设置一个布尔值,该值指定是否对数据库启用递归触发器。 | |
ReplicationOptions | 获取数据库的处于活动状态的复制设置。 | |
Roles | 表示 DatabaseRole 对象的集合。每个 DatabaseRole 对象都表示对数据库定义的一个角色。 | |
Rules | 表示 Rule 对象的集合。每个 Rule 对象都表示对数据库定义的一个规则。 | |
ScalarResult | 获取所引用对象的标量结果。 (从 SqlSmoObject 继承。) | |
Schemas | 表示 Schema 对象的集合。每个 Schema 对象都表示对数据库定义的一个架构。 | |
ServiceBroker | 获取表示 Service Broker 的 ServiceBroker 对象。 | |
ServiceBrokerGuid | 获取唯一标识 Service Broker 的实例的 Guid 对象。 | |
Size | 获取数据库的大小 (MB)。 | |
SnapshotIsolationState | 获取数据库的快照隔离状态。 | |
SpaceAvailable | 获取数据库中的可用空间 (KB)。 | |
State | Gets the state of the referenced object. (从 SmoObjectBase 继承。) | |
Status | 获取数据库状态。 | |
StoredProcedures | 表示 StoredProcedure 对象的集合。每个 StoredProcedure 对象都表示对数据库定义的一个存储过程。 | |
SymmetricKeys | 表示 SymmetricKey 对象的集合。每个 SymmetricKey 对象都表示对数据库定义的一个对称密钥。 | |
Synonyms | 表示 Synonym 对象的集合。每个 Synonym 对象都表示对数据库定义的一个同义词。 | |
Tables | 表示 Table 对象的集合。每个 Table 对象都表示对数据库定义的一个表。 | |
Triggers | 表示 DatabaseDdlTrigger 对象的集合。每个 DatabaseDdlTrigger 对象都表示对数据库定义的一个触发器。 | |
Trustworthy | TRUSTWORTHY 数据库属性用于指示 SQL Server 2005 实例是否信任该数据库以及其中的内容 | |
Urn | 获取唯一标识对象的统一资源名称 (URN) 地址值。 (从 SqlSmoObject 继承。) | |
UserAccess | 获取或设置数据库用户访问。 | |
UserData | Gets or sets user-defined data associated with the referenced object. (从 SmoObjectBase 继承。) | |
UserDefinedAggregates | 表示 UserDefinedAggregate 对象的集合。每个 UserDefinedAggregate 对象都表示对数据库定义的一个用户定义的聚合。 | |
UserDefinedDataTypes | 表示 UserDefinedDataType 对象的集合。每个 UserDefinedDataType 对象都表示对数据库的一个用户定义的数据类型。 | |
UserDefinedFunctions | 表示 UserDefinedFunction 对象的集合。每个 UserDefinedFunction 对象都表示对数据库的一个用户定义的函数。 | |
UserDefinedTableTypes | 表示 UserDefinedTableType 对象的集合。每个 UserDefinedTableType 对象都表示对数据库的一个用户定义的表类型。 | |
UserDefinedTypes | 表示 UserDefinedType 对象的集合。每个 UserDefinedType 对象都表示对数据库的一个用户定义类型。 | |
UserName | 获取或设置数据库用户名。 | |
Users | 表示 User 对象的集合。每个 User 对象都表示对数据库定义的一个用户。 | |
Version | 获取用于创建数据库的 SQL Server 实例的版本。 | |
Views | 表示 View 对象的集合。每个 View 对象都表示对数据库定义的一个视图。 | |
XmlSchemaCollections | 表示 XmlSchemaCollection 对象的集合。每个 XmlSchemaCollection 对象都表示对数据库定义的一个 XML 架构。 |
页首
方法
页首
事件
名称 | 说明 | |
---|---|---|
PropertyChanged | 表示更改属性时发生的事件。 (从 SqlSmoObject 继承。) | |
PropertyMetadataChanged | 表示属性元数据更改时发生的事件。 (从 SqlSmoObject 继承。) |
页首
字段
名称 | 说明 | |
---|---|---|
m_ExtendedProperties | 表示一个属性,可以对该属性进行定义以便扩展 SqlSmoObject 提供的属性。 (从 SqlSmoObject 继承。) | |
singletonParent | 表示单一父级。 (从 SqlSmoObject 继承。) |
页首
显式接口实现
名称 | 说明 | |
---|---|---|
IAlienObject. . :: . .Discover | 发现任何依赖关系。不要在您的代码中直接引用此成员。它支持 SQL Server 基础结构。 (从 SqlSmoObject 继承。) | |
IAlienObject. . :: . .GetDomainRoot | 返回域的根。 (从 SqlSmoObject 继承。) | |
IAlienObject. . :: . .GetParent | 获取此对象的父对象。不要在您的代码中直接引用此成员。它支持 SQL Server 基础结构。 (从 SqlSmoObject 继承。) | |
IAlienObject. . :: . .GetPropertyType | 获取指定属性的类型。 (从 SqlSmoObject 继承。) | |
IAlienObject. . :: . .GetPropertyValue | 获取指定属性的值。 (从 SqlSmoObject 继承。) | |
IAlienObject. . :: . .GetUrn | 获取对象的统一资源名称。不要在您的代码中直接引用此成员。它支持 SQL Server 基础结构。 (从 SqlSmoObject 继承。) | |
IAlienObject. . :: . .Resolve | 获取一个实例,该实例包含与来自该对象的统一资源名称的对象有关的信息。 (从 SqlSmoObject 继承。) | |
IAlienObject. . :: . .SetObjectState | 将对象状态设置为指定的 SfcObjectState 值。 (从 SqlSmoObject 继承。) | |
IAlienObject. . :: . .SetPropertyValue | 设置属性值。 (从 SqlSmoObject 继承。) | |
ISfcPropertyProvider. . :: . .GetPropertySet | 获取对此对象的属性集的接口引用。不要在您的代码中直接引用此成员。它支持 SQL Server 基础结构。 (从 SqlSmoObject 继承。) | |
ISfcSupportsDesignMode. . :: . .IsDesignMode | 获取一个布尔值,该值指示对象是否支持设计模式。标识为仅供参考。不提供支持。不保证以后的兼容性。 |
页首
注释
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, 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 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.
Thread Safety
此类型的任何公共静态(Microsoft Visual Basic 中的 Shared)成员在多线程操作中是安全的。不保证所有实例成员都是线程安全的。
示例
VB
'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()
PowerShell
$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database($srv, "Test_SMO_Database")
$db.Create()
Write-Host $db.CreateDate
$db.Drop()
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。不保证所有实例成员都是线程安全的。