Bölümlenmiş tablolar ve dizinler oluşturma

Bölümlenmiş bir tablo oluşturabilir veya dizin içinde SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL. Bölümlenmiş tablolar ve dizinler verileri, birden fazla filegroup veritabanı çapında yayılmış birimleri yatay olarak ayrılmıştır. Bölümleme büyük tablolar ve dizinler daha yönetilebilir ve ölçeklendirilebilir yapabilir.

Oluşturma bölümlenmiş tablo veya dizin genellikle içinde dört bölümden oluşur:

  1. Bir filegroup veya filegroups ve bölüm düzeni tarafından belirtilen bölümler yapacak ilgili dosyaları oluşturun.

  2. Bölümlerinde belirtilen sütun değerlerine dayalı bir tablo veya dizin satırları eşleştiren bir bölüm işlevi oluşturun.

  3. Bölümlenmiş tablo veya dizin bölümleri için yeni filegroups eşleştiren bir bölüm düzeni oluşturun.

  4. Oluşturmak veya bir tablo ya da dizini değiştirin ve depolama konumu olarak bölüm düzeni belirtin.

Bu Konuda

  • Başlamadan Önce

    Sınırlamalar ve Kısıtlamalar

    Güvenlik

  • Bölümlenmiş tablo veya dizin oluşturmak için kullanma:

    SQL Server Management Studio

    Transact-SQL

Başlamadan Önce

Sınırlamalar ve Kısıtlamalar

  • Bölüm işlevi ve düzeni içinde onlar oluşturulmuş veritabanına sınırlıdır. Veritabanının içinde bölüm işlevleri gelen diğer fonksiyonları ayrı bir ad alanında bulunur.

  • Bölüm işlevi içinde satırları bölümleme sütunları boş değerler varsa, bu satırlar en soldaki bölüme ayrılır. Ancak, sınır değer olarak null belirtilirse ve sağ belirtilir, en soldaki bölüm boş kalır ve null değerleri ikinci bölümde yerleştirilir.

Güvenlik

İzinler

Bölümlenmiş bir tablo oluşturmak için create table izni veritabanında ve tabloyu oluşturulduğu şema alter izni gerektirir. Bölümlenmiş bir dizin oluşturma tablo veya Görünüm dizin nerede oluşturulmaktadır alter izni gerektirir. Bölümlenmiş tablo veya dizin oluşturma aşağıdaki ek izinler herhangi birini gerektirir:

  • HIÇBIR dataspace alter izni. Bu izni üyeleri için varsayılan sysadmin sabit sunucu rolü ve db_owner ve db_ddladmin veritabanı rolleri sabit.

  • Denetim veya bölüm işlevi ve bölüm düzeni oluşturulmaktadır veritabanı üzerinde alter izni.

  • Bölüm işlevi ve bölüm düzeni oluşturulmaktadır veritabanının control server veya alter any database izni sunucu üzerinde.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server Management Studio Kullanarak

Bir veya daha fazla filegroups, ilgili dosyaları ve bir tablo oluşturmak için bu yordamdaki adımları izleyin. Bölümlenmiş tablo oluşturduğunuzda sonraki yordamda bu nesnelerin başvuru.

Bölümlenmiş bir tablo için yeni filegroups oluşturma

  1. Bölümlenmiş bir tablo oluşturun ve seçin istediğiniz veritabanı nesne Explorer'da sağ Özellikler.

  2. İçinde **Veritabanı özellikleri –**database_name iletişim kutusunun altında sayfaseçin Filegroups.

  3. Altında satırları, tıklayın Ekle. Yeni satırda, filegroup adı girin.

    Dikkat notuDikkat

    Her zaman bir ek filegroup filegroups bölümleri oluşturulurken belirtilen sınır değerleri sayısını ilaveten olmalıdır.

  4. Kadar tüm filegroups bölümlenmiş tablo için oluşturduğunuz satırlar eklemeye devam.

  5. Click OK.

  6. Altında sayfaseçin dosyalarını.

  7. Altında satırları, tıklayın Ekle. Yeni satırda, bir dosya adı girin ve bir dosya grubu seçin.

  8. Kadar en az bir dosya her filegroup için oluşturduğunuz satırlar eklemeye devam.

  9. Genişletme tablo klasörü ve normalde yaptığınız gibi bir tablo oluşturun. Daha fazla bilgi için, bkz. Tabloları (veritabanı altyapısı) oluşturma. Alternatif olarak, varolan bir tabloya sonraki yordamda belirtebilirsiniz.

Bölümlenmiş bir tablo oluşturmak için

  1. Bölüm, Gelin istediğiniz tabloyu sağ Depolamave ardından Partition… oluşturmak.

  2. İçinde Bölüm oluşturma Sihirbazı, bölüm oluşturma Sihirbazı'na Hoş Geldiniz sayfa'yı Next.

  3. Tarih bir bölümleme sütun seçin sayfa, buna mevcut bölümleme sütunlar kılavuz, tablonuzu bölümlemek istediğiniz sütunu seçin. Sadece bölüm veri için kullanılabilen veri türlerini içeren sütunlar olarak görüntülenir mevcut bölümleme sütunlar ızgara. Bölümleme sütun olarak hesaplanmış bir sütun seçerseniz, sütun kalıcı sütun olarak tasarlanması gerekir.

    Bölümleme sütun için kullandığınız seçenekler ve değerler öncelikle verilerinizi mantıklı bir şekilde gruplandırılabilir ölçüde belirlenir. Örneğin, verilerinizi ay veya bir yıl Çeyrek mantıksal Gruplamalar bölmek isteyebilirsiniz. Verilerinizi karşı yapmayı planlıyorsanız sorguları, bu mantıksal gruplandırmasını tablo bölümlerinizi yönetmek için yeterli olup olmadığını belirler. Tüm veri türleri dışında sütunlar, bölümleme olarak kullanılmak için geçerli text, ntext, image, xml, timestamp, varchar(max), nvarchar(max), varbinary(max), diğer veri türleri veya clr kullanıcı tanımlı veri türleri.

    Bu sayfada aşağıdaki ek seçenekler kullanılabilir:

    • Bu tablo seçili bölümlenmiş tabloya collocate
      Bölümleme sütununda Bu tablo ile katılmak için ilgili verileri içeren bölümlenmiş tablo seçmenizi sağlar. Tabloları bölümleme sütunlar katıldı bölümleri genellikle daha verimli bir şekilde sorgulanır.

    • Benzersiz olmayan dizinler depolama hizalamak ve dizinlenmiş bölüm sütunu olan benzersiz dizinler
      İle aynı bölüm düzeni bölümlenmiş tablonun tüm dizinler hizalar. Tablo ve dizinleri hizalandığında, çünkü aynı algoritması ile veri bölümlenmiş içine ve dışına bölümlenmiş tabloları bölümler daha etkili bir şekilde taşıyabilirsiniz.

    Bölümleme sütununda ve diğer seçenekleri seçtikten sonra tıklayın Next.

  4. Tarih bölüm işlevi seçin altında sayfa bölüm işlevi seçin, ya tıklayın Yeni bölüm işlevi veya varolan bölüm işlevi. İsterseniz Yeni bölüm işlevi, fonksiyonun adını girin. İsterseniz varolan bölüm işlevi, listeden kullanmak istediğiniz işlevi seçin. Varolan bölüm işlevi seçenek veritabanı üzerinde başka bir bölüm işlevleri varsa kullanılabilir olmayacak.

    Bu sayfa tamamladıktan sonra tıklayın Next.

  5. Tarih bir bölüm düzeni seçin altında sayfa bölüm düzenini seçin, ya tıklayın Yeni bölüm düzeni veya varolan bölüm düzeni. İsterseniz Yeni bölüm düzeni, düzeni adı girin. İsterseniz varolan bölüm düzeni, listeden kullanmak istediğiniz düzeni seçin. Varolan bölüm düzeni seçenek veritabanı üzerinde başka bir bölüm düzeni varsa kullanılabilir olmayacak.

    Bu sayfa tamamladıktan sonra tıklayın Next.

  6. Tarih Harita bölümleri altında sayfa Aralık, seçin ya da sınır yaptı veya sağ sınırını değeri en yüksek veya en düşük sınırlayıcı içinde oluşturduğunuz her filegroup dahil edilip edilmeyeceğini belirtmek için. Her zaman bir ek filegroup filegroups bölümleri oluşturulurken belirtilen sınır değerleri sayısını ek olarak girmeniz gerekir.

    İçinde filegroups seçin ve sınır değerleri belirtmek ızgara, altında Filegroup, veri bölümlemek istediğiniz dosya grubunu seçin. Altında sınır, her filegroup için sınır değeri girin. Sınır değeri boşsa, Bölüm işlevi, tüm tablo ya da dizin bölüm işlev adını kullanarak tek bir bölüm eşleştirir.

    Bu sayfada aşağıdaki ek seçenekler kullanılabilir:

    • Set Boundaries…
      Açılır Sınır değerler sınır değerleri seçin ve Tarih bölümleri için istediğiniz aralıkları için iletişim kutusu. Bu seçenek yalnızca aşağıdaki veri türlerinden birini içeren bir bölümleme sütununda seçildiğinde kullanılabilir: date, datetime, smalldatetime, datetime2, ya datetimeoffset.

    • Tahmini depolama
      Rowcount, gerekli alanı ve depolama bölümleri için belirtilen her filegroup için kullanılabilir alan tahminleri. Bu değerleri kılavuzda salt okunur değerler olarak görüntülenir.

    Sınır değerler iletişim kutusu, aşağıdaki ek seçenekleri sağlar:

    • Başlangıç tarihi
      Bölümlerinizi Aralık değerleri için başlangıç tarihini seçer.

    • Bitiş tarihi
      Bölümlerinizi Aralık değerleri için bitiş tarihini seçer. Seçtiyseniz sınır sol üzerinde Harita bölümleri sayfasında, bu tarih her filegroup veya bölüm için son değer olacaktır. Seçtiyseniz sağ sınırını üzerine Harita bölümleri sayfasında, bu tarihten sonraki son filegroup ilk değer olacaktır.

    • Tarih aralığı
      Her bölüm için istediğiniz tarihi parçalı yapı veya Aralık değeri artışı seçer.

    Bu sayfa tamamladıktan sonra tıklayın Next.

  7. De bir çıkış seçeneği sayfasında, nasıl bölümlenmiş tablo tamamlamasını istediğinizi belirtin. Seçin Komut dosyası oluştur dayalı bir sql oluşturmak için komut dosyası önceki sayfaların sihirbazda. Seçin hemen çalıştırmak kalan sayfalar: Sihirbazı'nı tamamladıktan sonra yeni bölümlenmiş bir tablo oluşturmak için. Seçin programı gelecekte önceden belirlenmiş bir zamanda yeni bölümlenmiş bir tablo oluşturmak için.

    Seçerseniz oluşturma komut dosyası, aşağıdaki seçenekleri altında yer Script seçenekleri:

    • Komut dosyası
      Komut dosyası bir .sql dosyası oluşturur. Bir dosya adı ve konumu girin Dosya adı kutu veya tıklatın göz açmak için Komut dosyası konumu iletişim kutusu. Dan Kaydetseçin Unicode metin veya ANSI metin.

    • Komut dosyası Panoya Aktar
      Komut dosyası panoya kaydeder.

    • Yeni sorgu penceresi için komut dosyası
      Yeni bir Query Editor penceresi komut dosyası oluşturur. Bu varsayılan seçimdir.

    Seçerseniz programı, tıklayın Zamanlamayı Değiştir.

    1. İçinde Yeni işi zamanlamasını iletişim kutusunda, ad kutusunda, iş planlaması'nın adını girin.

    2. Tarih zamanlama türü listesi, zamanlama türünü seçin:

      • SQL Server Agent başladığında otomatik olarak Başlat

      • Her CPU haline boşta Başlat

      • Yinelenen. Yeni bölümlenmiş tablo güncelleştirmelerini düzenli olarak yeni bilgiler ile bu seçeneği seçin.

      • Bir kez. Bu varsayılan seçimdir.

    3. Seçin ya da temizleyin Enabled etkinleştirmek veya zamanlamayı devre dışı bırakmak için onay kutusunu.

    4. Seçerseniz yinelenen:

      1. Altında frekans, oluşur listesinde, oluşum sıklığını belirtin:

        • Seçerseniz günlük, Recurs her kutusunda, gün içinde iş planlaması hangi sıklıkta yineleyeceğini girin.

        • Seçerseniz Haftalık, Recurs her kutusunda, hafta içinde iş planlaması hangi sıklıkta yineleyeceğini girin. Gün veya iş planlaması üzerinde çalıştığı haftanın günlerini seçin.

        • Seçerseniz aylık, ya da seçmek gün ya .

          • Seçerseniz gün, hem çalıştırmak için işi zamanlamasını istediğiniz ay tarihini girin ve sıklıkta yineleyeceğini ay iş planlaması. Örneğin, her ay ayın 15 günü çalıştırmak için işi zamanlamasını isterseniz, Seç gün ve "15" ilk kutu ve "2" ikinci kutuya girin. İkinci kutuya izin verilen en büyük sayıyı "99" olduğunu lütfen unutmayın.

          • Seçerseniz , hafta içinde çalıştırmak için işi zamanlamasını istediğiniz ayın belirli gün seçin ve sıklıkla iş planlaması aylarda yineler. Örneğin, her ay ayın son haftanın üzerinde çalıştırmak için işi zamanlamasını isterseniz, Seç günseçin son ilk listeden ve hafta içi gelen ikinci liste ve "2" son kutusuna girin. Sen-ebilmek da seçme ilk, ikinci, üçüncü, veya dördüncü, yanı sıra belirli hafta içi (örneğin: Pazar ya da Pazartesi) ilk iki liste. Son kutusunda izin verilen en büyük sayıyı "99" olduğunu lütfen unutmayın.

      2. Altında günlük frekans, iş planlaması iş planlaması çalışır günde hangi sıklıkta yineleyeceğini belirtme:

        • Seçerseniz Occurs once,, günün belirli zaman zaman iş planlaması çalıştırmak girmek oluşur, bir kez kutusu. Saat, dakika ve saniye gün, hem de am veya pm girin.

        • Seçerseniz oluşur her, sıklıkla altında seçilen gün boyunca iş planlaması çalışır belirtmek frekans. Örneğin, 2 saatte gün boyunca yinelemek için işi zamanlamasını isterseniz iş planlaması çalıştırılan, seçin oluşur her, "2" ilk kutusuna girin ve ardından seçin Saat listeden. Bu listeden de seçebilirsiniz dakika ve saniyeye. İlk kutusunda izin verilen en büyük sayıyı "100" olduğunu lütfen unutmayın.

          İçinde Başlangıç kutusunda, iş planlaması, çalışan başlayacağı saati girin. İçinde Bitiş kutusunda, iş planlaması yinelenen durması gerektiğini süreyi girin. Saat, dakika ve saniye gün, hem de am veya pm girin.

      3. Altında süresi, Başlangıç tarihi, çalışmaya başlayacağı işi zamanlamasını istediğiniz tarihi girin. Seçin bitiş tarihi veya bitiş tarihi yok işin planını çalıştıran durması gerektiğini belirten. Seçerseniz bitiş tarihi, çalışmasını durdurmak için istediğiniz tarihi iş planlaması için girin.

    5. Seçerseniz Bir kez, altında tek seferlik oluşumu, tarihi kutusunda, iş programı çalıştıracak tarihi girin. İçinde zaman kutusunda, iş planlaması çalıştırılacağı süreyi girin. Saat, dakika ve saniye gün, hem de am veya pm girin.

    6. Altında özeti, Açıklama, bütün iş zamanlama ayarlarını doğrulayın.

    7. Click OK.

    Bu sayfa tamamladıktan sonra tıklayın Next.

  8. Tarih İnceleme Özet altında sayfa seçimlerinizi gözden, tüm bölüm ayarlarının doğru olduğunu doğrulamak için tüm seçenekleri'ni genişletin. Her şey beklendiği gibi tıklatın son.

  9. Tarih Bölüm Sihirbazı ilerleme oluşturmak sayfa, Bölüm oluşturma Sihirbazı'nın eylemleri hakkında monitör durum bilgisi. Sihirbazda seçtiğiniz seçeneklere bağlı olarak, bir veya daha fazla eylem ilerleme durumu sayfası içerebilir. Üstteki kutuda, sihirbaz ve durumu, hata ve sihirbazın aldığı uyarı iletileri sayısı genel durumunu görüntüler.

    Aşağıdaki seçenekler kullanılabilir Bölüm Sihirbazı ilerleme oluşturmak sayfa:

    • Ayrıntılar
      Eylem, durumu ve sihirbaz tarafından gerçekleştirilen eylemde döndürülen iletileri sağlar.

    • Eylem
      Her eylem adını ve türünü belirtir.

    • Durum
      Sihirbaz eylemi bir bütün olarak değerini döndürdü olup olmadığını gösterir başarı veya hata.

    • İleti
      Herhangi bir hata veya uyarı iletilerini işleminden döndürülen sağlar.

    • Rapor
      Bölüm oluşturma Sihirbazı sonuçlarını içeren bir rapor oluşturur. Seçenekler Raporu Görüntüle, Rapor dosyasına kaydetmek, Raporu panoya kopyala, ve Raporu Gönder e-posta olarak.

    • Raporu görüntüle
      Açılır Raporu Görüntüle içeren bir metin rapor bölüm oluşturma Sihirbazı ilerleme iletişim kutusu.

    • Raporu dosyaya kaydet
      Açılır Raporu Kaydet iletişim kutusu.

    • Raporu panoya kopyala
      Kopya sihirbazın ilerleme sonuçlarını panoya rapor.

    • Raporu e-posta olarak gönder
      Sihirbazın ilerleme raporunun sonuçları e-posta iletisine kopyalar.

    Tamamlandığında tıklatın yakın.

Bölüm oluşturma Sihirbazı bölüm işlevi ve düzeni oluşturur ve belirtilen tablonun bölümleme uygular. Bölümleme tablosu doğrulamak için nesne Explorer'da tabloyu sağ tıklatın ve seçin Özellikler. Tıklayın Depolama sayfa. Sayfa, Bölüm işlevi ve düzeni ve bölüm sayısı adı gibi bilgileri görüntüler.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

Bölümlenmiş bir tablo oluşturmak için

  1. İçinde Object Explorer, örneğine bağlanmak Veritabanı Altyapısı.

  2. Standart çubuğunda Yeni sorgu.

  3. Kopyalama ve aşağıdaki örnek sorgu penceresine yapıştırın ve tıkırtı Execute. Örneğin, yeni filegroups, Bölüm işlevi ve bir bölüm düzeni oluşturur. Yeni bir tablo depolama konumu olarak belirtilen bölüm düzeni oluşturulur.

    USE AdventureWorks2012;
    GO
    -- Adds four new filegroups to the AdventureWorks2012 database
    ALTER DATABASE AdventureWorks2012
    ADD FILEGROUP test1fg;
    GO
    ALTER DATABASE AdventureWorks2012
    ADD FILEGROUP test2fg;
    GO
    ALTER DATABASE AdventureWorks2012
    ADD FILEGROUP test3fg;
    GO
    ALTER DATABASE AdventureWorks2012
    ADD FILEGROUP test4fg; 
    
    -- Adds one file for each filegroup.
    ALTER DATABASE AdventureWorks2012 
    ADD FILE 
    (
        NAME = test1dat1,
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL110.MSSQLSERVER\MSSQL\DATA\t1dat1.ndf',
        SIZE = 5MB,
        MAXSIZE = 100MB,
        FILEGROWTH = 5MB
    )
    TO FILEGROUP test1fg;
    ALTER DATABASE AdventureWorks2012 
    ADD FILE 
    (
        NAME = test2dat2,
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL110.MSSQLSERVER\MSSQL\DATA\t2dat2.ndf',
        SIZE = 5MB,
        MAXSIZE = 100MB,
        FILEGROWTH = 5MB
    )
    TO FILEGROUP test2fg;
    GO
    ALTER DATABASE AdventureWorks2012 
    ADD FILE 
    (
        NAME = test3dat3,
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL110.MSSQLSERVER\MSSQL\DATA\t3dat3.ndf',
        SIZE = 5MB,
        MAXSIZE = 100MB,
        FILEGROWTH = 5MB
    )
    TO FILEGROUP test3fg;
    GO
    ALTER DATABASE AdventureWorks2012 
    ADD FILE 
    (
        NAME = test4dat4,
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL110.MSSQLSERVER\MSSQL\DATA\t4dat4.ndf',
        SIZE = 5MB,
        MAXSIZE = 100MB,
        FILEGROWTH = 5MB
    )
    TO FILEGROUP test4fg;
    GO
    -- Creates a partition function called myRangePF1 that will partition a table into four partitions
    CREATE PARTITION FUNCTION myRangePF1 (int)
        AS RANGE LEFT FOR VALUES (1, 100, 1000) ;
    GO
    -- Creates a partition scheme called myRangePS1 that applies myRangePF1 to the four filegroups created above
    CREATE PARTITION SCHEME myRangePS1
        AS PARTITION myRangePF1
        TO (test1fg, test2fg, test3fg, test4fg) ;
    GO
    -- Creates a partitioned table called PartitionTable that uses myRangePS1 to partition col1
    CREATE TABLE PartitionTable (col1 int, col2 char(10))
        ON myRangePS1 (col1) ;
    GO
    

Daha fazla bilgi için, bkz:

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]