日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

用TableDiff產(chǎn)生SQL Server同步腳本_Mssql數(shù)據(jù)庫(kù)教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:微軟SQL Server 2008 的新壓縮特性
關(guān)于SQL Server壓縮的故事,最早是從SQL Server 2005開(kāi)始的,在企業(yè)版和開(kāi)發(fā)版中增加了一種叫做vardecimal的新存儲(chǔ)格式,這個(gè)表級(jí)的選項(xiàng)會(huì)影響到decimal和numeric字段。當(dāng)對(duì)值的精度要求低于字

TableDiff是一個(gè)控制臺(tái),它可以在SQL Server的表之間進(jìn)行數(shù)據(jù)比較。另外,因?yàn)樗怯肧QL Server打包的,所以如果你想在不同的數(shù)據(jù)庫(kù)環(huán)境下檢查查找表的話(huà),你就不需要另外購(gòu)買(mǎi)其他工具。

在不同的數(shù)據(jù)庫(kù)環(huán)境中,DBA經(jīng)常不得不在查找表中尋找它們的不同(例如:開(kāi)發(fā)、質(zhì)量保證和生產(chǎn)等不同的環(huán)境下)。這些查找表中的數(shù)據(jù)必須適應(yīng)于所有的環(huán)境,這樣才能確保測(cè)試的準(zhǔn)確。

在市場(chǎng)上有一些非常好的工具可以進(jìn)行這些比較,也能執(zhí)行很多其它功能。但是現(xiàn)在你不需要去購(gòu)買(mǎi)它們了,因?yàn)镾QL Server已經(jīng)自帶了這種工具,那就是TableDiff,它能為你完成這些功能。

TableDiff使你可以很輕松地在表中進(jìn)行數(shù)據(jù)比較,同時(shí)它也可以會(huì)為你創(chuàng)建腳本來(lái)同步程序環(huán)境。另外,作為一個(gè)能使查找表在測(cè)試環(huán)境和產(chǎn)品環(huán)境之間同步的優(yōu)秀工具,TableDiff對(duì)于數(shù)據(jù)在產(chǎn)品服務(wù)器和復(fù)制服務(wù)器之間的同步也同樣是非常有用的,這樣,當(dāng)發(fā)生復(fù)制問(wèn)題的時(shí)候,它就能體現(xiàn)出優(yōu)勢(shì)了。

示例

TabelDiff是一個(gè)控制臺(tái)應(yīng)用軟件,所以,你需要通過(guò)命令提示符、批處理文件或者通過(guò)使用xp_cmdshell的SQL Server來(lái)調(diào)用它。在這個(gè)例子中,我將在同一個(gè)服務(wù)器上的兩個(gè)數(shù)據(jù)庫(kù)之間搭建一個(gè)小的環(huán)境,然后比較兩個(gè)表中的數(shù)據(jù)。在這里我是通過(guò)一個(gè)批處理文件來(lái)調(diào)用TableDiff。

Listing A中的腳本創(chuàng)建了兩個(gè)數(shù)據(jù)庫(kù),并在每個(gè)數(shù)據(jù)庫(kù)中創(chuàng)建了一個(gè)SourceTable表。然后將數(shù)據(jù)分別插入到每個(gè)環(huán)境中的SourceTable表里面,這時(shí)候,插入到兩個(gè)表中的數(shù)據(jù)是明顯不同的。(就我的SQL Server 2005環(huán)境而言,TableDiff在這個(gè)目錄下:C:Program FilesMicrosoft SQL ServerCOM。文件的位置對(duì)你指定安裝是非常重要的,因?yàn)槟阏{(diào)用批處理文件進(jìn)行創(chuàng)建的時(shí)候需要知道它的確切位置。

批處理文件

在這個(gè)例子中,我將調(diào)用TableDiff utility,同時(shí)帶上了一些必要的參數(shù),對(duì)DatabaseA和DatabaseB兩個(gè)數(shù)據(jù)庫(kù)中各自的SourceTable表的數(shù)據(jù)進(jìn)行比較。Listing B中的腳本帶著參數(shù)通過(guò)源服務(wù)器(SourceServer)、源數(shù)據(jù)庫(kù)( SourceDatabase)、源表 SourceTable、目標(biāo)服務(wù)器( DestinationServer)、目標(biāo)數(shù)據(jù)庫(kù)( DestinationDatabase)和目標(biāo)表(DestinationTable)到達(dá)TableDiff utility。對(duì)于每一個(gè)站點(diǎn)來(lái)說(shuō),服務(wù)器名和表名都是相同的,因?yàn)槲沂窃谕粋(gè)數(shù)據(jù)庫(kù)服務(wù)器的兩個(gè)不同的數(shù)據(jù)庫(kù)中比較使用的同一個(gè)名字的表。我通過(guò)的最后目的地是當(dāng)?shù)�,同步腳本放置在那里。我將這個(gè)腳本存放在C:/根目錄下,名字為diffs.txt。

一旦我執(zhí)行了這個(gè)批處理文件,在Listing C中的文本信息就會(huì)被放到C:diffs.txt這個(gè)文件里面。這個(gè)TSQL腳本能同步運(yùn)行兩個(gè)數(shù)據(jù)庫(kù)之間的表。

使用簡(jiǎn)單

TableDiff utility使用非常簡(jiǎn)單,配置也很方便,因?yàn)樗怯肧QL Server打包的,所以不需要購(gòu)買(mǎi)任何其他附加的工具來(lái)同步不同環(huán)境下的表。由于它使用非常方便,也很容易獲得它,所以如果有必要,我們就能使用它來(lái)開(kāi)發(fā)一些解決方案自動(dòng)創(chuàng)建腳本,以便同步不同的環(huán)境。

Tim Chapman是一位SQL Server數(shù)據(jù)庫(kù)管理員,他現(xiàn)在在Louisville, KY的一家銀行工作,他具有7年以上的IT經(jīng)驗(yàn),同時(shí)也獲得了微軟SQL Server 2000和SQL Server 2005認(rèn)證。

列表A

以下為引用的內(nèi)容:
use master
Go
IF DB_ID('DatabaseA') IS NOT NULL DROP DATABASE DatabaseA
GO
IF DB_ID('DatabaseB') IS NOT NULL DROP DATABASE DatabaseB
GO
CREATE DATABASE DatabaseA
GO
CREATE DATABASE DatabaseB
GO
USE DatabaseA
GO
CREATE TABLE SourceTable
( IDCol INT IDENTITY(1,1), Field1 SMALLINT, Field2 SMALLINT, Field3 SMALLINT, Field4 SMALLINT
)
GO
USE DatabaseB
GO
CREATE TABLE SourceTable
( IDCol INT IDENTITY(1,1), Field1 SMALLINT, Field2 SMALLINT, Field3 SMALLINT, Field4 SMALLINT
)
GO
USE DatabaseA
GO
INSERT INTO SourceTable
(Field1, Field2, Field3, Field4)
SELECT 1, 1, 1, 2
UNION
SELECT 1, 1, 2, 2
UNION
SELECT 1, 3, 2, 2
UNION
SELECT 1, 3, 2, 2
UNION
SELECT 4, 3, 2, 2
GO
USE DatabaseB
GO
INSERT INTO SourceTable
(Field1, Field2, Field3, Field4)
SELECT 1, 1, 1, 2
UNION
SELECT 1, 3, 2, 1
UNION
SELECT 1, 3, 2, 2
UNION
SELECT 1, 3, 2, 2
UNION
SELECT 5, 3, 2, 2
UNION
SELECT 5, 4, 3, 2
GO

列表B

以下為引用的內(nèi)容:

cd Program FilesMicrosoft SQL ServerCOMTableDiff -sourceserver "DatabaseServer" -sourcedatabase "DatabaseA" -sourcetable "SourceTable" -destinationserver "DatabaseServer" -destinationdatabase "DatabaseB" -destinationtable "SourceTable" -f "C:diffs.txt"
PAUSE

分享:3個(gè)步驟結(jié)束網(wǎng)站惡夢(mèng)-SQL注入隱患!
許多網(wǎng)站程序在編寫(xiě)時(shí),沒(méi)有對(duì)用戶(hù)輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。 SQL注入是什么? 許多網(wǎng)站程序在編寫(xiě)時(shí),沒(méi)有對(duì)用戶(hù)輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱

來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):Mssql數(shù)據(jù)庫(kù)教程/更新時(shí)間:2008-08-22
相關(guān)Mssql數(shù)據(jù)庫(kù)教程