免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

SQLServer怎么將已分區表轉換成普通表

本篇內容主要講解“SQL Server怎么將已分區表轉換成普通表”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SQL Server怎么將已分區表轉換成普通表”吧!

為松山等地區用戶提供了全套網頁設計制作服務,及松山網站建設行業解決方案。主營業務為做網站、網站制作、松山網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

    在前面,我們介紹過怎么樣直接創建一個分區表,也介紹過怎么將一個普通表轉換成一個分區表。那么,這兩種方式創建的表有什么區別呢?現在,我又最新地創建了兩個表:

    第一個表名為Sale,在創建完之后,還為該表添加了一個主鍵。

    第二個表名Sale1,這個表使用的是一個普通表,然后通過為普通表添加聚集索引的方式將普通表轉換成已分區表的方式。

    通過以上方法都可以得到一個已分區表,但是,這兩個已分區表還是有點區別的,區別在哪里呢?我們分別查看一下這兩個表的索引和主鍵吧,如下圖所示。

SQL Server怎么將已分區表轉換成普通表

    從上圖可以看出,直接創建的分區表Sale的索引里,只有一個名為PK_Sale的索引,這個索引是唯一的、非聚集的索引,也就是在創建PK_Sale主鍵時SQL Server自動創建的索引。而經普通表轉換成分區表的Sale1的索引里,除了在創建主鍵時由SQL Server自動創建的名為PK_Sale1的唯一的、非聚集的索引之外,還存在一個名為CT_Sale1的聚集索引。

    對于表Sale來說,可以通過修改分區函數的方式來將其轉換成普通表,具體的修改方式請看《SQL Server的分區表(四):刪除(合并)一個分區》,事實上,就是將分區函數中的所有分區分界都刪除,那么,這個分區表中的所有數據就只能存在第一個分區表中了。在本例中,可以使用以下代碼來修改分區函數。

ALTER PARTITION FUNCTION partfunSale()  

    MERGE RANGE ('20100101')  

ALTER PARTITION FUNCTION partfunSale()  

    MERGE RANGE ('20110101')  

ALTER PARTITION FUNCTION partfunSale()  

    MERGE RANGE ('20120101')  

ALTER PARTITION FUNCTION partfunSale()  

    MERGE RANGE ('20130101')  

    事實上,這么操作之后,表Sale還是一個分區表,如下圖所示,只不過是只有一個分區的分區了,這和普遍表就沒有什么區別了。

SQL Server怎么將已分區表轉換成普通表

    對于通過創建分區索引的方法將普通表轉換成的分區表而言,除了上面的方法之外,還可以通過刪除分區索引的辦法來將分區表轉換成普通表。但必須要經過以下兩個步驟:

    1、刪除分區索引

    2、在原來的索引字段上重建一個索引。

    先說刪除分區索引吧,這一步很簡單,你可以直接在SQL Server Management Studio上將分區索引刪除,也可以使用SQL語句刪除,如本例中可以使用以下代碼刪除已經創建的分區索引。

drop index Sale1.CT_Sale1  

    一開始,我還以為只要刪除了分區索引,那么分區表就會自動轉換成普通表了,可是在刪除索引之后,查看一下該表的屬性,結果還是已分區表,如下圖所示。

SQL Server怎么將已分區表轉換成普通表

    不但如此,而且,還不能將原來的聚集的唯一索引(在本例中為主鍵的那個索引)改成聚集索引,如下圖所示。

SQL Server怎么將已分區表轉換成普通表

    如果要徹底解決這個問題,還必須要在原來創建分區索引的字段上重新創建一下索引,只有重新創建過索引之后,SQL Server才能將已分區表轉換成普通表。在本例中可以使用以下代碼重新創建索引。

CREATE CLUSTERED INDEX CT_Sale1 ON Sale1([SaleTime])  

ON [PRIMARY]  

Go  

    重建索引之后,分區表就變成了普通表,現在再查看一下Sale1表的屬性,我們可以看到原來的分區表已經變成了普通表,如下圖所示。

SQL Server怎么將已分區表轉換成普通表

    當然,以上兩個步驟也可以合成一步完成,也就是在重建索引的同時,將原索引刪除。如以下代碼所示:

CREATE CLUSTERED INDEX CT_Sale1 ON Sale1([SaleTime])  

    WITH ( DROP_EXISTING = ON)  

ON [PRIMARY]  

    按理說,在SQL Server Management Studio中的操作和使用SQL語句的操作是一樣的,可是我在SQL Server Management Studio中將聚集索引刪除后再在該字段上重新創建一個同名的索引,并重新生成和組織該索引,可是分區表還是沒有變成普通表,這就讓我百思不得其解了。不過呢,只要能用SQL語句達到目的,那我們就用它吧。

到此,相信大家對“SQL Server怎么將已分區表轉換成普通表”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

文章題目:SQLServer怎么將已分區表轉換成普通表
網頁網址:http://m.newbst.com/article44/pjcdhe.html

成都網站建設公司_創新互聯,為您提供品牌網站制作網站營銷手機網站建設網頁設計公司服務器托管關鍵詞優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站建設