none
應該使用哪種技術比較好點? RRS feed

  • 问题

  • 環境SQLServer2005 企業版


    有個數據庫會每2個小時到另外幾個數據庫上抓取數據,同時又會有比較大的查詢在該數據庫上執行。

    現在的問題是:如果查詢的人數過多的話,那麼會很慢,老闆要求是否可以講抓取數據和查詢分開。

    即:第一個數據庫專門用來抓取數據,然後同步到另外一個數據庫,第二個數據庫用來查詢。

    SQLServer2005中有幾種做數據同步的方案:複製,鏡像,日誌傳送。

    請問下大家,選擇哪種方式比較好。

    PS:抓取數據的SQLServer的版本是2000.


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月3日 19:16

答案

全部回复

  • Secondary server is not available for user access if go for log shipping or mirroring, and mirroring doesn't work on sql2k. Another option for sql2k5 - database snapshot.
    2009年12月3日 19:46
  • 說錯了 是被抓取的資料源是SQLServer 2000
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月3日 21:11
  • rmiao: do you have any suggestion ?
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 0:22
  •  比較緊急,希望知道的朋友告訴下

    先在這裡感謝了
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 0:42
  • Use replication if need query real time data, otherwise snapshot should work. Depends on business requirement. 
    • 已标记为答案 Wison-Ho 2009年12月4日 2:56
    2009年12月4日 1:35


  • Use replication if need query real time data, otherwise snapshot should work. Depends on business requirement. 



    如果使用replication的話,就需要使用事務性的。

    但是其中某些表是沒有主鍵的。

    所以只能列為最後一個選擇


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 1:47
  • Use snapshot then.
    2009年12月4日 2:03
  • Use snapshot then.

    因為數據是會變化的,使用snapshot會及時更新嗎?
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 2:10
  • You don't have other choice.
    2009年12月4日 2:12
  • 这样是否可行 建立镜像,然后再在镜像那端建立一个snapshot对应到镜像数据库。 然后建立一个Job,定期执行 删除snapshot database和创建snapshot database。 保证定期更新快照。
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 2:36
  • Why need mirroring?
    2009年12月4日 2:41
  • 那你的意思是直接在现有的这台server上建立一个snapshot? 那样对性能是否有影响?
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 2:44
  • No, better than mirroring in fact.
    • 已标记为答案 Wison-Ho 2009年12月4日 2:56
    2009年12月4日 2:46
  • 感谢rmiao的回答,我这边大概有些思路给老板汇报了。
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 2:55
  • 如果数据源是SQL Server 2000的话,那使用复制方式比较好一些吧,
    数据库镜像在SQL 2K5以后的版本才支持的...而且比较浪费的一种方案,双机热备份,即需要一台Stand By Server.
    日志传送也应该是SQL 2K5开始才有的吧,所以2000环境下也无法提取数据出来。
    2009年12月4日 3:11
  • Log shipping has long history, I did it on sql6. Can't do replication in this case since many tables don't have pkey per Wison.
    2009年12月4日 3:15
  • Log shipping has long history, I did it on sql6. Can't do replication in this case since many tables don't have pkey per Wison.
    Transactional replication will be not OK when many tables have no primary key.
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 3:41
  • 如果数据源是SQL Server 2000的话,那使用复制方式比较好一些吧,
    数据库镜像在SQL 2K5以后的版本才支持的...而且比较浪费的一种方案,双机热备份,即需要一台Stand By Server.
    日志传送也应该是SQL 2K5开始才有的吧,所以2000环境下也无法提取数据出来。

    從SQLServer 2000抓取數據到SQLServer2005,是開發人員自己寫的程式在跑,這個東西我不care。

    我的意思是想給一個SQLServer 2005數據庫建立實時同步的機制,使同步出來的數據庫用來查詢。

    PS:在SQLServer 2000中就已經存在Logshipping了。
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月4日 17:38
  • 你这种情况最好用复制; 如果你采用了镜像技术没有明显的改善,因为镜像同步存在一个辅助数据库如果没有同步数据以后主数据库不可以写数据,所以建议采用复制,日志处送容易产生大量的日志,虚拟日志对性能有影响.

    2009年12月7日 1:20
  • 你这种情况最好用复制; 如果你采用了镜像技术没有明显的改善,因为镜像同步存在一个辅助数据库如果没有同步数据以后主数据库不可以写数据,所以建议采用复制,日志处送容易产生大量的日志,虚拟日志对性能有影响.


    你的意思是说使用镜像后,如果镜像数据库没有同步,那么主数据库就不能用?
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2009年12月7日 6:49
  • Not the case.
    2009年12月7日 15:40