none
使用program來讀取資料庫的有辦法達到流量限制? RRS feed

  • 問題

  • 問題是這樣的,

    如果使用C++ / C# / Java等來開發一個AP讀取遠端資料庫的資料,

    有辦法限定這個AP在讀取遠端資料庫的傳輸速率嗎?

    環境是這樣,在AP端的電腦與遠端伺服器之間只有一條線路傳輸,

    但遠端電腦需要透過linked server查詢AP所在電腦中的資料,(這個行為是屬於線上交易)

    而AP卻又需要到遠端電腦去取得其他資料,如果發生取得資料量過大就會將頻寬佔住,

    造成線上交易pending / timeout,所以想請問AP利用oledb/ado等方式建立的連線是否能有限量的功能?

    情況是很怪沒錯,但就是遇到了...

    • 已移動 ricoisme 2012年12月27日 上午 03:27 並非SQL SERVER問題 (從:資料庫與程式開發(SQL Server Development))
    2012年12月27日 上午 02:57

解答

  • 用 WebService 可以自己在 Web Service 控制,用一般 AP 不行,因為資料庫那邊沒控制。

    不過這種問題,用網管型的網路設備限制 1433/1434 的頻寬就可以了,我不覺得該用程式控制。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年12月27日 下午 03:15

所有回覆

  • 限量是指限制資料量嗎?

    這你從SQL語法著手就行了

    2012年12月27日 上午 04:25
  • 不是指資料量,而是指傳輸速度,

    若是資料輛我可以用 top 來處理,

    或是以迴圈方式執行資料讀取,每次處理的資料量小一點且執行完略作停頓(這也是我目前想到的方式)

    但每次的傳輸依然會佔用所有頻寬(儘管時間很短,當然資料量大就長一點)

    想達到的效果是佔用的頻寬有所限制

    ex: 全部頻寬100k,AP最多只能跑50K

    2012年12月27日 上午 07:35
  • 用 WebService 可以自己在 Web Service 控制,用一般 AP 不行,因為資料庫那邊沒控制。

    不過這種問題,用網管型的網路設備限制 1433/1434 的頻寬就可以了,我不覺得該用程式控制。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年12月27日 下午 03:15
  • 是指AP內容用WebService的方式去get Sql Server資料?

    另外網管的方式應該不可行,文中有點疏忽

    除了

    "遠端電腦需要透過linked server查詢AP所在電腦中的資料" 使用AP所在電腦的1433 port

    "AP卻又需要到遠端電腦去取得其他資料" 使用遠端電腦的1433 port

    另外還有遠端電腦上也有一隻AP直接讀取近端的DB並且透過近端Server使用linker server方式取得遠端資料(雖然使用情況不多)

    當然這架構本身就令人詬病,造成全部的資料皆是透過1433

    這問題主要是出現在log shipping遠端備份與AP對遠近端Server皆有讀取,

    不過看了這些討論,還是覺得她是個蠻濫的問題  這邊就不在討論了

    2013年1月7日 上午 08:34