使用升遷向導將 Access 數據移動至 SQL Server 數據庫

2016-07-29 10:39:00
zstmtony
翻譯
1214

隨著時間的推移,大多數數據庫應用程序都會增大,變得更加復雜,而且需要支持更多的用戶。在 Microsoft Office Access 應用程序生命周期的某個時刻,您可能要考慮將其升遷至 Microsoft SQL Server 數據庫以優化性能、可伸縮性、可用性、安全性、可靠性和可恢復性。
正 文:

本文內容

·        關于升遷 Microsoft Office Access 數據庫

·        使用升遷向導

·        數據庫對象如何得到升遷

關于升遷 Microsoft  Office Access 數據庫

升遷是將部分或全部數據庫對象 Access 數據庫遷移至新的或現有的 SQL Server 數據庫或新的 Microsoft Access 項目 (.adp) 的過程。

將數據庫升遷至 SQL Server 的好處

·    高性能和高可伸縮性    在許多情況下,SQL Server 提供的性能都優于 Access 數據庫。SQL Server 還支持非常大的、以千吉字節度量的數據庫,這比當前兩吉字節限制的 Access 數據庫大得多。最后,SQL Server 以并行方式處理查詢(在單一進程內使用多個本機線程處理用戶請求),而且在增加更多用戶時最大限度地降低額外的內存需求,從而非常高效地工作。

·    可用性更好    SQL Server 允許您對使用中的數據庫進行增量或完整的動態備份。這樣您就不必強制用戶退出數據庫來備份數據。

·    安全性提高    使用可信連接,SQL Server 可與 Windows 系統安全集成,利用兩個安全系統的最佳優勢提供對網絡和數據庫的單一集成訪問。這使其更容易管理復雜的安全架構。

·    即時可恢復性    在出現系統故障時(例如操作系統崩潰或停電),SQL Server具有的自動恢復機制可在幾分鐘內將數據庫恢復到上一個一致的狀態,而無需數據庫管理員的干預。

·   基于服務器的處理    在客戶端/服務器配置中使用 SQL Server 可降低網絡流量,原因是會先在服務器上處理數據庫查詢,然后再將結果發送至客戶端。讓服務器進行處理通常要高效得多,特別是在處理大型數據集時。

您的應用程序也可以使用服務器(而不是客戶端)上的用戶定義的函數存儲過程觸發器集中和共享應用程序邏輯、業務規則和策略、復雜查詢、數據有效性和引用完整性代碼。

升遷方法

升遷向導可以將數據庫對象及其包含的數據從 Access 數據庫移至新的或現有的 SQL Server 數據庫中。

可通過三種方法使用升遷向導

·     所有數據庫對象從 Access 數據庫升遷至 Access 項目,以便可以創建客戶端/服務器應用程序。此方法需要對代碼和復雜查詢進行一些額外的應用程序更改和修改。

·     將數據或數據定義從 Access 數據庫升遷至 SQL Server 數據庫。

·      Access 數據庫前端和 SQL Server 數據庫后端,以便可以創建前端/后端應用程序。此方法需要非常少的應用程序修改,因為代碼仍然使用 Access 數據庫引擎 (ACE)

升遷 Access 數據庫之前

在將 Access 數據庫升遷至 SQL Server 數據庫或 Access 項目之前,請考慮執行以下操作:

·     備份您的數據庫     雖然升遷向導不會從 Access 數據庫中刪除任何數據或數據庫對象,但是先創建 Access 數據庫的備份副本,然后再升遷仍不失為一個好主意。

·     確保您有足夠的磁盤空間     必須在將包含升遷數據庫的設備中具有足夠的磁盤空間。有充足的可用磁盤空間時升遷向導運行狀態最佳。

·     創建唯一索引      Access 中,鏈接表必須具有可更新的唯一索引。升遷向導可以升遷現有的唯一索引,但是無法在不存在的情況下創建一個。如果希望能夠更新表,請確保向每個 Access 表添加唯一索引,然后再升遷。

·      SQL Server 數據庫中為自己分配適當的權限

·     若要升遷現有數據庫,您需要具有 Create TABLE  Create DEFAULT 權限。

·     若要構建新數據庫,您需要具有 Create DATABASE 權限以及在 Master 數據庫的系統表中具有 Select 權限。

Access 2007 升遷向導已經過優化,可以用于 Microsoft SQL Server 2000  SQL Server 2005  

使用升遷向導

·     數據庫工具選項卡上的移動數據組中,單擊“SQL Server” 將啟動升遷向導

·        步驟 1:選擇升遷至現有數據庫或新數據庫

·        步驟 2:選擇要升遷的表

·        步驟 3:指定要升遷的屬性和選項

·        步驟 4:選擇升遷應用程序的方式

步驟 1:選擇升遷至現有數據庫或新數據庫

在向導的第一頁上,指定是要將 Access 數據庫升遷至現有 SQL Server 數據庫還是創建新的 SQL Server 數據庫。

·      使用現有數據庫    如果選擇此選項并單擊下一步Access 將顯示選擇數據源對話框,以便您可以創建至現有 SQL Server 數據庫的 ODBC 數據源連接。

關于 ODBC 數據源

數據源是數據的來源,其中包含訪問該數據所需的連接信息。AccessSQL ServerOracle RDBMS、電子表格以及文本文件都是數據源的示例。連接信息的示例包括服務器位置、數據庫名稱、登錄 ID、密碼以及說明如何連接到數據源的各種 ODBC 驅動程序選項。

 ODBC 體系結構中,應用程序(例如 Access  Microsoft Visual Basic 程序)連接到 ODBC 驅動程序管理器,然后該驅動程序管理器使用特定的 ODBC 驅動程序(例如 Microsoft SQL ODBC 驅動程序)連接到數據源(在此例中為 SQL Server 數據庫)。在 Access 中,您使用 ODBC 數據源連接到 Access 外部的數據源(沒有內置驅動程序)。

若要連接到這些數據源,必須執行以下操作:      
在包含數據源的計算機上安裝適當的 ODBC 驅動程序。        
使用“ODBC 數據源管理器將連接信息存儲在 Microsoft Windows 注冊表或 DSN 文件中,或者使用 Visual Basic 代碼中的連接字符串將連接信息直接傳遞給 ODBC 驅動程序管理器,從而來定義數據源名稱 (DSN)

計算機數據源

計算機數據源在特定計算機的 Windows 注冊表中存儲連接信息(具有用戶定義的名稱)。只能在定義計算機數據源的計算機上使用這些數據源。有兩種類型的計算機數據源 —用戶和系統。用戶數據源只能由當前用戶使用且僅對該用戶可見。系統數據源可由計算機上的所有用戶使用且對計算機和系統范圍服務的所有用戶可見。計算機數據源在您要提供更高的安全性時特別有用,因為只有登錄的用戶可以查看計算機數據源,且計算機數據源不能被遠程用戶復制到其他計算機中。

文件數據源

文件數據源(也稱為 DSN 文件)在文本文件而不是 Windows 注冊表中存儲連接信息,而且使用起來通常比計算機數據源更加靈活。例如,可以將文件數據源復制到具有正確 ODBC 驅動程序的任何計算機中,以便應用程序可以將一致、準確的連接信息利用到它所使用的所有計算機。您也可以將文件數據源放到一個服務器上,在網絡中的許多計算機之間共享它,并在一個位置輕松維護連接信息。

文件數據源也可以是非共享的。非共享的文件數據源駐留在單臺計算機上,并指向一個計算機數據源。使用非共享的文件數據源可以從文件數據源訪問現有的計算機數據源。

連接字符串

您可以在模塊中定義指定連接信息的格式化連接字符串。連接字符串可將連接信息直接傳遞給 ODBC 驅動程序管理器,而且可以使系統管理員或用戶不必先創建 DSN 然后再使用數據庫,從而簡化您的應用程序。

·        新建數據庫    如果選擇此選項并單擊下一步Access 將顯示要求您輸入有關新 SQL Server 數據庫的信息的頁面。         

·      請選擇升遷該數據庫所用的 SQL Server:     鍵入要使用的服務器的名稱。         

·      使用可信連接     可以使用可信連接,即 SQL Server 可以與 Windows 操作系統安全集成以提供對網絡和數據庫的單一登錄。

·      登錄 ID 和密碼     如果不使用可信連接,請鍵入在服務器上擁有 Create DATABASE 權限的帳戶的登錄 ID 和密碼。

·      請指定升遷后的 SQL Server 數據庫的名稱:     鍵入新 SQL Server 數據庫的名稱。如果與現有數據庫名稱沖突,Access 將修改該名稱,并添加數字后綴(例如 mydatabase 1)。

步驟 2:選擇要升遷的表

在此步驟中,選擇要升遷至 SQL Server 數據庫的 Access 表。選擇您要升遷的表,然后使用箭頭按鈕將其移至導出到 SQL Server”列表。還可以雙擊表將其從一個列表移動到另一列表。

可用表列表中包含除了已經在 SQL Server 數據庫中的 SQL Server 表以外的所有鏈接表。指向已經選擇用于升遷的 SQL Server 數據庫的鏈接表會自動出現在導出到 SQL Server”列表框中且無法刪除。還會排除當前在導航窗格中不可見的表,包括隱藏的表和系統表。

 提示   名稱以“_local”結尾的所有表都會從可用表列表中排除,以防止升遷已經升遷過的表。如果確實要再次升遷這些表,請通過刪除后綴“_local”對其進行重命名,然后再運行升遷向導

步驟 3:指定要升遷的屬性和選項

在此步驟中,選擇要升遷至 SQL Server 數據庫的表屬性。默認情況下,所有屬性都選擇進行升遷。

 注釋   默認情況下,升遷向導 Access 字段名轉換為合法的 SQL Server 字段名,并且將 Access 數據類型轉換為等效的 SQL Server 數據類型。

升遷下列表屬性

下表列出了可以升遷的屬性,并說明了升遷向導如何處理每個屬性:

 

屬性 選中時的操作
索引

“升遷向導”升遷所有索引。

“升遷向導”將 Access 主鍵轉換為 SQL Server 索引并將其標記為 SQL Server 主鍵。如果選擇將升遷的 SQL Server 表鏈接至 Access 數據庫,則“升遷向導”還會在索引名稱前添加“aaaaa”前綴。這是因為 Access 選擇可用索引列表中按字母順序排在第一位的索引作為主鍵,而“aaaaa”前綴確保選擇正確的索引。

其他所有索引會保留其名稱,只是會用“_”字符替換非法字符。唯一和非唯一 Access 索引會成為唯一和非唯一 SQL Server 索引。

在 Access 中,鏈接表必須具有可更新的唯一索引。“升遷向導”可以升遷現有的唯一索引,但是無法在不存在的情況下創建一個。如果希望能夠在升遷后更新表中的數據,請確保向每個 Access 表添加唯一索引,然后再升遷。

有效性規則

關鍵字

分享
? 1999-2019 Office交流網?? 中山市天鳴科技發展有限公司 粵ICP備10043721號-5 SQL查詢:19
內存占用:8.25MB
PHP 執行時間:0.18
北京十一选五基本走势