office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請用微信掃碼)

        

使用升遷向?qū)?Access 數(shù)據(jù)移動至 SQL Server 數(shù)據(jù)庫

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

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

本文內(nèi)容

·        關(guān)于升遷 Microsoft Office Access 數(shù)據(jù)庫

·        使用升遷向?qū)?/span>

·        數(shù)據(jù)庫對象如何得到升遷

關(guān)于升遷 Microsoft  Office Access 數(shù)據(jù)庫

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

將數(shù)據(jù)庫升遷至 SQL Server 的好處

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

·    可用性更好    SQL Server 允許您對使用中的數(shù)據(jù)庫進(jìn)行增量或完整的動態(tài)備份。這樣您就不必強(qiáng)制用戶退出數(shù)據(jù)庫來備份數(shù)據(jù)。

·    安全性提高    使用可信連接,SQL Server 可與 Windows 系統(tǒng)安全集成,利用兩個(gè)安全系統(tǒng)的最佳優(yōu)勢提供對網(wǎng)絡(luò)和數(shù)據(jù)庫的單一集成訪問。這使其更容易管理復(fù)雜的安全架構(gòu)。

·    即時(shí)可恢復(fù)性    在出現(xiàn)系統(tǒng)故障時(shí)(例如操作系統(tǒng)崩潰或停電),SQL Server具有的自動恢復(fù)機(jī)制可在幾分鐘內(nèi)將數(shù)據(jù)庫恢復(fù)到上一個(gè)一致的狀態(tài),而無需數(shù)據(jù)庫管理員的干預(yù)。

·   基于服務(wù)器的處理    在客戶端/服務(wù)器配置中使用 SQL Server 可降低網(wǎng)絡(luò)流量,原因是會先在服務(wù)器上處理數(shù)據(jù)庫查詢,然后再將結(jié)果發(fā)送至客戶端。讓服務(wù)器進(jìn)行處理通常要高效得多,特別是在處理大型數(shù)據(jù)集時(shí)。

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

升遷方法

升遷向?qū)?/span>可以將數(shù)據(jù)庫對象及其包含的數(shù)據(jù)從 Access 數(shù)據(jù)庫移至新的或現(xiàn)有的 SQL Server 數(shù)據(jù)庫中。

可通過三種方法使用升遷向?qū)?/span>

·     所有數(shù)據(jù)庫對象從 Access 數(shù)據(jù)庫升遷至 Access 項(xiàng)目,以便可以創(chuàng)建客戶端/服務(wù)器應(yīng)用程序。此方法需要對代碼和復(fù)雜查詢進(jìn)行一些額外的應(yīng)用程序更改和修改。

·     將數(shù)據(jù)或數(shù)據(jù)定義從 Access 數(shù)據(jù)庫升遷至 SQL Server 數(shù)據(jù)庫。

·      Access 數(shù)據(jù)庫前端和 SQL Server 數(shù)據(jù)庫后端,以便可以創(chuàng)建前端/后端應(yīng)用程序。此方法需要非常少的應(yīng)用程序修改,因?yàn)榇a仍然使用 Access 數(shù)據(jù)庫引擎 (ACE)

升遷 Access 數(shù)據(jù)庫之前

在將 Access 數(shù)據(jù)庫升遷至 SQL Server 數(shù)據(jù)庫或 Access 項(xiàng)目之前,請考慮執(zhí)行以下操作:

·     備份您的數(shù)據(jù)庫     雖然升遷向?qū)?/span>不會從 Access 數(shù)據(jù)庫中刪除任何數(shù)據(jù)或數(shù)據(jù)庫對象,但是先創(chuàng)建 Access 數(shù)據(jù)庫的備份副本,然后再升遷仍不失為一個(gè)好主意。

·     確保您有足夠的磁盤空間     必須在將包含升遷數(shù)據(jù)庫的設(shè)備中具有足夠的磁盤空間。有充足的可用磁盤空間時(shí)升遷向?qū)?/span>運(yùn)行狀態(tài)最佳。

·     創(chuàng)建唯一索引      Access 中,鏈接表必須具有可更新的唯一索引。升遷向?qū)?/span>可以升遷現(xiàn)有的唯一索引,但是無法在不存在的情況下創(chuàng)建一個(gè)。如果希望能夠更新表,請確保向每個(gè) Access 表添加唯一索引,然后再升遷。

·      SQL Server 數(shù)據(jù)庫中為自己分配適當(dāng)?shù)臋?quán)限

·     若要升遷現(xiàn)有數(shù)據(jù)庫,您需要具有 Create TABLE  Create DEFAULT 權(quán)限。

·     若要構(gòu)建新數(shù)據(jù)庫,您需要具有 Create DATABASE 權(quán)限以及在 Master 數(shù)據(jù)庫的系統(tǒng)表中具有 Select 權(quán)限。

Access 2007 升遷向?qū)б呀?jīng)過優(yōu)化,可以用于 Microsoft SQL Server 2000  SQL Server 2005  

使用升遷向?qū)?/span>

·     數(shù)據(jù)庫工具選項(xiàng)卡上的移動數(shù)據(jù)組中,單擊“SQL Server”。 將啟動升遷向?qū)?/span>

·        步驟 1:選擇升遷至現(xiàn)有數(shù)據(jù)庫或新數(shù)據(jù)庫

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

·        步驟 3:指定要升遷的屬性和選項(xiàng)

·        步驟 4:選擇升遷應(yīng)用程序的方式

步驟 1:選擇升遷至現(xiàn)有數(shù)據(jù)庫或新數(shù)據(jù)庫

在向?qū)У牡谝豁撋?,指定是要?/span> Access 數(shù)據(jù)庫升遷至現(xiàn)有 SQL Server 數(shù)據(jù)庫還是創(chuàng)建新的 SQL Server 數(shù)據(jù)庫。

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

關(guān)于 ODBC 數(shù)據(jù)源

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

 ODBC 體系結(jié)構(gòu)中,應(yīng)用程序(例如 Access  Microsoft Visual Basic 程序)連接到 ODBC 驅(qū)動程序管理器,然后該驅(qū)動程序管理器使用特定的 ODBC 驅(qū)動程序(例如 Microsoft SQL ODBC 驅(qū)動程序)連接到數(shù)據(jù)源(在此例中為 SQL Server 數(shù)據(jù)庫)。在 Access 中,您使用 ODBC 數(shù)據(jù)源連接到 Access 外部的數(shù)據(jù)源(沒有內(nèi)置驅(qū)動程序)。

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

計(jì)算機(jī)數(shù)據(jù)源

計(jì)算機(jī)數(shù)據(jù)源在特定計(jì)算機(jī)的 Windows 注冊表中存儲連接信息(具有用戶定義的名稱)。只能在定義計(jì)算機(jī)數(shù)據(jù)源的計(jì)算機(jī)上使用這些數(shù)據(jù)源。有兩種類型的計(jì)算機(jī)數(shù)據(jù)源 —用戶和系統(tǒng)。用戶數(shù)據(jù)源只能由當(dāng)前用戶使用且僅對該用戶可見。系統(tǒng)數(shù)據(jù)源可由計(jì)算機(jī)上的所有用戶使用且對計(jì)算機(jī)和系統(tǒng)范圍服務(wù)的所有用戶可見。計(jì)算機(jī)數(shù)據(jù)源在您要提供更高的安全性時(shí)特別有用,因?yàn)橹挥械卿浀挠脩艨梢圆榭从?jì)算機(jī)數(shù)據(jù)源,且計(jì)算機(jī)數(shù)據(jù)源不能被遠(yuǎn)程用戶復(fù)制到其他計(jì)算機(jī)中。

文件數(shù)據(jù)源

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

文件數(shù)據(jù)源也可以是非共享的。非共享的文件數(shù)據(jù)源駐留在單臺計(jì)算機(jī)上,并指向一個(gè)計(jì)算機(jī)數(shù)據(jù)源。使用非共享的文件數(shù)據(jù)源可以從文件數(shù)據(jù)源訪問現(xiàn)有的計(jì)算機(jī)數(shù)據(jù)源。

連接字符串

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

·        新建數(shù)據(jù)庫    如果選擇此選項(xiàng)并單擊下一步,Access 將顯示要求您輸入有關(guān)新 SQL Server 數(shù)據(jù)庫的信息的頁面。         

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

·      使用可信連接     可以使用可信連接,即 SQL Server 可以與 Windows 操作系統(tǒng)安全集成以提供對網(wǎng)絡(luò)和數(shù)據(jù)庫的單一登錄。

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

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

步驟 2:選擇要升遷的表

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

可用表列表中包含除了已經(jīng)在 SQL Server 數(shù)據(jù)庫中的 SQL Server 表以外的所有鏈接表。指向已經(jīng)選擇用于升遷的 SQL Server 數(shù)據(jù)庫的鏈接表會自動出現(xiàn)在導(dǎo)出到 SQL Server”列表框中且無法刪除。還會排除當(dāng)前在導(dǎo)航窗格中不可見的表,包括隱藏的表和系統(tǒng)表。

 提示   名稱以“_local”結(jié)尾的所有表都會從可用表列表中排除,以防止升遷已經(jīng)升遷過的表。如果確實(shí)要再次升遷這些表,請通過刪除后綴“_local”對其進(jìn)行重命名,然后再運(yùn)行升遷向?qū)?/span>

步驟 3:指定要升遷的屬性和選項(xiàng)

在此步驟中,選擇要升遷至 SQL Server 數(shù)據(jù)庫的表屬性。默認(rèn)情況下,所有屬性都選擇進(jìn)行升遷。

 注釋   默認(rèn)情況下,升遷向?qū)?/span> Access 字段名轉(zhuǎn)換為合法的 SQL Server 字段名,并且將 Access 數(shù)據(jù)類型轉(zhuǎn)換為等效的 SQL Server 數(shù)據(jù)類型。

升遷下列表屬性

下表列出了可以升遷的屬性,并說明了升遷向?qū)?/span>如何處理每個(gè)屬性:

 

      屬性 選中時(shí)的操作
      索引

      “升遷向?qū)А鄙w所有索引。

      “升遷向?qū)А睂?Access 主鍵轉(zhuǎn)換為 SQL Server 索引并將其標(biāo)記為 SQL Server 主鍵。如果選擇將升遷的 SQL Server 表鏈接至 Access 數(shù)據(jù)庫,則“升遷向?qū)А边€會在索引名稱前添加“aaaaa”前綴。這是因?yàn)?Access 選擇可用索引列表中按字母順序排在第一位的索引作為主鍵,而“aaaaa”前綴確保選擇正確的索引。

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

      在 Access 中,鏈接表必須具有可更新的唯一索引?!吧w向?qū)А笨梢陨w現(xiàn)有的唯一索引,但是無法在不存在的情況下創(chuàng)建一個(gè)。如果希望能夠在升遷后更新表中的數(shù)據(jù),請確保向每個(gè) Access 表添加唯一索引,然后再升遷。

      有效性規(guī)則

      關(guān)鍵字

      分享
      文章分類
      聯(lián)系我們
      聯(lián)系人: 王先生
      Email: 18449932@qq.com
      QQ: 18449932
      微博: officecn01
      ? 1999-2025 Office交流網(wǎng)?? 中山市天鳴科技發(fā)展有限公司 粵ICP備10043721號 SQL查詢:19
      內(nèi)存占用:6.00MB
      PHP 執(zhí)行時(shí)間:0.37
      移動訪問
      <fieldset id="0axff"></fieldset>