如果您在代碼中正確使用T-Sql,並且只是尋找示例,或者您正在嘗試避免T-Sql,那麼我無法從您提出問題的方式來判斷。如果是前者較之使用System.Data.SqlClient是這樣的:
SqlConnection cn = new SqlConnection("a connection string to your server");
SqlCommand cm = new SqlCommand("", cn);
cn.Open();
的第一步是創建一個partition function。這是分區的指南,告訴它每個分區的邊界是什麼。將聯機叢書分成單個月份的這個例子是正確的。
cm.CommandText = "CREATE PARTITION FUNCTION [myDateRangePF1] (datetime)
AS RANGE RIGHT FOR VALUES ('20110201', '20110301', '20110401',
'20110501', '20110601', '20110701', '20110801',
'20110901', '20111001', '20111101', '20111201')";
cm.ExecuteNonQuery();
下一步是create a scheme。這將您創建的功能映射到您的文件組,每個分區(即月)都有一個映射。文件組必須已經存在,所以事先創建它們。
cm.CommandText = "CREATE TABLE PartitionTable (col1 int, col2 datetime)
ON myRangePS1 (col2)";
cm.ExecuteNonQuery();
cn.Close();
最後,如果你想已分區表存在,那麼你將要建立的功能:
cm.CommandText = "CREATE PARTITION SCHEME myRangePS1
AS PARTITION myRangePF1 TO
(test1fg, test2fg, test3fg, test4fg, test5fg, test6fg,
test7fg, test8fg, test9fg, test10fg, test11fg, test12fg)";
cm.ExecuteNonQuery();
文件組(S)
然後終於creating a table ,scheme和另一個看起來就像它的表,然後將數據移動到新表中。
哇 - 謝謝你的好回答!我正在嘗試它。 – Contango
我試過這個,但它導致了一個錯誤:「無效的對象名'test1fg'。」。我必須添加一個文件組嗎? – Contango
是的,文件組必須已經存在。另外,你不必將它們命名爲test1fg等。檢查三個步驟中的每一步的鏈接,因爲在線書籍很好地說出了所有內容。 – RThomas