Database 類別
Database 物件代表 SQL Server 資料庫。
繼承階層
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 | 取得或設定布林 ANSI_NULLS_ENABLED 屬性值。 | |
AnsiPaddingEnabled | 取得或設定已啟用的 ANSI_PADDING_ENABLED 資料庫選項。 | |
AnsiWarningsEnabled | 取得或設定布林 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 OPTION。 | |
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 | 取得可唯一識別資料庫的資料庫識別碼值。 | |
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 | 取得可唯一識別鏡像合作關係的識別碼值。 | |
MirroringPartner | 取得或設定資料庫鏡像之夥伴伺服器的 Database Engine 執行個體位址。 | |
MirroringPartnerInstance | 取得用於設定鏡像夥伴的 SQL Server 執行個體。 | |
MirroringRedoQueueMaxSize | 取得或設定鏡像伺服器執行個體之重做佇列的最大大小 (以 KB 為單位)。 | |
MirroringRoleSequence | 取得鏡像夥伴所扮演之主要/備份角色的角色序號。 | |
MirroringSafetyLevel | 取得或設定鏡像的安全性層級。 | |
MirroringSafetySequence | 取得鏡像夥伴的安全性層級角色序號。 | |
MirroringStatus | 取得資料庫和資料庫鏡像工作階段的狀態。 | |
MirroringTimeout | 取得或設定主體伺服器執行個體在假定其他執行個體中斷連接之前,是否會在鏡像工作階段中等候來自另一個執行個體的 PING 訊息的最大時間 (以秒為單位)。 | |
MirroringWitness | 取得或設定資料庫鏡像見證伺服器之 Database Engine 執行個體的名稱。 | |
MirroringWitnessStatus | 取得鏡像見證伺服器的狀態。 | |
Name | 取得或設定資料庫的名稱。 (覆寫 NamedSmoObject. . :: . .Name。) | |
NumericRoundAbortEnabled | 取得或設定布林屬性值,這個值會指定 NUMERIC_ROUNDABORT 資料庫選項是否作用中。 | |
ObjectInSpace | 取得 Boolean 屬性值,指定物件是否存在於隔離中,或是直接或間接連接至 SQL Server 執行個體。 (繼承自 SqlSmoObject。) | |
Owner | 取得身為資料庫擁有者的資料庫主體。 | |
PageVerify | 指定 SQL Server 在讀取資料庫頁面時執行的頁面完整性檢查類型。 | |
Parent | 取得 Server 物件,這個物件是 Database 物件的父系。 | |
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 為共用) 成員具備多執行緒作業安全。不保證所有執行個體成員都是安全執行緒。
範例
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) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。