Access 詳細目錄結構描述 (AccessToSQL)
下列各節說明將 Access 結構描述匯出至 SQL Server 時,SSMA 會建立的資料表。
資料庫
資料庫中繼資料會匯出至 SSMA_Access_InventoryDatabases 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 可唯一識別每個資料庫的 GUID。 此資料行也是資料表的主索引鍵。 |
DatabaseName | nvarchar(4000) | Access 資料庫的名稱。 |
ExportTime | datetime | SSMA 建立此中繼資料的日期和時間。 |
FilePath | nvarchar(4000) | Access 資料庫的完整路徑和檔案名稱。 |
FileSize | bigint | Access 資料庫大小 (KB)。 |
FileOwner | nvarchar(4000) | 指定為 Access 資料庫擁有者的 Windows 帳戶。 |
DateCreated | datetime | 建立 Access 資料庫的日期和時間。 |
DateModified | datetime | 上次修改 Access 資料庫的日期和時間。 |
TablesCount | int | Access 資料庫中的資料表數量。 |
QueriesCount | int | Access 資料庫中的查詢數輛。 |
FormsCount | int | Access 資料庫中的表單數量。 |
ModulesCount | int | Access 資料庫中的模組數量。 |
ReportsCount | int | Access 資料庫中的報告數量。 |
MacrosCount | int | Access 資料庫中的巨集數量。 |
AccessVersion | nvarchar(4000) | 資料庫的 Access 版本。 |
定序 | nvarchar(4000) | Access 資料庫的定序。 定序會決定資料庫如何排序和比較字串。 |
JetVersion | nvarchar(4000) | Jet 資料庫引擎版本。 Access 資料庫使用基礎 Jet 資料庫引擎。 |
IsUpdatable | bit | 指出是否可以更新資料庫。 如果值為 1,表示資料庫可以更新。 如果值為 0,表示資料庫設為唯讀。 |
QueryTimeout | int | 資料庫的已設定 ODBC 查詢逾時值 (秒)。 預設值是 60 秒。 |
Tables
資料表中繼資料會匯出至 SSMA_Access_InventoryTables 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含此資料表的資料庫。 |
TableId | uniqueidentifier | 可唯一識別資料表的 GUID。 此資料行也是資料表的主索引鍵。 |
TableName | nvarchar(4000) | 資料表的名稱。 |
RowsCount | int | 表格中的列數。 |
ValidationRule | nvarchar(4000) | 定義資料表有效輸入的規則。 如果沒有驗證規則存在,欄位將包含空字串。 |
LinkedTable | nvarchar(4000) | 與資料表連結另一個資料表 (若有)。 連結資料表後,可使用這個資料表新增、刪除和更新另一個資料表。 |
ExternalSource | nvarchar(4000) | 與資料表相關聯的資料來源 (若有)。 如果資料表已連結,會在此欄位中指定外部資料來源。 |
資料行
資料行中繼資料會匯出至 SSMA_Access_InventoryColumns 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含此資料行的資料庫。 |
TableId | uniqueidentifier | 識別包含此資料行的資料表。 |
ColumnId | int | 用於識別資料行的遞增整數。 ColumnId 是資料表的主索引鍵。 |
ColumnName | nvarchar(4000) | 資料行名稱。 |
isNullable | bit | 指定資料行是否可包含 Null 值。 如果值為 1,表示資料行可包含 Null 值。 如果值為 0,表示資料行不能包含 Null 值。 請注意,驗證規則也可以用來防止 Null 值。 |
DataType | nvarchar(4000) | 資料行的 Access 資料類型,例如 Text 或 Long。 |
IsAutoIncrement | bit | 指定資料行是否自動遞增整數值。 如果值為 1,整數會自動遞增。 |
序數 | smallint | 資料表中資料行的順序,從零開始。 |
DefaultValue | nvarchar(4000) | 資料行的預設值。 |
ValidationRule | nvarchar(4000) | 用來驗證資料行中新增或更新資料的規則。 |
索引
索引中繼資料會匯出至 SSMA_Access_InventoryIndexes 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含此索引的資料庫。 |
TableId | uniqueidentifier | 識別包含此索引的資料表。 |
IndexId | int | 用於識別索引的遞增整數。 此資料行是資料表的主索引鍵。 |
IndexName | nvarchar(4000) | 索引的名稱。 |
ColumnsIncluded | nvarchar(4000) | 列出索引中包含的資料行。 資料行名稱會以分號分隔。 |
IsUnique | bit | 指定索引中的每個專案是否都必須是唯一的。 在多資料行索引上,值的組合必須是唯一的。 如果值為 1,索引會強制使用唯一值。 |
IsPK | bit | 指定是否已在定義主索引鍵時自動編製索引。 |
IsClustered | bit | 指定索引是否已叢集化。 叢集化索引會重新排列資料的實體儲存體。 資料表只能有一個叢集索引。 |
外部索引鍵
外部索引鍵中繼資料會匯出至 SSMA_Access_InventoryForeignKeys 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含這個外部索引鍵的資料庫。 |
TableId | uniqueidentifier | 識別包含這個外部索引鍵的資料表。 |
ForeignKeyId | int | 用於識別外部索引鍵的遞增整數。 此資料行是資料表的主索引鍵。 |
ForeignKeyName | nvarchar(4000) | 索引的名稱。 |
ReferencedTableId | uniqueidentifier | 識別包含來源資料行的資料表。 |
SourceColumns | nvarchar(4000) | 列出外部索引鍵資料行。 |
ReferencedColumns | nvarchar(4000) | 列出外部索引鍵所參考的主索引鍵資料行。 |
IsCascadeForUpdate | bit | 指定如果主索引鍵值更新,參考該索引鍵值的所有資料列也會更新。 |
IsCascadeForDelete | bit | 指定如果刪除主索引鍵值,也會刪除參考該索引鍵值的所有資料列。 |
IsEnforced | bit | 指定強制執行外部索引鍵條件約束。 |
查詢
查詢中繼資料會匯出至 SSMA_Access_InventoryQueries 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含此查詢的資料庫。 |
QueryId | int | 用於識別查詢的遞增整數。 此資料行是資料表的主索引鍵。 |
QueryName | nvarchar(4000) | 查詢的名稱。 |
QueryText | nvarchar(4000) | SQL 查詢程式碼,例如 SELECT 陳述式。 |
IsUpdateable | bit | 指定查詢為可更新還是唯讀。 |
QueryType | nvarchar(4000) | 指定查詢的類型,例如 Select 或 SetOperation。 |
ExternalSource | nvarchar(4000) | 如果查詢參考外部資料來源,這是查詢所使用的連接字串。 |
Forms
表單中繼資料會匯出至 SSMA_Access_InventoryForms 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含此表單的資料庫。 |
FormId | int | 用於識別表單的遞增整數。 此資料行是資料表的主索引鍵。 |
FormName | nvarchar(4000) | 表格的名稱。 |
巨集
巨集中繼資料會匯出至 SSMA_Access_InventoryMacros 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含巨集的資料庫。 |
MacroId | int | 用於識別巨集的遞增整數。 此資料行是資料表的主索引鍵。 |
MacroName | nvarchar(4000) | 巨集的名稱。 |
報表
報告中繼資料會匯出至 SSMA_Access_InventoryReports 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含報告的資料庫。 |
ReportId | int | 用於識別報告的遞增整數。 此資料行是資料表的主索引鍵。 |
ReportName | nvarchar(4000) | 報表的名稱。 |
單元
模組中繼資料會匯出至 SSMA_Access_InventoryModules 資料表。 此資料表包含下列資料行:
資料行名稱 | 資料類型 | 描述 |
---|---|---|
DatabaseId | uniqueidentifier | 識別包含模組的資料庫。 |
ModuleId | int | 用於識別模組的遞增整數。 此資料行是資料表的主索引鍵。 |
ModuleName | nvarchar(4000) | 模組的名稱。 |