共用方式為


存取庫存結構(AccessToSQL)

以下章節將說明 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) 欄位的存取資料型態,例如 TextLong
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) 指定查詢類型,例如 SelectSetOperation
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) 模組名稱。