2012年12月11日 星期二

還原MSSQL資料時,遇到"無法獲得獨佔存權,因為資料庫正在使用中"的解決方法

在進行資料還原時,發現要還原的資料庫有人在連線,

所以便無法成功還原。

此時可以使用spwho,查詢目前連線的資訊。

Ex:

spwho

041112_0313_MSSQL1

如上例,我們可以看到連線的機器與連線的帳號,此筆ID為68。

如果我們想要移除此連線,可以使用kill指令。

Ex:

kill 68

作完以上動作,即可正常還原資料庫。

 

相關參考連結:
http://www.dotblogs.com.tw/terrychuang/archive/2011/08/15/33186.aspx

2012年11月30日 星期五

設定webservice可以使用Post/Get 方式取回資料

Asp.net 開發的WebService,常見使用方法是加入Web服務參考。
如果要使用網址的方式取回資料,就要再Web.config中加入下段設定。 <system.web> <br> <webServices> <br> <protocols> <br> <add name="HttpGet"/> <br> <add name="HttpPost"/> <br> </protocols> <br> </webServices> <br> </system.web>

2012年11月23日 星期五

Linked Server(連結的伺服器)

A與B資料庫存在於同一個伺服器,資料互相取得相當容易。

假設A與B資料分散為兩台伺服器,B要取得A的資料時,

可以使用Linked Server(連結的伺服器)技術來做串接。

image

設定方法如下

image

<p>--Setp 1-Create LinkServer <br>--USE MASTER <br>--GO <br>--//[1] Create Linkserver <br>Exec sp_addlinkedserver <br>&nbsp;&nbsp; @server='LDB_MEIHO_MIS', --//linkserver name. <br>&nbsp;&nbsp; @srvproduct='LDB_MEI_MIS', --//一般描述 <br>&nbsp;&nbsp; @provider='SQLOLEDB', --//OLEDB Provider name, check BOL for more providers <br>&nbsp;&nbsp; @datasrc='sql2k8r2', --//遠端Server Name&nbsp; 192.168.11.100\sql2k8 <br>&nbsp;&nbsp; @catalog='MEI_MIS' --//default database for linkserver <br>GO <br>--Step 2-Add linked server login <br>--//[2]Add linked server login <br>Exec sp_addlinkedsrvlogin <br>@useself='false', --//false=使用遠端使用者/密碼登入 <br>--//true=使用本地端使用者/密碼連線遠端SERVER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>@rmtsrvname='LDB_MEI_MIS', --//Linked server name <br>@rmtuser='admin' , --//遠端登入使用者 <br>@rmtpassword='XXXX' --//遠端登入使用者密碼 <br>GO <br></p>

建立完成後可在  管理工具>伺服器物件>連結的伺服器  中,看到剛剛建立的物件。

image

取得LDBMEIMIS的資料,範例如下:

SELECT&nbsp;&nbsp;&nbsp;&nbsp; TOP 1 * <br>FROM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDB_MEI_MIS.MEI_MIS.dbo.UNIT

延伸:縮短資料庫物件名稱

寫預存程序時,若要使用資料表(LDBMEIMIS.MEI_MIS.dbo.UNIT),畫面上打了一大串,可讀性變得很差。

提供兩種方式

  • View
    • 方便預存撰寫
    • 自行定義調整
  • 同義字 CREATE SYNONYM UNIT <br>FRO MEI_MIS.DBO.UNIT
  • image