none
如何移動Primary群組的MDF檔到自訂的FileGroup裡 RRS feed

  • 問題

  • Hi  各位好

    查了一些文件,提到:
    1. 每一個資料庫只能有一個(且一定要有一個)主要資料檔案(MDF檔)
    2. 資料庫一旦建立了檔案,此檔案就不能移動到另一個檔案群組中,除非您刪除這個檔案,並重新建立檔案

    如果目前DB中的MDF檔放在Primary的群組裡,是否有可能有什麼方法可把該MDF檔移動到自訂的FileGroup裡
    按照第2點提到不能移動的話,那是否我要先建立自訂的FileGroup後,再個別移動所有的物件(table,sp,view,function....)到自訂的FileGroup裡
    或是有其他快速的方法,謝謝各位
    2009年11月24日 上午 11:01

解答


  • 又再Google一下,好像的確沒有辦法將已存在資料的MDF檔做移動,或刪除
    看來只能新增一個DataFile(.NDF),並指向新的FileGroup
    再慢慢把Object搬到新的FileGroup上
    想確認一下這樣作法對嗎?
    謝謝各位
    2009年11月24日 上午 11:59

所有回覆


  • 又再Google一下,好像的確沒有辦法將已存在資料的MDF檔做移動,或刪除
    看來只能新增一個DataFile(.NDF),並指向新的FileGroup
    再慢慢把Object搬到新的FileGroup上
    想確認一下這樣作法對嗎?
    謝謝各位
    2009年11月24日 上午 11:59
  • hi
    請問你是要IO load balance和datafile size load balance嗎??

    如果是的話,那麼你現在處理的動作不會得到很明顯的效果

    因為要在建立資料庫的時候,就要依disk先行規劃filegroup並依CPU個數適當切datafile
    這樣才能達到IO load balance和datafile size load balance



    http://www.dotblogs.com.tw/ricochen/Default.aspx
    2009年11月24日 下午 01:17
    版主

  • Hi   ricoisme

          先謝謝您的回覆
      我了解其實這是應該要建資料庫的時候就規劃好
        只是,目前的狀況是必需用一個 .bak檔來還原
      而當初這個bak來源DB就沒有規劃好,所以...................

          所以,以這個狀況看來,可能得搬Object到新的FileGroup了 
    2009年11月24日 下午 02:08

  • 又再Google一下,好像的確沒有辦法將已存在資料的MDF檔做移動,或刪除
    看來只能新增一個DataFile(.NDF),並指向新的FileGroup
    再慢慢把Object搬到新的FileGroup上
    想確認一下這樣作法對嗎?
    謝謝各位
    Yes, that's the way. Table will be moved over after rebuilding clustered index on new file group. Can't touch .mdf file in primary file group since sql puts system tables in it.
    2009年11月24日 下午 06:59
  • 嗯嗯,了解了,謝謝您的回覆

    2009年11月25日 上午 02:13