以下章節將說明 SSMA 在將 Access 架構匯出至 SQL Server 時所建立的資料表。
Databases
資料庫的元資料會匯出到 SSMA_Access_InventoryDatabases 表格。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
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 版本。 |
Collation |
nvarchar(4000) | Access資料庫的彙整。 排序規則決定了資料庫如何排列和比較字串。 |
JetVersion |
nvarchar(4000) | Jet 資料庫引擎版本。 Access 資料庫使用底層的 Jet 資料庫引擎。 |
IsUpdatable |
bit | 顯示資料庫是否可以更新。 若值為 1,則資料庫可更新。 若值為 0,則資料庫為唯讀。 |
QueryTimeout |
int | 資料庫的 ODBC 查詢逾時值,以秒為單位。 預設值是 60 秒。 |
Tables
表格的元資料會匯出到 SSMA_Access_InventoryTables 表格中。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含此資料表的資料庫。 |
TableId |
uniqueidentifier | 一個唯一識別資料表的 GUID。 此欄位同時也是表格的主鍵。 |
TableName |
nvarchar(4000) | 數據表的名稱。 |
RowsCount |
int | 表格中的列數。 |
ValidationRule |
nvarchar(4000) | 定義表格有效輸入的規則。 若不存在驗證規則,欄位包含空字串。 |
LinkedTable |
nvarchar(4000) | 若有其他表格,它與該表格相關聯。 連結資料表可透過此資料表對其他資料表進行新增、刪除與更新。 |
ExternalSource |
nvarchar(4000) | 與該表格相關的資料來源(若有的話)。 如果資料表是連結的,該欄位會指定一個外部資料來源。 |
Columns
欄位元資料會匯出到 SSMA_Access_InventoryColumns 表格。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含此欄位的資料庫。 |
TableId |
uniqueidentifier | 識別包含此欄位的表格。 |
ColumnId |
int | 一個遞增的整數,用來識別欄位。
ColumnId 是該表的主鍵。 |
ColumnName |
nvarchar(4000) | 欄位名稱。 |
IsNullable |
bit | 指定欄位是否可以包含空值。 若值為 1,欄位可包含空值。 如果值是 0,該欄位就不能包含空值。 驗證規則也可用來防止空值。 |
DataType |
nvarchar(4000) | 欄位的存取資料型態,例如 Text 或 Long。 |
IsAutoIncrement |
bit | 指定欄位是否自動增加整數值。 如果值是 1,整數會自動遞增。 |
Ordinal |
smallint | 表格中欄位的順序,從零開始。 |
DefaultValue |
nvarchar(4000) | 資料行的預設值。 |
ValidationRule |
nvarchar(4000) | 用來驗證欄位中新增或更新資料的規則。 |
Indexes
索引元資料會匯出到 SSMA_Access_InventoryIndexes 表格。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含此索引的資料庫。 |
TableId |
uniqueidentifier | 識別包含此索引的資料表。 |
IndexId |
int | 一個遞增的整數,用來識別索引。 此欄為表格的主鍵。 |
IndexName |
nvarchar(4000) | 索引的名稱。 |
ColumnsIncluded |
nvarchar(4000) | 列出索引中包含的欄位。 欄位名稱以分號分隔。 |
IsUnique |
bit | 指定索引中的每個項目是否必須是唯一的。 在多欄位索引中,數值組合必須是唯一的。 若值為 1,索引則強制執行唯一值。 |
IsPK |
bit | 指定索引是否在定義主鍵時自動建立。 |
IsClustered |
bit | 指定索引是否為叢集。 叢集索引重新排序資料的實體儲存。 資料表只能有一個叢集索引。 |
外鍵
外鍵元資料會匯出到 SSMA_Access_InventoryForeignKeys 表格。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含此外鍵的資料庫。 |
TableId |
uniqueidentifier | 識別包含此外鍵的資料表。 |
ForeignKeyId |
int | 一個遞增的整數,用來識別外鍵。 此欄為表格的主鍵。 |
ForeignKeyName |
nvarchar(4000) | 索引的名稱。 |
ReferencedTableId |
uniqueidentifier | 識別包含來源欄位的資料表。 |
SourceColumns |
nvarchar(4000) | 列出外鍵欄位或欄位。 |
ReferencedColumns |
nvarchar(4000) | 列出外鍵所參考的主鍵欄位或欄位組。 |
IsCascadeForUpdate |
bit | 規定若主鍵值更新,所有參考該鍵值的資料列也會同步更新。 |
IsCascadeForDelete |
bit | 規定若主鍵值被刪除,所有參考該鍵值的資料列也會被刪除。 |
IsEnforced |
bit | 指定外鍵約束需要執行。 |
Queries
查詢元資料會匯出到 SSMA_Access_InventoryQueries 資料表。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含此查詢的資料庫。 |
QueryId |
int | 一個遞增的整數,用來識別查詢。 此欄為表格的主鍵。 |
QueryName |
nvarchar(4000) | 查詢的名稱。 |
QueryText |
nvarchar(4000) | SQL 查詢程式碼,例如 SELECT 語句。 |
IsUpdateable |
bit | 指定查詢是可更新還是唯讀。 |
QueryType |
nvarchar(4000) | 指定查詢類型,例如 Select 或 SetOperation。 |
ExternalSource |
nvarchar(4000) | 若查詢參考外部資料來源,則該查詢所使用的是連接字串。 |
表單
表單的元資料會匯出到 SSMA_Access_InventoryForms 表格。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含此表單的資料庫。 |
FormId |
int | 一個遞增的整數,用來識別形式。 此欄為表格的主鍵。 |
FormName |
nvarchar(4000) | 表單的名稱。 |
Macros
巨集元資料會匯出到 SSMA_Access_InventoryMacros 資料表。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含巨集的資料庫。 |
MacroId |
int | 一個遞增的整數,用來識別巨集。 此欄為表格的主鍵。 |
MacroName |
nvarchar(4000) | 巨集的名稱。 |
報告
報告的元資料會匯出到 SSMA_Access_InventoryReports 表格。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含該報告的資料庫。 |
ReportId |
int | 一個遞增的整數,用來識別報告。 此欄為表格的主鍵。 |
ReportName |
nvarchar(4000) | 報表的名稱。 |
模組
模組的元資料會匯出到 SSMA_Access_InventoryModules 表格。 本表包含以下欄位:
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
DatabaseId |
uniqueidentifier | 識別包含該模組的資料庫。 |
ModuleId |
int | 一個遞增的整數,用來識別模組。 此欄為表格的主鍵。 |
ModuleName |
nvarchar(4000) | 模組名稱。 |