SQL Delta實用案例介紹

概述sql

 

本篇文章主要介紹SQL DELTA的簡單使用。爲了可以更加明瞭的說明其功能,本文將經過實際項目中的案例加以介紹。數據庫

 

主要容工具

 

Ÿ   SQL DELTA 簡介測試

Ÿ   建立SQL DELTA項目對象

Ÿ   使用SQLDELTA 進行數據庫結構同步ip

Ÿ   使用SQLDELTA進行數據庫數據同步開發

Ÿ   生成數據報表同步

Ÿ   待續虛擬機

 

SQLDELTA簡介產品

 

SQLDELTA是一款便捷實用的數據庫管理工具。使用它能夠找到如今數據庫項目與過去數據庫的異同點。並可使你的產品數據庫與你的開發數據庫同步,減小你由於同步數據庫而進行復雜的工做。還有一個好處是你可使用它的對比和同步功能來爲你目前的項目建立一個供測試使用的數據庫。能夠批量的轉移你的數據。

你能夠從www.sqldelta.com上下載SQLDELTA工具。目前最新版本是SQL DELTA Version5.0。本文將採用SQL DELTA4 來作演示。

 

建立SQL DELTA項目

 

打開」SQL DELTA  4」程序,在」Projects」選項卡中,選擇」New」,」Add New Project」,新建一個項目,爲「JJKQ」。

經過右鍵新建的項目「Edit Project」,或者經過點擊右邊的向下箭頭,能夠編輯項目。

在項目中,源數據庫和目標數據庫配置以下圖所示:

 

 

 

1 SQLDELTA新建項目

注意:在設置源數據庫鏈接與目標數據庫鏈接時,若是你是在一臺機器上操做的話,務必確保兩個數據庫不一樣名,或是在不一樣的數據庫實例下相同的數據庫名,也可使用虛擬機。

接着,點擊圖1 右下角的「Project Options」,選擇要對比的對象,如圖2

 

 

2選擇對比的對象

點擊「OK」

在圖1所示的界面中,點擊左上角或右下角的」Compare DataBase」,對比兩個數據庫中咱們選擇要對比的對象。

 

 

3 對比進度條

在對比過程當中SQLDETAL還將鏈接數據庫,此時可能再次要求你輸入鏈接數據庫的密碼,如圖4

 

 

4 輸入數據庫鏈接密碼

 

使用SQLDELTA 進行數據庫結構同步

 

選擇選項卡「Structure」,將爲咱們列出源數據庫和目標數據庫的異同點,如圖5

 

 

5 數據庫對象對比結果

圖5上半部分列出了數據庫中的對象和對比的基本狀況。下半部分則對每一個對象對比的結果進行了詳細的描述,其中=表示相同,<>表示不相同,三角號表示對象移動的方向:向左表示源數據庫更新目標數據庫,向右表示目標數據庫更新源數據庫。下面列舉兩個示例。

1:使用源數據庫的表更新目標數據的表

選擇圖5種上半部分中type爲數據表,statue爲」<>」的行,對應的將在其下半部分顯示出兩個不一樣源的數據表結構哪裏不同,如圖6所示」summary」選項卡中columns有1個」<>」。對應選擇選項卡」Cols(1)」,如圖7 所示,咱們將看到,原來列sortname中數據類型不同,源庫中是varchar(50),目標庫中是char(50)

 

 6

 

 

7

如今要使得目標庫的sortname類型也爲varchar(50),經過鉤選圖7上半部分的列表中對應的」Update」列中的鉤選框(默認狀況下是鉤選的)。

點擊圖5中左上角的」Sync」同步圖標。將生成數據庫同步語句,此時你下圖中右下角的」Run」按鈕便可完成同步操做。

 

 

8 生成同步數據庫的SQL語句

若是同步成功的話,會顯示以下語句:

Updating dbo.attendanceinout Table

dbo.attendanceinout Table Updated Successfully

   *** Script Completed For LHL-PC/SQLEXPRESS.lw_att2000 ***

說明更新目標表成功。

當咱們關閉對話框時,SQLDELTA將再次進行一次數據庫結構的比較,此時你將發現剛纔不同的表結構,已經同步,同樣了。

例2:使用目標庫中的存儲過程更新源庫中同構的存儲過程。

查看兩個存儲過程的異同點方法,跟例1 類似,這再也不贅述。不一樣地方如圖9

 

 

9 存儲過程語句不同

如今若是咱們直接按」Sync」按鈕,則會使用源庫的存儲過程更新目標庫的。此時咱們能夠經過使用

 

 

中的Direction按鈕來改變要更新的庫。

點Direction按鈕,選擇」Update on (local).lw_att2000」,其中(local).lw_att2000爲源庫。此時對象列表中的Action列對應的值,將由」Update on LHL-PC/SQLEXRESS.lw_att2000」變爲」 Update on (local).lw_att2000」。而後再使用」Sync」按鈕同步。

注意:在同步SQL語句的時候,能夠會同步錯誤。此時你只要稍微修改下生成的同步SQL語句,而後再要更新的庫中運行便可。

 

使用SQLDELTA進行數據庫數據同步

 

選擇選項卡」Data」,點擊」Wizard」按鈕,選擇須要對比的數據的表,注意選擇的表必須要有主鍵,如圖10,選擇CHECKINOUT,主鍵爲userid和checktime

 

 

10 選擇要對比數據的表

能夠選擇」Next」根據本身的配置,對比數據,也能夠直接進行對比。結果如圖11

 

 

11 數據對比結果

上半部分列表中,列Identical表示相同的記錄數,Different表示不一樣的記錄數,Missing表示源表中有但目標表沒有的記錄數,Additional表示源表中沒有但目標表中有的記錄數。

若是此時咱們要將目標表中的記錄同步到源表中,只要按照結構對比示例2 中存儲過程經過的過程同樣。

 

生成數據報表

 

選擇選項卡」Reports」

 

 

其中

Strucure是生成指定數據庫的結構對象的報表

Comparison生成兩個數據庫結構對象對比結果的報表

Data生成兩個數據庫數據對比狀況的報表

Combined是以上三者的組合選項。

 

待續

 

本文只是簡單介紹了SQLDELTA的使用,一些高級的應用還有待咱們去發掘使用。

相關文章
相關標籤/搜索