遇到這種情況我們可以利用SA權(quán)限查詢到Master數(shù)據(jù)庫(kù)對(duì)應(yīng)數(shù)據(jù)庫(kù)被占用的進(jìn)程 并殺掉Kill Process.查詢:
以下是代碼片段:
-- [sysprocesses 表中保存關(guān)于運(yùn)行在 Microsoft® SQL Server™ 上的進(jìn)程的信息。 -- 這些進(jìn)程可以是客戶端進(jìn)程或系統(tǒng)進(jìn)程。sysprocesses 只存儲(chǔ)在 master 數(shù)據(jù)庫(kù)中] use Master go SELECT * FROM sysprocesses ,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='CustomerDB' select * from sysprocesses select * from sysdatabases -- 殺死占用進(jìn)程 kill 5
當(dāng)我們對(duì)進(jìn)程占用清除時(shí)有可能訪問(wèn)數(shù)據(jù)庫(kù)被系統(tǒng)進(jìn)程占用. 則這時(shí)用Sa無(wú)法殺死.這時(shí)提示:
“Only use Process can be Kill ”在SQL Server2005 只有只有用戶進(jìn)程才能Kill掉.
<3.3>更多的查詢操作
往往我們?cè)趯?shí)際操作中需要對(duì)數(shù)據(jù)讀寫(xiě)有更多要求. 例如從遠(yuǎn)程連接多個(gè)服務(wù)器進(jìn)行數(shù)據(jù)讀取或是把本地?cái)?shù)據(jù)提交到服務(wù)器上. 為了提高效率和性能采用分布式事務(wù)來(lái)進(jìn)行批量操作等等. 如下簡(jiǎn)單介紹在分布式查詢中多中數(shù)據(jù)操作:
把遠(yuǎn)程數(shù)據(jù)導(dǎo)入本地:
以下是代碼片段:
-- 把本地表導(dǎo)入遠(yuǎn)程表 [openWset方式] insert openrowset( 'SQLOLEDB ', 'sql服務(wù)器名 '; '用戶名 '; '密碼 ',數(shù)據(jù)庫(kù)名.dbo.表名) select *from 本地表 -- 把本地表導(dǎo)入遠(yuǎn)程表 [open Query方式] insert openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫(kù).dbo.表名 ')
導(dǎo)入時(shí)使用Into方式 自動(dòng)在本地創(chuàng)建CopyDB表完全復(fù)制遠(yuǎn)程服務(wù)器上Users表的數(shù)據(jù)結(jié)構(gòu).但是要注意在進(jìn)行后 的CopyDB將不包含原表的主鍵和索引約束. 雖然能快構(gòu)建 但是主鍵和索引設(shè)置都會(huì)丟失.
本地?cái)?shù)據(jù)導(dǎo)入遠(yuǎn)程:
-- 把本地表導(dǎo)入遠(yuǎn)程表 [openWset方式] insert openrowset( 'SQLOLEDB ', 'sql服務(wù)器名 '; '用戶名 '; '密碼 ',數(shù)據(jù)庫(kù)名.dbo.表名) select *from 本地表 -- 把本地表導(dǎo)入遠(yuǎn)程表 [open Query方式] insert openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫(kù).dbo.表名 ')
更新本地表數(shù)據(jù):
以下是代碼片段:
-- 把本地表導(dǎo)入遠(yuǎn)程表 [opendataSource方式] insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ').數(shù)據(jù)庫(kù).dbo.表名 -- 更新本地表 [openowset方式] update b set b.列A=a.列A from openrowset( 'SQLOLEDB ', 'sql服務(wù)器名 '; '用戶名 '; '密碼 ',數(shù)據(jù)庫(kù)名.dbo.表名) as a inner join 本地表 b on a.column1=b.column1
當(dāng)然還有更多方式來(lái)操作分布式查詢操作.各位都可以嘗試.
<4>尾 語(yǔ)
如上是我最近在項(xiàng)目中處理關(guān)于分布式查詢涉及到方方面面. 從系統(tǒng)架構(gòu)到分部是查詢具體操作細(xì)節(jié).基本都是一些非;A(chǔ)運(yùn)用.當(dāng)然也參考不少資料.以及動(dòng)手來(lái)驗(yàn)證整個(gè)過(guò)程出現(xiàn)問(wèn)題原因所在. 篇幅有限 寫(xiě)的有些倉(cāng)促. 難免有紕漏地方 還望各位指正.
原文:http://database.ctocio.com.cn/243/11533743.shtml
本文鏈接:http://www.95time.cn/tech/program/2010/7956.asp
出處:IT專家網(wǎng)
責(zé)任編輯:bluehearts
上一頁(yè) 詳解SQL Server分布式查詢 [6] 下一頁(yè)
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|