2009-02-04 115 views
2

這令我費解 - 在SQL Server 2005/2008中,我可以指定默認文件組,然後將其用於所有數據表。我也可以爲所有BLOB類型字段指定另一個文件組。爲索引指定默認文件組?

但我無法弄清楚是否及如何我可以指定索引的默認文件組.....

我的設置通常是: *主要文件 - 只不過在系統目錄 - 最低限度 * DATA文件組 - 這是我做的默認爲我的數據庫 * INDEX文件組各項指標均 * BLOB文件組(可選)的所有BLOB數據 * LOG(obviuosly)

現在,如果我的表創建所有通過腳本手動指數當然,我可以爲每個文件指定適當的文件組。但是有沒有一種方法/技巧/黑客可以指定將索引放在哪裏?當我使用SQL Server Mgmt Studio將例如指定一個列作爲表的主鍵,它會創建一個PK_(表名)索引 - 但不幸的是,它會將其粘貼到DATA文件組中,一旦它存在,似乎我無法再對其進行更改(在可視化設計器中)。

我錯過了什麼嗎?或者微軟只是沒有提供這樣的設置?

感謝任何提示,指針,線索!

馬克

回答

3

如果有一個表上的聚簇索引,數據和聚集索引始終駐留在同一個文件組。您不能將基表和聚簇索引放置在單獨的文件組上。這是因爲聚集索引是實際的表數據。

您當然可以將非聚簇索引放置在它們引用的表的不同文件組中。

您不能指定兩個默認文件組,即一個用於數據,一個用於索引。

希望能夠爲您解決問題,但請隨時提出進一步的問題。

+0

是的,很顯然 - 聚簇索引* IS *的數據 - 權利,我應該知道..... 我可以在設計器中更改其他索引的文件組 - 太糟糕了沒有選項指定默認那些...... – 2009-02-05 17:05:27

-2

您可以在不同於表所在的文件組上創建聚簇索引,但表的文件組可能會自動更改爲索引的文件組。