當前位置:首頁 » 存儲配置 » dtc存儲過程

dtc存儲過程

發布時間: 2022-12-26 09:03:44

sql資料庫之間連接

事務里使用連接伺服器嗎?還是SQL中兩台伺服器間使用連接伺服器? 給你例子,不一定正確僅供參考:
1:執行另一伺服器上的存儲過程
exec opendatasource(
sqloledb,
data source=遠程ip;user id=sa;password=密碼
).庫名.dbo.存儲過程名

2:將資料插入另一伺服器上的表中
select * into 本地庫名..表名 from opendatasource(
sqloledb,
data source=遠程ip;user id=sa;password=密碼
).庫名.dbo.表名

insert 本地庫名..表名 select * from opendatasource(
sqloledb,
data source=遠程ip;user id=sa;password=密碼
).庫名.dbo.表名

或使用聯結伺服器:
exec sp_addlinkedserver 別名,,msdasql,null,null,driver={sql server};server=遠程名;uid=用戶;pwd=密碼;

exec sp_addlinkedsrvlogin @rmtsrvname=別名,@useself=false,@locallogin=sa,@rmtuser=sa,@rmtpassword=密碼
go

(請注意上面的兩步要同時運行)

然後你就可以如下:
select * from 別名.庫名.dbo.表名
insert 庫名.dbo.表名 select * from 別名.庫名.dbo.表名
select * into 庫名.dbo.新表名 from 別名.庫名.dbo.表名
go

3:如果在事務里使用連接伺服器要加上

分布式事務:
兩邊啟動dtc

set xact_abort on
set ansi_null_dflt_on on
set ansi_warnings on

begin distributed transaction
select * from opendatasource(msdasql,driver={sql server};server=ip;uid=sa;pwd=密碼;).pubs.dbo.jobs
commit tran

願你成功,祝福你!

⑵ 怎麼啟動分布式事務處理協調器(DTC)

若要完全啟用MSDTC,請使用以下步驟:


1.在控制面板中,打開「管理工具」,然後打開「計算機管理」。


2.在「計算機管理」的左窗格中,展開「服務和應用程序」,再單擊「服務」。


3.在「計算機管理」的右窗格中,右鍵單擊「(分布式事務協調器)」並選擇「屬性」。


4.在「(分布式事務協調器)」窗口中,單擊「常規」選項卡,再單擊「停止」停止該服務。


5.在「(分布式事務協調器)」窗口中,單擊「登錄」選項卡,並將登錄帳戶設置為NTAUTHORITYNetworkService。


6.單擊「應用」和「確定」以關閉分布式事務協調器的窗口。關閉「計算機管理」。關閉「管理工具」。

⑶ 我的電腦室win7 64位的。pc技術上機考試模擬軟體在運行cmd時命令總無法執行

需求:調用網伺服器(SMS SQL Server)上的簡訊發送介面(是一個存儲過程)來發送(Stage SQL Server)上的數據內容到本Team 成員的手機上。這兩台伺服器,本地在撥VPN後可以訪問。要求以本地的SQL Server做跳轉,同時調用這兩台伺服器的數據介面。
實現方法與步驟(在本地的SQL Server環境):
1、創建一個SQL Server Job
2、創建一個調用 操作系統(CmdExec)命令的Job步驟,調用命令以完成自動撥VPN的功能。
代碼如:
rasdial idc_name user_name user_password
3、創建鏈接伺服器SMS SQL Server和Stage SQL Server。
4、創建一個讀取Stage SQL Server上需要發送的數據內容,並調度SMS SQL Server的簡訊發送介面,完成簡訊發送的Job步驟(T-SQL)。
5、創建一個CmdExec的Job步驟,調用命令完成自動斷開VPN的功能。
代碼如:
rasdial idc_name /disconnect
6、設置這三個步驟的先後順序(2,4,5)。並設置調度頻率為每天早上9點。
該過程中可能涉及到兩個問題,如下:
1、分別調用兩個伺服器上的存儲過程,可能需要打開分布式事務。考試#大提示簡要步驟如下:
運行dcomcnfg命令,組件服務,計算機,我的電腦,屬性,MSDTC,安全配置
選中「網路DTC訪問」
在客戶端管理中選中「允許遠程客戶端」「允許遠程管理」
在事務管理通訊中選「允許入站」「允許出站」「不要求進行驗證」
保證DTC登陸賬戶為:NT AuthorityNetworkService
2、執行CmdExec步驟的默認帳號是SQL Server代理的啟動帳號,一般是 NT AUTHORITYNetworkService,該帳號不是sysadmin組,
不具備執行該命令的許可權。所以可能需要修改代理的啟動帳號為有許可權的帳號。
總結:本文總結問題的關鍵在於把握分布式事務的正確開啟以及SQL Server代理中,通常執行Job的帳號AUTHORITYNetworkService並不屬於系統管理員組,代理執行一些任務失敗時,注意觀察所執行操作需要的許可權,例如本文的執行CmdExec命令,就需要sysadmin或者操作系統管理員的許可權。 來源:考試大-計算機三級考試

⑷ 如何設置,能使本機某個文件夾的文件和伺服器共享文件夾里的對應的文件在每天11點做一次同步

網站文件的同步

在這里用到的主要工具就是ftp,網站文件同步分

兩種情況,一種是本地到遠程,一種是遠程到遠程

(FXP)!第一種不用說了,第二種遠程到遠程即FXP

,支持它的軟體也很多,但是真正適合多網站同步

鏡像的卻不多!
下面我介紹幾個我認為不錯的軟體!

1.首先我要推薦的是國產的FTP軟體」網路傳神

」,功能非常強大,特別是在網站的同步鏡像方面

,可惜的是,這款非常經典的軟體已經不再更新了

,最後更新時間是2003年3月,最後一個版本是3.1

2!雖然如此還是非常好用的!下面是一段官方的

簡介:

網路傳神完全吸收了Cuteftp和UpdataNow的全部

功能,並且增加了其他軟體沒有的多項功能:支

持網站互傳;支持網站同步(UPDATANOW);支持

後台上傳(多線程上傳多個文件);可同時打開多

個站點;多站點計劃上傳功能,支持鏡像站點;

支持宏操作支持計劃操作;支持文件高級比較上

傳;支持目錄隱藏過濾(為用ForntPage作主頁

的朋友帶來福音);伺服器自動識別功能;資源

管理器瀏覽方式;可以自定義命令;支持RFC959

標准具有更好的穩定性;完備的信息返回機制及

錯誤監控機制完整的中文幫助。

2.第二款是由ReGet同一開發公司製作的專用於

網站同步的軟體」WebSynchronizer」,用這款軟

件,你才會體驗到網站同步的方便快捷,簡單容易

.最新版本是1.3.62,網上能找到XX的最後版本是

1.1版!下面是一段簡介:

檔案同步化工具-WebSynchronizer,由知名續傳

軟體ReGet之軟體出版公司所推出,是網站同步

化、檔案鏡像、檔案備份的絕佳工具,可以執行

下列主要工作:1)本機資料夾及遠程資料夾的同

步化;2)兩台遠程計算機中的資料夾同步化;3)

兩個本機資料之同步化。

3.其他還有一些軟體如同步快梭(AutoSyncFTP),

也能實現簡單的網站同步,不過,這款軟體非常不

穩定,而且2001年就已經停止開發.所以,不用考

慮了!還有上次有朋友提到的SiteMirro,由於網

上找不到可以用的版本,所以沒有辦法測試!

網路傳神網站同步鏡像使用傻瓜指南

上次在網路技術版已經發過一個簡單的使用方法

介紹,如果嫌我羅嗦(o(>_<)o),大家可以參考那

篇文章:
http://bbs.et8.net/bbs/showthread.php?t=65

0129

第一次運行網路傳神的時候,它會讓你選擇」完

全模式」和」啟動模式」,要使用網站同步必須

選擇」完全模式」.

進入主界面:你會發現這個軟體非常像FlashGet,

要使用網站同步功能,點擊軟體左下角的」FTP客

戶端」.

現在你要做的就是添加你的鏡像母站和需要鏡像

的網站:文件->站點管理,在裡面添加你需要同步

的幾個的FTP伺服器,下面我將介紹具體設置(主

要是鏡像母站的設置)

母站設置最重要的地方就是」比較目錄(網站同

步)」:

1.拖動傳送
就是手動拖動傳送時候的傳送方式,非拖動方式

不受影響,因為母站的更新基本上是從本地目錄

進行的,所以建議這里選擇第二項」只上傳不同

的文件」,鏡像站點這里可以忽略
2.磁碟比較設置
這個功能非常有用,可以通過文件長度和文件日

期進行文件差異對比.

你還可以設置本地目錄過濾和伺服器目錄過濾,

非常靈活!
好了,添加好母站和鏡像站之後,我們來設置同步

:

如果是添加鏡像站,則會跳出下面的母站選擇窗

口:

設置好多個鏡像站點之後,返回主界面就可以進

行網站同步了:

注意事項:
一般不要改動鏡像站點前面的「對鉤」標志,因

為鏡像站點同步的原理是「根據主站點的同步信

息更新鏡像站點」,如果景象站點沒有更新那麼

必須將該鏡像站點單獨同步。
注意一般應該「選項窗口」-〉「FTP客戶端」-

〉「計劃」中的「最大連接個數」和「最大線程

個數」一般不要改動保持為「1」。
如果同步時某個站點出錯同步沒有完全完成只需

按「計劃」窗口中的按鈕單獨執行某個站點的傳

送即可。

再介紹一下網站鏡像同步中必要的功能,定時同

步,這樣你就只要做好母站的更新,其他的讓網路

傳神幫你完成:
點擊設置:

進入網路傳神的選項設置窗口,選中FTP客戶端中

的定時同步

定時下載:在指定的時段內下載文件。
定時上傳:在指定的時段內用網站同步的方法進

行上傳。
開始時間:如果要使用定時方式必須設置此項,

在設置的時間中會自動開始所有設置為計劃的站

點。
停止時間:如果設置此項則當系統時間大於停止

時間時自動停止所有設置為計劃的站點。

注意:定時上傳種沒有「停止時間」選項,網站

同步完成後會自動停止,同時網站同步同一時間

只能運行一次。

網路傳神還有很多為便於同步鏡像設置的功能,

大家實際使用中去體會吧!

WebSynchronizer網站同步鏡像使用傻瓜指南

WebSynchronizer功能非常強大,不單單是網站同

步,還可以進行本地目錄同步,本地到遠程同步,

功能方面遠勝過傳神,不過,國內好像沒有漢化版

,對於一些對英文感冒的朋友用起來會不太舒服,

希望CCF里的漢化高手能將他中文化!

開始運行程序,老外的軟體就是智能,一打開這個

軟體就會有一個同步向導跳出來!

在這里,你也看出來了吧,這個軟體只支持兩個目

錄間的同步.不過,我們可以創建多個項目來解決

這個問題!具體我在後面介紹!這里,我們來看看

如何建立兩個遠程目錄的同步!
選擇第二項,進入下一個選擇框:

網站同步當然是選擇第一項了!再進入下一步,要

你選擇同步的第一個伺服器,建議在這里servers

list,先編輯好需要同步的幾個FTP

同步方式設置說明:
第一項的意思是:上傳下載所有改變的文件
第二項的意思是:不改變文件夾內容,只下載新的

文件

點擊下一步進行第二個伺服器設置,方法和第一

個一樣!
設置完成後,你還可以修改任務名稱!
我覺得這點就是這個軟體非常優秀的地方,以任

務的方式進行管理.非常方便!

OK,現在我們就可以看到他的主界面了!

還有一點要提,他的計劃任務更能也很強大,在這

里我就不再多說了!用過才知道他的強大!

有朋友會說,我要進行兩個以上的網站同步怎麼

辦?
很簡單,再多建幾個任務就可以了,要鏡像多少網

站都沒有問題!
這個軟體的網站同步鏡像可以非常靈活,比如可

以本地-遠程,然後再遠程-遠程!或者本地-遠程1

,本地-遠程2,遠程1-遠程2,任何情形下的同步都

可以完成!

資料庫同步操作指南

說完了文件同步,我們再來探討一下資料庫同步!
這里我主要教大家兩種最常用的資料庫的同步方

法!

MySQL

MySQL數據同步主要有三種方式:
1.利用MySQL自身的資料庫同步功能
2.利用MySQL資料庫的特性(資料庫存在固頂目錄

,並且以文件形式存儲),進行資料庫目錄同步以

達到數據同步目的
3.利用專用的MySQL資料庫同步軟體

1.利用MySQL自身的資料庫同步功能(下面參考自

網上的文章,寫的非常詳細了)
MySQL從3.23.15版本以後提供資料庫復制功能。

利用該功能可以實現兩個資料庫同步,主從模式

,互相備份模式的功能.

資料庫同步復制功能的設置都在mysql的設置文

件中體現。mysql的配置文件(一般是my.cnf)

,在unix環境下在/etc/mysql/my.cnf或者在mys

ql用戶的home目錄下的my.cnf。

windows環境中,如果c:根目錄下有my.cnf文件

則取該配置文件。當運行mysql的winmysqladmin

.exe工具時候,該工具會把c:根目錄下的my.cnf

命名為mycnf.bak。並在winnt目錄下創建my.ini

。mysql伺服器啟動時候會讀該配置文件。所以

可以把my.cnf中的內容拷貝到my.ini文件中,用

my.ini文件作為mysql伺服器的配置文件。

設置方法:
設置範例環境:
操作系統:window2000professional
mysql:4.0.4-beta-max-nt-log
Aip:10.10.10.22
Bip:10.10.10.53
A:設置
1.增加一個用戶最為同步的用戶帳號:
GRANTFILEON*.*TObackup@'10.10.10.53'ID

ENTIFIEDBY『1234』
2.增加一個資料庫作為同步資料庫:
createdatabasebackup
B:設置
1.增加一個用戶最為同步的用戶帳號:
GRANTFILEON*.*TObackup@'10.10.10.22'ID

ENTIFIEDBY『1234』
2.增加一個資料庫作為同步資料庫:
createdatabasebackup
主從模式:A->B
A為master
修改Amysql的my.ini文件。在mysqld配置項

中加入下面配置:
server-id=1
log-bin
#設置需要記錄log可以設置log-bin=c:mysq

lbakmysqllog設置日誌文件的目錄,
#其中mysqllog是日誌文件的名稱,mysql將

建立不同擴展名,文件名為mysqllog的幾個日誌

文件。
binlog-do-db=backup#指定需要日誌的數據


重起資料庫服務。
用showmasterstatus命令看日誌情況。
B為slave
修改Bmysql的my.ini文件。在mysqld配置項

中加入下面配置:
server-id=2
master-host=10.10.10.22
master-user=backup#同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60預設重試間隔60


replicate-do-db=backup告訴slave只做bac

kup資料庫的更新
重起資料庫
用showslavestatus看同步配置情況。
注意:由於設置了slave的配置信息,mysql

在資料庫目錄下生成master.info
所以如有要修改相關slave的配置要先刪除

該文件。否則修改的配置不能生效。
雙機互備模式。
如果在A加入slave設置,在B加入master設

置,則可以做B->A的同步。
在A的配置文件中mysqld配置項加入以下設

置:
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中mysqld配置項加入以下設

置:
log-bin=c:mysqllogmysqllog
binlog-do-db=backup
注意:當有錯誤產生時*.err日誌文件。同

步的線程退出,當糾正錯誤後要讓同步機制進行

工作,運行slavestart
重起AB機器,則可以實現雙向的熱備。
測試:
向B批量插入大數據量表AA(1872000)條
A資料庫每秒鍾可以更新2500條數據。

2.資料庫目錄同步,方法和文件同步一樣,設置好

需要同步的兩個資料庫目錄就可以了!
缺點很明顯,數據同步只能單向進行,可以作為備

份方案

3.用專用的MySQL同步軟體進行同步
這方面的軟體有SQLBalance和MyReplicator,優

點是方便直觀,還有很多爭強功能!
缺點和2一樣,只能單項同步!
當然你也可以修改鏡像網站的程序為提交數據到

母資料庫,讀取則在當前鏡像下的數據,不過,修

改起來麻煩!普通用戶修改也非常難!呵呵,大家

了解一下就可以!給大家一個思路!有能力的朋友

可以試試阿!

4.關於MySQL論壇的數據同步
由於數據來源的不可控制(不好表達),論壇數據

是實時的,而且還要考慮來自鏡像論壇的數據,如

何實現鏡像論壇與母論壇數據同步呢?
用1中介紹的MySQL自帶的資料庫同步功能互相備

份模式就可以實現的!
不過,具體的應用我沒有測試!穩定性不敢保證!
有能力的朋友推薦用下面這種思路來同步,相對

來說減少點效率,但能減少發生的錯誤!
比如鏡像論壇數據同步:
1.母論壇和鏡像論壇的數據全寫在母論壇資料庫

里,主從模式,讀取只在本地讀取,這個需要修改

程序!

2.每次寫數據,都同時提交到兩個資料庫中,安全

,但是效率很差,也得修改程序!

MSSQL

MSSQL數據同步利用資料庫復制技術實現數據同

步更新(來自網路,也是非常完美的教程)
復制的概念
復制是將一組數據從一個數據源拷貝到多個數據

源的技術,是將一份數據發布到多個存儲站點上

的有效方式。使用復制技術,用戶可以將一份數

據發布到多台伺服器上,從而使不同的伺服器用

戶都可以在許可權的許可的范圍內共享這份數據。

復制技術可以確保分布在不同地點的數據自動同

步更新,從而保證數據的一致性。
SQL復制的基本元素包括
出版伺服器、訂閱伺服器、分發伺服器、出版物

、文章
SQL復制的工作原理
SQLSERVER主要採用出版物、訂閱的方式來處理

復制。源數據所在的伺服器是出版伺服器,負責

發表數據。出版伺服器把要發表的數據的所有改

變情況的拷貝復制到分發伺服器,分發伺服器包

含有一個分發資料庫,可接收數據的所有改變,

並保存這些改變,再把這些改變分發給訂閱服務


SQLSERVER復制技術類型
SQLSERVER提供了三種復制技術,分別是:
1、快照復制(呆會我們就使用這個)
2、事務復制
3、合並復制
只要把上面這些概念弄清楚了那麼對復制也就有

了一定的理解。接下來我們就一步一步來實現復

制的步驟。
第一先來配置出版伺服器
(1)選中指定[伺服器]節點
(2)從[工具]下拉菜單的[復制]子菜單中選擇[發

布、訂閱伺服器和分發]命令
(3)系統彈出一個對話框點[下一步]然後看著提

示一直操作到完成。
(4)當完成了出版伺服器的設置以後系統會為該

伺服器的樹形結構中添加一個復制監視器。同時

也生成一個分發資料庫(distribution)
第二創建出版物
(1)選中指定的伺服器
(2)從[工具]菜單的[復制]子菜單中選擇[創建和

管理發布]命令。此時系統會彈出一個對話框
(3)選擇要創建出版物的資料庫,然後單擊[創建

發布]
(4)在[創建發布向導]的提示對話框中單擊[下一

步]系統就會彈出一個對話框。對話框上的內容

是復制的三個類型。我們現在選第一個也就是默

認的快照發布(其他兩個大家可以去看看幫助)
(5)單擊[下一步]系統要求指定可以訂閱該發布

的資料庫伺服器類型,SQLSERVER允許在不同的

資料庫如ORACLE或ACCESS之間進行數據復制。但

是在這里我們選擇運行"SQLSERVER2000"的數據

庫伺服器
(6)單擊[下一步]系統就彈出一個定義文章的對

話框也就是選擇要出版的表
(7)然後[下一步]直到操作完成。當完成出版物

的創建後創建出版物的資料庫也就變成了一個共

享資料庫。
第三設計訂閱
(1)選中指定的訂閱伺服器
(2)從[工具]下拉菜單中選擇[復制]子菜單的[請

求訂閱]
(3)按照單擊[下一步]操作直到系統會提示檢查S

QLSERVER代理服務的運行狀態,執行復制操作的

前提條件是SQLSERVER代理服務必須已經啟動。
(4)單擊[完成]。完成訂閱操作。
完成上面的步驟其實復制也就是成功了。但是如

何來知道復制是否成功了呢?這里可以通過這種

方法來快速看是否成功。展開出版伺服器下面的

復制——發布內容——右鍵發布內容——屬性—

—擊活——狀態然後點立即運行代理程序接著點

代理程序屬性擊活調度把調度設置為每一天發生

,每一分鍾,在0:00:00和23:59:59之間。

接下來就是判斷復制是否成功了打開C:/Program

Files/MicrosoftSQLServer/MSSQL/REPLDATA/un

c/XIAOWANGZI_database_database下面看是不是

有一些以時間做為文件名的文件夾差不多一分中

就產生一個。要是你還不信的話就打開你的數據

庫看在訂閱的伺服器的指定訂閱資料庫下看是不

是看到了你剛才所發布的表—
一個手工同步的方案
--定時同步伺服器上的數據
--例子:
--測試環境,SQLServer2000,遠程伺服器名:xz,

用戶名為:sa,無密碼,測試資料庫:test
--伺服器上的表(查詢分析器連接到伺服器上創

建)
createtable[user](idintprimarykey,numberva

rchar(4),namevarchar(10))
go
--以下在區域網(本機操作)
--本機的表,state說明:null表示新增記錄,1表

示修改過的記錄,0表示無變化的記錄
ifexists(select*fromdbo.sysobjectswhereid=

object_id(N'[user]')andOBJECTPROPERTY(id,N

'IsUserTable')=1)
droptable[user]
GO
createtable[user](idintidentity(1,1),numbe

rvarchar(4),namevarchar(10),statebit)
go
--創建觸發器,維護state欄位的值
createtriggert_stateon[user]
afterupdate
as
update[user]setstate=1
from[user]ajoininsertedbona.id=b.id
wherea.stateisnotnull
go
--為了方便同步處理,創建鏈接伺服器到要同步

的伺服器
--這里的遠程伺服器名為:xz,用戶名為:sa,無密


ifexists(select1frommaster..sysserverswher

esrvname='srv_lnk')
execsp_dropserver'srv_lnk','droplogins'
go
execsp_addlinkedserver'srv_lnk','','SQLOLE

DB','xz'
execsp_addlinkedsrvlogin'srv_lnk','false',

null,'sa'
go
--創建同步處理的存儲過程
ifexists(select*fromdbo.sysobjectswhereid=

object_id(N'[dbo].[p_synchro]')andOBJECTPR

OPERTY(id,N'IsProcere')=1)
dropprocere[dbo].[p_synchro]
GO
createprocp_synchro
as
--setXACT_ABORTon
--啟動遠程伺服器的MSDTC服務
--execmaster..xp_cmdshell'isql/S"xz"/U"sa"

/P""/q"execmaster..xp_cmdshell''netstartms

dtc'',no_output"',no_output
--啟動本機的MSDTC服務
--execmaster..xp_cmdshell'netstartmsdtc',n

o_output
--進行分布事務處理,如果表用標識列做主鍵,用

下面的方法
--BEGINDISTRIBUTEDTRANSACTION
--同步刪除的數據
deletefromsrv_lnk.test.dbo.[user]
whereidnotin(selectidfrom[user])
--同步新增的數據
insertintosrv_lnk.test.dbo.[user]
selectid,number,namefrom[user]wherestateis

null
--同步修改的數據
updatesrv_lnk.test.dbo.[user]set
number=b.number,name=b.name
fromsrv_lnk.test.dbo.[user]a
join[user]bona.id=b.id
whereb.state=1
--同步後更新本機的標志
update[user]setstate=0whereisnull(state,1)

=1
--COMMITTRAN
go
--創建作業,定時執行數據同步的存儲過程
ifexists(SELECT1frommsdb..sysjobswherename

='數據處理')
EXECUTEmsdb.dbo.sp_delete_job@job_name='數

據處理'
execmsdb..sp_add_job@job_name='數據處理'
--創建作業步驟
declare@sqlvarchar(800),@dbnamevarchar(250

)
select@sql='execp_synchro'--數據處理的命令
,@dbname=db_name()--執行數據處理的資料庫名
execmsdb..sp_add_jobstep@job_name='數據處

理',
@step_name='數據同步',
@subsystem='TSQL',
@database_name=@dbname,
@command=@sql,
@retry_attempts=5,--重試次數
@retry_interval=5--重試間隔
--創建調度
EXECmsdb..sp_add_jobschele@job_name='數

據處理',
@name='時間安排',
@freq_type=4,--每天
@freq_interval=1,--每天執行一次
@active_start_time=00000--0點執行
go

⑸ 在VB中,怎樣對SQL進行事務處理

事務處理是在數據處理時經常遇到的問題,經常用到的方法有以下3種總結整理如下:
方法1:直接寫入到sql 中
在存儲過程中使用 BEGIN TRANS, COMMIT TRANS, ROLLBACK TRANS 實現
begin trans
declare @orderDetailsError int,@procuntError int
delete from [order details] where proctid=42
select @orderDetailsError =@@error
delete from procts where proctid=42
select @procuntError=@@error
if(@orderDetailsError =0 and @procuntError=0)
COMMIT TRANS
else
ROLLBACK TRANS
優點:
所有事務邏輯包含在一個單獨的調用中
擁有運行一個事務的最佳性能
獨立於應用程序
限制:
事務上下文僅存在於資料庫調用中
資料庫代碼與資料庫系統有關

方法2 :使用ADO.NET 實現
使用ADO.NET 實現,使用這種方式的優點是可以在中間層來管理事務,當然你也可以選擇在數據層來實現。
SqlConnection 和OleDbConnection 對象有一個 BeginTransaction 方法,它可以返回 SqlTransaction
或者OleDbTransaction 對象。而且這個對象有 Commit 和 Rollback 方法來管理事務
SqlConnection sqlConnection = new SqlConnection("workstation id=WEIXIAOPING;packet size=4096;user id=sa;initial catalog=Northwind;persist security info=False");
sqlConnection.Open();
SqlTransaction myTrans = sqlConnection.BeginTransaction();
SqlCommand sqlInsertCommand = new SqlCommand();
sqlInsertCommand.Connection = sqlConnection
sqlInsertCommand.Transaction=myTrans;
try{
sqlInsertCommand.CommandText="insert into tbTree(Context,ParentID) values('北京',1)";
sqlInsertCommand.ExecuteNonQuery();
sqlInsertCommand.CommandText="insert into tbTree(Context,ParentID) values('上海',1)";
sqlInsertCommand.ExecuteNonQuery();
myTrans.Commit();
}catch(Exception ex)
{
myTrans.Rollback();
}
finally
{
sqlConnection.Close();
}
優點:
簡單性
和數據據事務差不多的快
獨立於資料庫,不同資料庫的專有代碼被隱藏了
缺點:
事務不能跨越多個資料庫連接
事務執行在資料庫連接層上,所以需要在事務過程中維護一個資料庫連接
ADO.NET分布事務也可以跨越多個資料庫,但是其中一個SQL SERVER 資料庫的話,通過用SQL SERVER連接伺服器連接到別的資料庫,但是如果是在DB2和Orcal之間就不可以。
以上兩種事務是經常用到的事務處理方法。

方法3 COM+事務(分布式事務)
.NET Framework 依靠 MTS/COM+ 服務來支持自動事務。COM+ 使用 Microsoft Distributed Transaction Coordinator (DTC) 作為事務管理器和事務協調器在分布式環境中運行事務。
這樣可使 .NET 應用程序運行跨多個資源結合不同操作(例如,將定單插入 SQL Server 資料庫、將消息寫入 Microsoft 消息隊列 (MSMQ) 隊列、以及從 Oracle 資料庫檢索數據)
的事務。
COM+事務處理的類必須繼承System.EnterpriseServices.ServicedComponent,其實web service就是繼承System.EnterpriseServices.ServicedComponent,所以web service也支持
COM+事務。
定義一個COM+事務處理的類
[Transaction(TransactionOption.Required)]
public class DataAccess:System.EnterpriseServices.ServicedComponent
{
}
TransactionOption枚舉類型支持5個COM+值(Disabled,NotSupported,Required,RequiresNew,Supported)
Disabled 忽略當前上下文中的任何事務。
NotSupported 使用非受控事務在上下文中創建組件。
Required 如果事務存在則共享事務,並且如有必要則創建新事務。
RequiresNew 使用新事務創建組件,而與當前上下文的狀態無關。
Supported 如果事務存在,則共享該事務。
一般來說COM+中的組件需要Required 或Supported。當組件用於記錄或查帳時RequiresNew 很有用,因為組件應該與活動中其他事務處理的提交或回滾隔離開來。
派生類可以重載基類的任意屬性。如DataAccess選用Required,派生類仍然可以重載並指定RequiresNew或其他值。

COM+事務有手動處理和自動處理,自動處理就是在所需要自動處理的方法前加上[AutoComplete],根據方法的正常或拋出異常決定提交或回滾。
手動處理就是調用ContextUtil類中EnableCommit,SetComplete,SetAbort方法。
public string testTransaction()
{
try
{
ContextUtil.EnableCommit();
InsertARecord1();
InsertARecord2();
ContextUtil.SetComplete();
return "succeed!";
}
catch(Exception ex)
{
ContextUtil.SetAbort();
return "failed!";
}
}
public void InsertARecord1()
{

string strconn="workstation id=WEIXIAOPING;packet size=4096;user id=sa;initial catalog=Northwind;persist security info=False";
SqlConnection conn=new SqlConnection(strconn);
conn.Open();
SqlCommand command=new SqlCommand("insert into tbTree(Context,ParentID) values('北京',1)",conn);
command.ExecuteNonQuery();
conn.Close();

}
public void InsertARecord2()
{

string strconn="workstation id=WEIXIAOPING;packet size=4096;user id=sa;initial catalog=Northwind;persist security info=False";
SqlConnection conn=new SqlConnection(strconn);
conn.Open();
SqlCommand command=new SqlCommand("insert into tbTree(Context,ParentID) values('上海',1)",conn);
command.ExecuteNonQuery();
conn.Close();
}
在需要事務跨 MSMQ 和其他可識別事務的資源(例如,SQL Server 資料庫)運行的系統中,只能使用 DTC 或 COM+ 事務,除此之外沒有其他選擇。DTC 協調參與分布式事務的所有資源管理器, 也管理與事務相關的操作。
這種做法的缺點是,由於存在 DTC 和 COM 互操作性開銷,導致性能降低。
COM+事務處理的類必須強命名。

⑹ ECU刷寫,兩組CAN線,一組診斷,一組刷寫,怎麼跳線

ECU上電後,先進入bootLoader確定application程序是否有問題,如果沒有問題則跳轉至application,如果application出現問題,程序會停留在bootloader中,等待刷寫命令。軟體刷寫主要分為三部分:

1、pre-programming step

2、programming step

3、post-programming step

pre-programming step
從名字可以看出,該步驟主要是下載程序前的一些操作,包括喚醒ECU、讀取特定的DID、通信管理等,詳細的操作見圖1。

圖1 pre-programming step
其中:

1、喚醒ECU,喚醒的方法和策略由汽車製造商制定;

2、為了關閉DTC存儲和運行0x28服務關閉相關的通信,需運行0x10服務跳轉至extendedDiagnosticSession,

3、進入extendedDiagnosticSession後,汽車製造商可以進一步進行特定數據鏈路的初始化;

4、運行0x31服務對刷寫條件進行檢查,例如低壓電是否在正常范圍內;

5、為了防止刷寫過程中出現異常誤觸發DTC存儲,運行0x85服務關閉DTC的存儲;

6、該步驟提供給汽車製造商一個介面,可以通過0x31服務啟動或關閉ECU的故障安全響應(failsafe reaction);

7、為了提高刷寫速度,降低刷寫程序時匯流排負載率,通過運行0x28服務關閉無關報文,比如應用報文和網路管理報文;

8、在關閉部分通信之後,通過0x22服務讀取被刷ECU的狀態(應用軟體和數據)、軟體指紋信息等;

9、為了減少刷寫的時間,可以通過0x87服務提高CAN匯流排的波特率。

programming step
該步驟用於將軟體或者數據下載到被刷ECU中,主要包括進入特定的安全等級、寫入指紋信息、下載軟體和數據等,如圖2所示。

圖2 programming step
其中:

1、運行0x10服務進入programmingSession;

2、運行0x27服務進入特定的安全等級;

3、運行0x2E服務將指紋信息寫入ECU;

4、運行0x34、0x36、0x37服務將永久存儲區寫入默認值;

5、運行0x31服務檢查步驟4是否成功,另外一種方法是通過0x37的響應確定是否成功;

6、運行0x31服務對特定的Flash進行擦除;

7、分別運行0x34、0x36、0x37服務將Flash driver下載至內存中;

8、運行0x31服務檢查Flash driver下載是否成功;

9、分別運行0x34、0x36、0x37服務將軟體和數據下載至ECU的flash中;

10、運行0x31服務檢查步驟9是否下載成功;

11、運行0x31服務驗證程序是否能正常運行,例如checksum、標志位等;

12、在下載完軟體和數據後,汽車製造產商需要一些特定的操作,比如寫入VIN碼等。

post-programming step
該步驟主要通過0x11服務對ECU進行復位或者通過0x10服務將session切換至defaultSession,如圖3所示,如果在pre-programming step中調整了波特率,須通過特定的操作將波特率調整至正常值。通常操作是運行0x11服務使ECU復位,回到正常狀態。

圖3 post-programming step
該刷寫流程是14229標准中提到的,不同的OEM有不同的標准,但是主體的步驟與14229應該還是相同的。

⑺ 如何在SQL Server存儲過程中執行DTS包

數據轉換服務(DTS)在資料庫管理和開發的多種領域都有會涉及DTS:

數據倉庫-將數據從原始的處理系統和表格中提取出來以供報表使用
建立OLAP
將大量數據從文本文件或其它非資料庫格式的文件中拷貝到資料庫
生成Microsoft Office文檔報表
使用 Distributed Transaction Coordinator (DTC)實現多資料庫操作
在客戶的桌面程序或網站上,經常需要允許用戶按需執行DTS包。在這種情況下,在部署DTS包時,你應該決定將DTS包安置在何處,以及通過何種手段調用它。

⑻ sql server 存儲過程

在執行存儲過程時,我們常遇到執行超時的情況。如果是因為要處理的數據過多,修改流程復雜等原因的話,如以用以下方法解決:在存儲過程的處理工作中加上事務管理:SET TRANSACTION ISOLATION LEVEL REPEATABLE READ --->要這行
BEGIN TRAN /* 這里是程序處理代碼段*/commit transaction
QuitWithRollback:
IF (@@TRANCOUNT > 0)
BEGIN
ROLLBACK TRANSACTION
END 以下是事務相關的知識:BEGIN TRANSACTION--開始事務DECLARE @errorSun INT --定義錯誤計數器SET @errorSun=0 --沒錯為0UPDATE a SET id=232 WHERE a=1 --事務操作SQL語句SET @errorSun=@errorSun+@@ERROR --累計是否有錯UPDATE aa SET id=2 WHERE a=1 --事務操作SQL語句SET @errorSun=@errorSun+@@ERROR --累計是否有錯IF @errorSun<>0 BEGIN PRINT '有錯誤,回滾'ROLLBACK TRANSACTION--事務回滾語句END ELSE BEGIN PRINT '成功,提交'COMMIT TRANSACTION--事務提交語句END1.什麼是事務:事務是一個不可分割的工作邏輯單元,在資料庫系統上執行並發操作時事務是做為最小的控制單元來使用的。他包含的所有資料庫操作命令作為一個整體一起向系提交或撤消,這一組資料庫操作命令要麼都執行,要麼都不執行。2.事務的語句開始事物:BEGIN TRANSACTION 提交事物:COMMIT TRANSACTION 回滾事務:ROLLBACK TRANSACTION3.事務的4個屬性①原子性(Atomicity):事務中的所有元素作為一個整體提交或回滾,事務的個元素是不可分的,事務是一個完整操作。②一致性(Consistemcy):事物完成時,數據必須是一致的,也就是說,和事物開始之前,數據存儲中的數據處於一致狀態。保證數據的無損。③隔離性(Isolation):對數據進行修改的多個事務是彼此隔離的。這表明事務必須是獨立的,不應該以任何方式以來於或影響其他事務。④持久性(Durability):事務完成之後,它對於系統的影響是永久的,該修改即使出現系統故障也將一直保留,真實的修改了資料庫4.事務的保存點 SAVE TRANSACTION 保存點名稱 --自定義保存點的名稱和位置 ROLLBACK TRANSACTION 保存點名稱 --回滾到自定義的保存點 二事例 所謂事務是指一組邏輯操作單元,它使數據從一種狀態變換到另一種狀態。包括四個特性:1、原子性 就是事務應作為一個工作單元,事務處理完成,所有的工作要麼都在資料庫中保存下來,要麼完全回滾,全部不保留2、一致性 事務完成或者撤銷後,都應該處於一致的狀態3、隔離性 多個事務同時進行,它們之間應該互不幹擾.應該防止一個事務處理其他事務也要修改的數據時, 不合理的存取和不完整的讀取數據4、持久性 事務提交以後,所做的工作就被永久的保存下來 示例:創建一個存儲過程,向兩個表中同時插入數據Create proc RegisterUser(@usrName varchar(30),@usrPasswd varchar(30),@age int,@sex varchar(10),@PhoneNum varchar(20),@Address varchar(50) )as beginbegin traninsert into userinfo(userName,userPasswd)values(@usrName,@usrPasswd)if @@error<>0begin rollback tranreturn -1endinsert into userdoc(userName,age,sex,PhoneNumber,Address)values(@Usrname,@age,@sex,@PhoneNum,@Address)if @@error<>0begin rollback tranreturn -1endcommit tranreturn 0end事務的分類按事務的啟動與執行方式,可以將事務分為3類:顯示事務 也稱之為用戶定義或用戶指定的事務,即可以顯式地定義啟動和結束的事務。分布式事務屬於顯示事務自動提交事務默認事務管理模式。如果一個語句成功地完成,則提交該語句;如果遇到錯誤,則回滾該語句。隱性事務當連接以此模式進行操作時,sql將在提交或回滾當前事務後自動啟動新事務。無須描述事務的開始,只需提交或回滾每個事務。它生成連續的事務鏈。一、顯示事務通過begin transacton、commit transaction、commit work、rollback transaction或rollback work等語句完成。1、啟動事務格式:begin tran 事務名或變數 with mark 描述2、結束事務格式:commit tran 事務名或變數 (事務名與begin tran中的事務名一致或commit work 但此沒有參數3、回滾事務 rollback tran 事務名或變數 | savepoint_name | savepoint_variable 或rollback work 說明:清除自事務的起點或到某個保存點所做的所有數據修改4、在事務內設置保存點格式:save tran savepoint_name | savepoint_variable 示例:use bookdbgobegin tran mytraninsert into book values(9,"windows2000',1,22,'出版社')save tran mysavedelete book where book_id=9rollback tran mysavecommit trangoselect * from bookgo可以知道,上面的語句執行後,在book中插入了一筆記錄,而並沒有刪除。因為使用rollback tran mysave 語句將操作回滾到了刪除前的保存點處。5、標記事務格式:with mark 例:使用資料庫標記將日誌恢復到預定義時間點的語句 在事務日誌中置入一個標記。請注意,被標記的事務至少須提交一個更新,以標記該日誌。BEGIN TRAN MyMark WITH MARK UPDATE pubs.dbo.LastLogMark SET MarkTime = GETDATE() COMMIT TRAN MyMark 按照您常用的方法備份事務日誌。BACKUP LOG pubs TO DISK='C:/Backups/Fullbackup.bak' WITH INIT 現在您可以將資料庫恢復至日誌標記點。首先恢復資料庫,並使其為接受日誌恢復做好准備。 RESTORE DATABASE pubs FROM DISK=N'C:/Backups/Fullbackup.bak' WITH NORECOVERY 現在將日誌恢復至包含該標記的時間點,並使其可供使用。請注意,STOPAT在資料庫正在執行大容量日誌時禁止執行。 RESTORE LOG pubs FROM DISK=N'C:/Backups/Logbackup.bak' WITH RECOVERY, STOPAT='02/11/2002 17:35:00'5、不能用於事務的操作創建資料庫 create database 修改資料庫 alter database 刪除資料庫 drop database 恢復資料庫 restore database 載入資料庫 load database 備份日誌文件 backup log 恢復日誌文件 restore log 更新統計數據 update statitics 授權操作 grant 復制事務日誌 mp tran 磁碟初始化 disk init 更新使用sp_configure後的系統配置 reconfigure二、自動提交事務 sql連接在begin tran 語句啟動顯式事務,或隱性事務模式設置為打開之前,將以自動提交模式進行操作。當提交或回滾顯式事務,或者關閉隱性事務模式時,將返回到自動提交模式。示例: 由於編譯錯誤,使得三個insert都沒執行use testgocreate table testback(cola int primary key ,colb char(3))goinsert into testback values(1,'aaa')insert into testback values(2,'bbb')insert into testback value(3,'ccc')goselect * from testbackgo 沒有任何結果返回三、隱式事務通過 API 函數或 Transact-SQL SET IMPLICIT_TRANSACTIONS ON 語句,將隱性事務模式設置為打開。下一個語句自動啟動一個新事務。當該事務完成時,再下一個 Transact-SQL 語句又將啟動一個新事務。當有大量的DDL 和DML命令執行時會自動開始,並一直保持到用戶明確提交為止,切換隱式事務可以用SET IMPLICIT_TRANSACTIONS 為連接設置隱性事務模式.當設置為 ON 時,SET IMPLICIT_TRANSACTIONS 將連接設置為隱性事務模式。當設置為 OFF 時,則使連接返回到自動提交事務模式 語句包括: alter table insert open create delete revoke drop select fetch truncate table grant update 示例: 下面使用顯式與隱式事務。它使用@@tracount函數演示打開的事務與關閉的事務:use testgoset nocount oncreate table t1(a int)goinsert into t1 values(1)goprint '使用顯式事務'begin traninsert into t1 values(2)print '事務外的事務數目:'+cast(@@trancount as char(5))commint tranprint '事務外的事務數目:'+cast(@@trancount as char(5))goprintgoset implicit_transactions on go print '使用隱式事務'goinsert into t1 values*4)print'事務內的事務數目:'+cast(@@trancount as char(5))commint tran print'事務外的事務數目:'+cast(@@trancount as char(5))go執行結果: 使用顯示事務事務內的事務數目:2 事務外的事務數目:1 使用隱式事務事務內的事務數目:1 事務外的事務數目:0四、分布式事務跨越兩個或多個資料庫的單個sql server中的事務就是分布式事務。與本地事務區別:必須由事務管理器管理,以盡量避免出現因網路故障而導致一個事務由某些資源管理器成功提交,但由另一些資源管理器回滾的情況。 sql server 可以由DTc microsoft distributed transaction coordinator 來支持處理分布式事務,可以使用 BEgin distributed transaction 命令啟動一個分布式事務處理 分二階段:A 准備階段 B 提交階段執行教程:1、sql 腳本或應用程序連接執行啟動分布式事務的sql語句2、執行該語句的sql在為事務中的主控伺服器3、腳本或應用程序對鏈接的伺服器執行分布式查詢,或對遠程伺服器執行遠程存儲過程。4、當執行了分布式查詢或遠程過程調用後,主控伺服器將自動調用msdtc以便登記分布式事務中鏈接的伺服器和遠程伺服器5、當腳本或應用程序發出commit或rollback語句時,主控sql將調用msdtc管理兩階段提交過程,或者通知鏈接的伺服器和遠程伺服器回滾其事務。

⑼ 如何解決,伺服器組件在此操作系統上不受支持,只有客戶端才可以安裝.

WIN98/XP只能完全安裝SQL2000的個人版本,
標准版本和企業版本的SQL2000必須安裝在NT4.0,SP6和WIN2000 SERVER版本上!

詳細安裝要求可以看SQL2000安裝光碟上的說明。1、除了同意樓上以外,補充一點:
如果你是win98+sql server 企業版,可以採用一下辦法:
a.在office 2000或office XP中有MSDE,實際就是sql server 桌面版,先安裝;
b.再安裝sql server 客戶端工具 。
只要你在安裝過程中退出安裝後

要想再安裝上,那就麻煩了,我曾經也和你一樣

我刪除了注冊表裡所有有關於SQL2000的注冊信息

仍然無法重新安裝 最後只有重裝系統才能安裝

我也不知道是什麼原因

你安裝的時候,切記一次到位,不要裝到一半就結束

點開安裝界面了,就要安裝完。

mdac就是微軟的數據介面合集,要麼安裝mdac,要麼單獨安裝你的數據控制項。

SQL Server 2000安裝和基本框架

我們總是把SQL Server 這個單詞掛在嘴邊,也許很少有人思考過 SQL Server 到底是什麼東西。這個問題很難用幾句話講清楚。我們之所以要用連載的方式討論 SQL Server,就是要從不同的角度闡述這個問題。
一、伺服器組件

SQL Server 2000由兩個部分組成:伺服器組件和客戶端工具。

1.內容

SQL Server的伺服器組件是以 Windows 服務(Windows Services)方式運行的。一般認為SQL Server包含四種Windows服務(這里我們關注OLTP、暫時不考慮 OLAP),分別是:M qlServer、DTC Distributed Tra action Coordinator 、SQLServerAgent、Search Service。

M qlServer 是最常用的服務,一般的資料庫功能都是由它提供的,例如文件管理、查詢處理、數據存儲等;DTC是分布式事務協調器,支持跨越兩個或多個伺服器的更新操作來保證事務的完整性;SQLServerAgent負責SQL Server 自動化工作,如果需要SQL Server 在指定時間執行某一個存儲過程,就需要用到這個服務了;Search Service是全文查詢服務,負責全文檢索方面的工作。

2.一分為四的理由

現在我們知道了 SQL Server 的核心是四個伺服器組件,它們是以 Windows 服務的形式運行的。聰明的讀者也許會思考這樣的問題:為什麼伺服器組件以 Windows 服務方式運行?為什麼需要把完整的系統分割成四個伺服器組件?

●之所以把SQL Server伺服器組件作為Windows服務程序,主要是因為Windows 服務程序能夠在用戶沒有登錄的情況下使用。

●之所以把SQL Server的核心功能分為四個Windows 服務程序,主要是考慮了以下因素:這些Windows 服務程序各自負擔的任務功能上是可分割的,這是前提條件;不是每個應用都需要使用四個服務所提供的所有功能,讓用戶有選擇的關閉一些服務,無疑可以節省系統的資源,也可以節省用戶花在管理上的精力;最後,分開成為多個服務程序,就可以為每一個服務設定操作系統級的安全策略。

二、客戶端工具

SQL Server 2000 的核心是上文討論的那些伺服器組件,但用戶直接接觸的卻不是它們(雖然真正幹活的是它們),而是客戶端工具。伺服器組件是引擎,客戶端工具是用戶界面,兩者是相輔相成的。

讓我們看看SQL Server 2000 的客戶端工具到底有哪些——企業管理器、查詢分析器、事件探查器、服務管理器、客戶端網路實用工具、伺服器網路實用工具、導入和導出數據(DTS)等等。

伺服器組件與客戶端工具功能上是配套的,客戶端工具需要用最簡單的形式表達最豐富的伺服器組件的功能;伺服器組件和客戶端工具物理上是離散的,說句大白話:它們不是同一個程序!客戶端工具要與伺服器組件連通,需要一些用於通訊的動態鏈接庫,SQL Server 2000 的通訊庫支持多種網路協議,例如TCP/IP、命名管道等。

說到這里問題就很清楚了:只要客戶端工具與伺服器組件與功能上是配套(兼容)的,就可以通過一定的協議連接,所以我們只要在自己的機器上裝一套客戶端工具,就可以連接世界各地的SQL Server 伺服器,當然這需要對方開放足夠的許可權。

提示:安裝 SQL Server 2000 實際上就是安裝伺服器組件和客戶端工具。當然,我們可以選擇同時安裝伺服器組件和客戶端工具,或者只安裝其中的一個,甚至只選擇安裝更少的東西。

三、版本問題

SQL Server 2000有很多版本:企業版、開發版、標准版、個人版等。每一個版本包含的客戶端工具基本上是一樣的,而伺服器組件可能有些不同。所以在安裝 SQL Server 之前必須參考「操作系統和SQL Server」版本兼容表(圖1),根據操作系統選擇合適的 SQL Server 版本。

四、關於實例

在開始安裝SQL Server之前,還有一個概念需要講解,那就是SQL Server實例。前文我們提到SQL Server伺服器組件是由四個Windows 服務程序構成,在實踐中我們可能安裝所有的伺服器組件,也可能只安裝其中的一部分,但是我們都需要一個統一的概念來標志一組SQL Server 服務,這個概念就是SQL Server 實例。

提示:可以這樣理解,安裝SQL Server 伺服器組件,就是創建一個新的SQL Server 實例(當然也可能是在原有實例中增減服務組件)。SQL Server 2000 允許在同一個操作系統中創建多個實例,雖然一般情況下我們不會這么做。

●如果只安裝一個 SQL Server 實例,不需要在SQL Server安裝時指定實例名稱,自動使用默認名稱。那麼在Windows域里計算機的名稱就是 SQL Server 實例的名稱;使用TCP/IP協議連接SQL Server 實例時,可以用IP地址表示SQL Server 2000實例。

●如果一個操作系統中安裝了多個SQL Server 2000的實例,則需要在SQL Server安裝時指定實例名稱。
在Windows域里可以用「計算機名稱/實例名稱」的形式標志SQL Server 2000實例;使用TCP/IP協議連接SQL Server 實例時,可以用「IP地址/實例名稱」表示SQL Server 2000實例。
五、安裝實戰

SQL Server 2000的安裝程序是非常智能化的,基本上用戶只需要跟著提示,選擇默認項。下面筆者挑選一些需要注意的設定畫面進行講解。

●選擇「創建新的SQL Server實例……」,如圖2:
●為服務設定啟動方式,這里有兩個服務,分別是SQL Server和SQL Server 代理。其實就是前文提到的M qlServer和SQLServerAgent。這里我們操作系統以「本地系統賬戶」啟動它們

●選擇「混合模式」進行身份驗證,如圖5:

六、一窺芳容

安裝完畢,你肯定迫不及待地要領略它的風采。不要著急,讓我們先確認資料庫伺服器是否已經啟動。前文我們提到SQL Server 2000核心是由四個伺服器組件構成的,其中提供資料庫服務的就是 M qlServer,現在我們就是要確認它是否已經啟動。

1.服務管理器

●在「伺服器」欄選擇本機 SQL Server 實例的名稱;

●在「服務」欄選擇SQL Server(就是上文的M qlServer);

●按下「開始/繼續」按鈕,啟動 M qlServer 服務;

●正常啟動:

2.企業管理器

打開「企業管理器」,展開資料庫本機SQL Server 實例節點的資料庫項目,可以發現SQL Server 已經自動安裝了六個資料庫。
●master資料庫記錄SQL Server系統的所有系統級別信息。

●tempdb資料庫保存所有的臨時表和臨時存儲過程。

●model資料庫是為用戶創建資料庫提供的模板。

●msdb資料庫供SQL Server代理程序調度警報和作業以及記錄各種操作。

●northwind和pu 是示例資料庫,以後我們要經常利用它們做演示。

除了 northwind和 pu 之外,其他四個資料庫都是由 SQL Server 自行維護的,一般不需要用戶干預。

!!!!!

下載地址:http://www.51windows.net/shareurl/shareurl.asp?filename=sql+2000

XP系統下也可以安裝 企業版本

安裝辦法如下:

一.在SQL伺服器的安裝盤中找到MSDE這個目錄,並且點擊setup.exe安裝它,過程簡單直接下一步就OK了。(這個是服務端,按正常方法會提示系統不支持)

二. 重啟系統WINDOWSXP,這下就可以看到SQL服務的圖標出現了。(伺服器圖表沒出現也可先安裝客戶端在安裝服務端)

三. 再拿出SQL伺服器版的安裝光碟,直接安裝客戶端工具(這個不要多說吧?最簡單的方法就是直接點擊光碟根目錄下的autorun.exe)

根據提示安裝,自檢過程中知道系統不是SERVER版,會提示只安裝客戶端工具。(哈哈,服務端我已有了)

四. 打開企業管理器,試用SA用戶連一下看看,是不是發現SA用戶登陸失敗?因為你還沒有與信任SQL SERVER連接相關聯。還好這個只要對系統注冊表稍加修改就可以啦:

在運行中輸入regedit打開注冊表編輯器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER],這個項裡面

有一個鍵值LoginMode,默認下,值是1,現在將值改為2,重啟電腦。

五. 再打開企業管理,再連接試試,是不是OK了!

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:600
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:892
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:585
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:769
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:689
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1016
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:261
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:119
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:809
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:718