Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
SQL Server Management Studio veya Transact-SQL kullanarak bölümlenmiş tablo veya dizin oluşturabilirsiniz. Bölümlenmiş tablo ve dizinlerdeki veriler, yatay olarak bir veritabanındaki birden fazla dosya grubuna yayılabilir veya tek bir dosya grubunda depolanabilen birimlere ayrılır. Bölümleme, büyük tabloların ve dizinlerin daha yönetilebilir ve ölçeklenebilir olmasını sağlayabilir.
Bölümlenmiş tablo veya dizin oluşturma işlemi genellikle üç veya dört bölümde gerçekleşir:
İsteğe bağlı olarak , bölüm düzenine göre belirlenen bölümleri barındıracak bir dosya grubu veya dosya grupları ve ilgili veri dosyaları oluşturun. Bölümleri birden çok dosya grubuna yerleştirmenin temel nedeni, dosya gruplarında yedekleme ve geri yükleme işlemlerini bağımsız olarak gerçekleştirebilmenizi sağlamaktır. Bu gerekli değilse,
PRIMARYgibi mevcut bir dosya grubunu veya ilgili veri dosyalarını içeren yeni bir dosya grubunu kullanarak tüm bölümleri tek bir dosya grubuna atamayı seçebilirsiniz. Neredeyse tüm senaryolarda, birden çok dosya grubu kullanıp kullanmamanıza bakılmaksızın bölümleme tüm avantajlarını elde edersiniz.Bir tablonun veya dizinin satırlarını belirtilen sütunun değerlerine göre bölümlere eşleyen bir bölüm işlevi oluşturun. Birden çok nesneyi bölümlendirmek için tek bir bölümleme işlevi kullanabilirsiniz.
Bölümlenmiş tablo veya dizinin bölümlerini bir dosya grubuyla veya birden çok dosya grubuyla eşleyen bir bölüm düzeni oluşturun. Birden çok nesneyi bölümlendirmek için tek bir bölüm düzeni kullanabilirsiniz.
Bir tablo veya dizin oluşturun veya değiştirin ve bölümleme sütunu olarak görev yapacak sütunla birlikte depolama konumu olarak bölüm düzenini belirtin.
- Bölümleme, Azure SQL Veritabanı'nda ve Doku'daki SQL veritabanında tam olarak desteklenir. Tüm bölümler
PRIMARYdosya grubuna yerleştirilmelidir çünkü Azure SQL Veritabanı'nda ve Fabric içindeki SQL veritabanında yalnızcaPRIMARYdosya grubu sağlanmaktadır. - Tablo bölümleme, Azure Synapse Analytics'teki ayrılmış SQL havuzlarında kullanılabilir ve bazı söz dizimi farklılıkları vardır. Daha fazla bilgi için bkz . Ayrılmış SQL havuzunda tabloları bölümleme.
Permissions
Bölümlenmiş tablo oluşturmak için veritabanında CREATE TABLE izni ve tablonun oluşturulduğu şemada ALTER izni gerekir. Bölümlenmiş dizin oluşturmak için dizinin oluşturulduğu tabloda veya görünümde ALTER izni gerekir. Bölümlenmiş tablo veya dizin oluşturmak için aşağıdaki ek izinlerden herhangi biri gerekir:
TÜM DATASPACE izinLERINI DEĞIŞTIRIN. Bu izin varsayılan olarak sysadmin sabit sunucu rolünün üyeleriyle sabit veritabanı rolleri olarak db_owner ve db_ddladmin rollerinin üyelerine verilmiştir.
Bölüm işlevinin ve bölüm düzeninin oluşturulduğu veritabanında CONTROL veya ALTER izni.
Bölüm işlevi ve bölüm düzeninin oluşturulduğu veritabanının sunucusunda CONTROL SERVER veya ALTER ANY DATABASE iznine sahip olmalıdır.
Transact-SQL kullanarak bir dosya grubunda bölümlenmiş tablo oluşturma
Dosya gruplarında bağımsız olarak yedekleme ve geri yükleme işlemleri gerçekleştirmeniz gerekmiyorsa, tek bir dosya grubu kullanarak bir tabloyu bölümleme, bölümlenmiş tablonun zaman içinde yönetimini kolaylaştırır.
Bu örnek, dosya ve dosya grubu eklemeyi desteklemeyen Azure SQL Veritabanı ve Fabric'teki SQL veritabanı için uygundur. SQL Server ve Azure SQL Yönetilen Örneği'nde, dosya grubunuz ve dosya yönetimi uygulamalarınıza bağlı olarak kullanıcı tarafından oluşturulan bir dosya grubu belirtmek isteyebilirsiniz.
Örnek, Transact-SQL kullanarak SQL Server Management Studio'da (SSMS) bölümlenmiş tablo oluşturma adımlarını gösterir ve tüm bölümleri PRIMARY dosya grubuna atar. Örnek:
-
datetime2 veri türünü kullanarak üç sınır değeriyle
myRangePF1adlı RANGE RIGHT bölümleme işlevi oluşturur. Üç sınır değeri, dört bölümlü bölümlenmiş bir tabloya neden olur. -
myRangePS1bölüm işlevindeki tüm bölümleriALL TOdosya grubuna atamak içinmyRangePF1söz dizimini kullananPRIMARYadlı bir bölüm düzeni oluşturur. - bölümleme sütunu olarak
PartitionTableadlı bir sütun belirterekmyRangePS1bölüm düzenindecol1adlı bir tablo oluşturur.
Nesne Gezgini, Veritabanı Motorunun bir örneğine bağlanın.
Standart çubuğunda Yeni Sorguseçin.
Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Executeöğesini seçin. Bu örnek bir bölüm işlevi ve bölüm düzeni oluşturur. Depolama konumu olarak belirtilen bölüm düzeniyle yeni bir tablo oluşturulur.
CREATE PARTITION FUNCTION myRangePF1 (datetime2(0))
AS RANGE RIGHT FOR VALUES ('2022-04-01', '2022-05-01', '2022-06-01') ;
GO
CREATE PARTITION SCHEME myRangePS1
AS PARTITION myRangePF1
ALL TO ('PRIMARY') ;
GO
CREATE TABLE dbo.PartitionTable (col1 datetime2(0) PRIMARY KEY, col2 char(10))
ON myRangePS1 (col1) ;
GO
Transact-SQL ile birden çok dosya grubunda bölümlenmiş tablo oluşturma
SSMS'de Transact-SQL kullanarak bir veya daha fazla dosya grubu, karşılık gelen dosya ve bölümlenmiş tablo oluşturmak için bu bölümdeki adımları izleyin.
Hem SQL Server hem de Azure SQL Yönetilen Örneği, dosya grupları ve dosyalar oluşturmayı destekler. Azure SQL Yönetilen Örneği eklenen tüm veritabanı dosyalarının yolunu otomatik olarak yapılandırdığından, Azure SQL Yönetilen Örneği'ndeki ALTER DATABASE ADD FILE komutu FILENAME parametresine izin vermez. Azure SQL Veritabanı yalnızca PRIMARY dosya grubunda bölümlenmiş tablolar oluşturmayı destekler.
Transact-SQLkullanarak bir dosya grubunda bölümlenmiş tablo oluşturma bölümünde Azure SQL Veritabanı için örnek kod bulun.
Aşağıdaki örneği boş bir veritabanında çalıştırın. Örnek:
- Veritabanına dört yeni dosya grubu ekler.
- Her dosya grubuna bir dosya ekler.
- Üç sınır değeriyle bir tabloyu dört bölüme ayıracak olan adlı
myRangePF1oluşturur. - dört yeni dosya grubuna
myRangePS1uygulayanmyRangePF1adlı bir bölüm düzeni oluşturur. -
PartitionTablebölümleme içinmyRangePS1kullanancol1adlı bölümlenmiş bir tablo oluşturur.
Nesne Gezgini, Veritabanı Motorunun bir örneğine bağlanın.
Standart araç çubuğunda Yeni Sorguöğesini seçin.
Bu örnek yeni bir veritabanı oluşturur ve bunu kullanır. Ardından yeni dosya grupları, bölüm işlevi ve bölüm düzeni oluşturur. Depolama konumu olarak belirtilen bölüm düzeniyle yeni bir tablo oluşturulur. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın.
Yönetilen örnek kullanıyorsanız
FILENAMEparametresini ve ilişkili değeriALTER DATABASE ADD FILEkomutundan kaldırın. Yönetilen örnek sizin için dosya yolunu otomatik olarak belirler.SQL Server örneği kullanıyorsanız,
FILENAMEparametresinin değerini örneğiniz için uygun bir konuma özelleştirin.Var olan bir veritabanını kullanmak istiyorsanız,
CREATE DATABASEkomutunu kaldırın veUSEdeyimini uygun veritabanı adıyla değiştirin.YÜRÜT'E TıKLAYıN.
CREATE DATABASE PartitionTest; GO USE PartitionTest; GO ALTER DATABASE PartitionTest ADD FILEGROUP test1fg; GO ALTER DATABASE PartitionTest ADD FILEGROUP test2fg; GO ALTER DATABASE PartitionTest ADD FILEGROUP test3fg; GO ALTER DATABASE PartitionTest ADD FILEGROUP test4fg; ALTER DATABASE PartitionTest ADD FILE ( NAME = partitiontest1, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\partitiontest1.ndf', SIZE = 5MB, FILEGROWTH = 5MB ) TO FILEGROUP test1fg; ALTER DATABASE PartitionTest ADD FILE ( NAME = partitiontest2, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\partitiontest2.ndf', SIZE = 5MB, FILEGROWTH = 5MB ) TO FILEGROUP test2fg; GO ALTER DATABASE PartitionTest ADD FILE ( NAME = partitiontest3, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\partitiontest3.ndf', SIZE = 5MB, FILEGROWTH = 5MB ) TO FILEGROUP test3fg; GO ALTER DATABASE PartitionTest ADD FILE ( NAME = partitiontest4, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\partitiontest4.ndf', SIZE = 5MB, FILEGROWTH = 5MB ) TO FILEGROUP test4fg; GO CREATE PARTITION FUNCTION myRangePF1 (datetime2(0)) AS RANGE RIGHT FOR VALUES ('2022-04-01', '2022-05-01', '2022-06-01') ; GO CREATE PARTITION SCHEME myRangePS1 AS PARTITION myRangePF1 TO (test1fg, test2fg, test3fg, test4fg) ; GO CREATE TABLE PartitionTable (col1 datetime2(0) PRIMARY KEY, col2 char(10)) ON myRangePS1 (col1) ; GO
Tabloyu SSMS ile bölümleme
İsteğe bağlı olarak dosya grupları ve bunlara karşılık gelen dosyalar oluşturmak için bu bölümdeki adımları izleyin, ardından SQL Server Management Studio'da (SSMS) bölüm oluşturma sihirbazı kullanarak bölümlenmiş bir tablo oluşturun veya var olan bir tabloyu bölümleyin. Bölüm Oluşturma Sihirbazı SQL Server ve Azure SQL Yönetilen Örneği için SSMS'de kullanılabilir. Azure SQL Veritabanı için Transact-SQLkullanarak bir dosya grubunda bölümlenmiş tablo oluşturma bölümüne bakın.
Yeni dosya grupları oluşturma (isteğe bağlı)
Bölümlenmiş tablonuzu bir veya daha fazla yenidosya grubuna yerleştirmek istiyorsanız, bu bölümdeki adımları izleyin. Hem SQL Server hem de Azure SQL Yönetilen Örneği, dosya grupları ve dosyalar oluşturmayı destekler. Azure SQL Yönetilen Örneği için, oluşturulan tüm dosyaların yolu sizin için otomatik olarak yapılandırılır.
Nesne Gezgini'nde, bölümlenmiş tablo oluşturmak istediğiniz veritabanına sağ tıklayın ve özellikler seçin.
Veritabanı Özellikleri -database_name iletişim kutusunda, Sayfa Seçimibaşlığı altında, Dosya Gruplarınıseçin.
Satırlaraltında Ekleseçin. Yeni satıra dosya grubu adını girin.
Warning
Birden çok dosya grubu belirtirken, bölümleri oluştururken sınır değerleri için belirtilen dosya grubu sayısına ek olarak her zaman bir ek dosya grubunuz olmalıdır.
Bölümlenmiş tablo veya tablolar için tüm dosya gruplarını oluşturana kadar satır eklemeye devam edin.
Tamam'ı seçin.
bir sayfa seçin bölümünde Dosyalar seçin.
Satırlaraltında Ekleseçin. Yeni satıra bir dosya adı girin ve bir dosya grubu seçin.
Her dosya grubu için en az bir dosya oluşturana kadar satır eklemeye devam edin.
Bölümlenmiş tablo oluşturma
İsteğe bağlı olarak, Tablolar klasörünü genişletin ve normalde yaptığınız gibi bir tablo oluşturun. Daha fazla bilgi için bkz. Tablo oluşturma (Veritabanı Altyapısı). Alternatif olarak, bir sonraki adımda mevcut bir tabloyu belirtebilirsiniz.
Bölümlendirmek istediğiniz tabloya sağ tıklayın, Depolamaüzerine gelin ve Bölüm Oluştur...seçin.
Bölüm Oluşturma Sihirbazı 'nda, Bölüm Oluşturma Sihirbazı Hoş Geldiniz sayfasında İleriseçin.
Bölümleme Sütunu Seçin sayfasında, Kullanılabilir bölümleme sütunları listesindeki tablonuzu bölümlendirmek istediğiniz sütunu seçin. Kullanılabilir bölümleme sütunları kılavuzunda yalnızca verileri bölümlendirmek için kullanılabilecek veri türlerine sahip sütunlar görüntülenir. Bölümleme sütunu olarak hesaplanan bir sütun seçerseniz, sütunun kalıcı sütun olarak oluşturulması gerekir.
Bölümleme sütunu ve değer aralığı için sahip olduğunuz seçenekler öncelikle verilerinizin mantıksal bir şekilde gruplandırılabildiği ölçüde belirlenir. Örneğin, verilerinizi bir yılın aylarına veya üç aylık dönemlerine göre mantıksal gruplandırmalara bölmeyi seçebilirsiniz. Verilerinize karşı yapmayı planladığınız sorgular, bu mantıksal gruplandırma işleminin tablo bölümlerinizi yönetmek için yeterli olup olmadığını belirler. Tüm veri türleri, metin, ntext, image, xml, timestamp, varchar(max), nvarchar(max), varbinary(max), diğer ad veri türleri veya ortak dil çalışma zamanı (CLR) kullanıcı tanımlı veri türleri hariç, bölümleme sütunları olarak kullanıma uygundur.
Bu sayfada aşağıdaki ek seçenekler mevcuttur:
Bu tabloyu seçili bölümlenmiş tabloya olarak yerleştirin
Bölümleme sütununda bu tabloyla birleştirmek için ilgili verileri içeren bölümlenmiş bir tablo seçmenize olanak tanır. Bölümleme sütunları üzerinde birleştirilen bölümlere sahip tablolar genellikle daha verimli sorgulanır.Depolama, benzersiz olmayan dizinleri ve benzersiz dizinleri dizinlenmiş bölüm sütunuyla hizalar
Aynı bölüm düzeniyle bölümlenmiş tablonun tüm dizinlerini hizalar. Tablo ve dizinleri hizalandığında, verileriniz aynı şekilde bölümlendiğinden bölümleri bölümlenmiş tabloların içinde ve dışına daha etkili bir şekilde taşıyabilirsiniz.Bölümleme sütununu ve diğer seçenekleri seçtikten sonra İleriseçin.
Bölüm İşlevi Seçin sayfasında, bölüm işlevi seçin altında yeni bölüm işlevi veya Var olan bölüm işleviseçin. Yeni bölümleme işlevi seçerseniz, işlevin adını girin. Mevcut bölüm işleviseçerseniz, listeden kullanmak istediğiniz işlevin adını seçin. Var olan bölüm işlevi seçeneği, veritabanında başka bölüm işlevleri yoksa kullanılamaz.
Bu sayfayı tamamladıktan sonra İleriseçin.
Bölüm Düzeni Seç sayfasında, Bölüm düzeni seçaltında, ya Yeni bölüm düzeni ya da Mevcut bölüm düzeniseçeneklerinden birini seçin. Yeni bölüm düzeni seçerseniz, düzenin adını girin. Mevcut bölüm düzeniseçerseniz, listeden kullanmak istediğiniz düzenin adını seçin. Veritabanında başka bölüm düzenleri yoksa Var olan bölüm düzeni seçeneği kullanılamaz.
Bu sayfayı tamamladıktan sonra İleriseçin.
Eşleme Bölümleri sayfasında, aralık altında Sol sınır veya Sağ sınıröğesini seçin. Sol kenar sınırı, en yüksek sınırlayıcı değerin bir bölüme dahil edildiğini gösterir. Sağ sınır, her bölüme en düşük sınırlayıcı değerin dahil olacağını belirtir. Partition işlevihakkında sağ ve sol aralıklar hakkında daha fazla bilgi edinin.
Birden çok sınır noktası belirtirken, bir dosya grubuna sınır değerleri atayan satırlara ek olarak her zaman bir satır daha girmeniz gerekir.
Dosya gruplarını seçin ve sınır değerlerini belirtin kılavuzunda, Dosya grubualtında, verilerinizi bölümlendirmek istediğiniz dosya grubunu seçin. Sınıraltında, her dosya grubu için sınır değerini girin. Aynı dosya grubuna birden çok veya tüm bölüm atamak istiyorsanız, her satır için aynı dosya grubu adını seçin. Tek bir satırda bir dosya grubu seçerseniz ve sınır değeri boş bırakılırsa bölüm işlevi, bölüm işlevi adını kullanarak tüm tabloyu veya dizini tek bir bölüme eşler.
Bu sayfada aşağıdaki ek seçenekler mevcuttur:
Sınırları Ayarla...
Bölümleriniz için istediğiniz sınır değerlerini ve tarih aralıklarını seçmek için Sınır Değerlerini Ayarla iletişim kutusunu açar. Bu seçenek yalnızca şu veri türlerinden birini içeren bir bölümleme sütunu seçtiğinizde kullanılabilir: tarih, datetime, smalldatetime, datetime2veya datetimeoffset.Tahmini depolama alanı
Bölümler için belirtilen her dosya grubu için satır sayımını, gerekli alanı ve kullanılabilir alanı tahmin eder. Bu değerler kılavuzda salt okunur değerler olarak görüntülenir.Sınır Değerlerini Ayarla iletişim kutusu aşağıdaki ek seçenekleri sağlar:
Başlangıç tarihi
Bölümlerinizin aralık değerleri için başlangıç tarihini seçer.Bitiş tarihi
Bölümlerinizin aralık değerleri için bitiş tarihini seçer. Sol sınır seçtiyseniz, Eşleme Bölümleri sayfasında, bu tarih her dosya grubu/bölüm için son değer olacaktır. Eşleme Bölümleri sayfasında sağ sınırını seçtiyseniz, bu tarih sondan bir önceki dosya grubundaki ilk değer olacaktır.Tarih aralığı
Her bölüm için istediğiniz tarih ayrıntı düzeyini veya aralık değeri artışını seçer.Bu sayfayı tamamladıktan sonra İleriseçin.
Çıkış Seçeneği Seçin sayfasında, bölümlenmiş tablonuzu nasıl tamamlamak istediğinizi belirtin. Sihirbazdaki önceki sayfaları temel alan bir SQL betiği oluşturmak için Betik Oluştur'u seçin. Sihirbazdaki kalan tüm sayfaları tamamladıktan sonra yeni bölümlenmiş tabloyu oluşturmak için Hemen çalıştır'ı seçin. Yeni bölümlenmiş tabloyu gelecekte önceden belirlenmiş bir zamanda oluşturmak için Zamanlama'i seçin.
Betik oluşturseçerseniz, Betik seçeneklerialtında aşağıdaki seçenekler kullanılabilir:
Betiği dosyaya
Betiği.sqldosyası olarak oluşturur. Dosya adı kutusuna bir dosya adı ve konum girin veya Gözat'ı seçerek Betik Dosyası Konumu iletişim kutusunu açın. Farklı Kaydetöğesinden, Unicode metni veya ANSI metniseçin.Betiği Panoya
Betiği Pano'ya kaydeder.Yeni Sorgu Penceresine Betiği
Betiği yeni bir Sorgu Düzenleyicisi penceresinde oluşturur. Bu, varsayılan seçimdir.Zamanlamaseçerseniz, Zamanlamayı değiştirseçin.
Yeni İş Zamanlaması iletişim kutusunda, Adı kutusuna iş zamanlamasının adını girin.
Zamanlama türü listesinde zamanlama türünü seçin:
SQL Server Aracısı başlatıldığında otomatik olarak başlat
CPU'lar boşta olduğunda başlat
Recurring. Yeni bölümlenmiş tablonuz düzenli olarak yeni bilgilerle güncelleştiriliyorsa bu seçeneği belirleyin.
Bir kerelik. Bu, varsayılan seçimdir.
Zamanlamayı etkinleştirmek veya devre dışı bırakmak için Etkin onay kutusunu seçin veya temizleyin.
Yinelenenseçerseniz:
Sıklıkaltında, Oluşur listesinde, oluşum sıklığını belirtin:
Günlükseçerseniz, Her kutusuna iş programının kaç günde bir yinelendiğini girin.
Haftalık seçerseniz, Tekrar her kutusuna iş zamanlamasının haftalar içinde ne sıklıkta yinelediğini giriniz. İş zamanlamasının çalıştırıldığı günü veya haftanın günlerini seçin.
Aylık seçerseniz, Gün veya seçin.
Günseçerseniz, hem iş zamanlamasının çalışmasını istediğiniz ayın tarihini hem de iş zamanlamasının aylar içinde ne sıklıkta yinelediğini girin. Örneğin, iş zamanlamasının her ay ayın 15. gününde çalışmasını istiyorsanız, Gün'ni seçin ve ilk kutuya "15" ve ikinci kutuya "2" yazın. İkinci kutuda izin verilen en büyük sayı "99" olur.
seçerseniz, iş zamanlamasının çalışmasını istediğiniz ayın içinde haftanın belirli gününü ve iş zamanlamasının aylar içinde ne sıklıkta yinelendiğini seçin. Örneğin, iş zamanlamasının her ay ayın son haftasında çalışmasını istiyorsanız, Gün'ni seçin, ilk listeden son seçin ve ikinci listeden hafta içi seçin ve son kutuya "2" yazın. Ayrıca, ilk iki listeden ilk , ikinci, üçüncü veya dördüncü ve belirli hafta içi günleri (örneğin: Pazar veya Çarşamba) seçebilirsiniz. Son kutuda izin verilen en büyük sayı "99" olur.
Günlük sıklıkaltında, iş zamanlamasının çalıştığı gün ne sıklıkta tekrar edeceğini belirtin:
bir kez gerçekleşir'i seçerseniz, bir kez gerçekleşir kutusuna iş zamanlamasının çalışması gereken günün belirli saatini girin. Günün saat, dakika ve saniyesinin yanı sıra AM veya PM'yi girin.
Hergerçekleşir'i seçerseniz, Sıklıkaltında seçilen gün içinde iş zamanlamasının ne sıklıkta çalışacağını belirtin. Örneğin, iş zamanlamasının çalıştırıldığı gün boyunca her 2 saatte bir tekrarlanmasını istiyorsanız, Hergerçekleşir seçeneğini seçin, ilk kutuya "2" yazın ve ardından listeden saat seçin. Bu listeden dakika ve saniyeseçebilirsiniz. İlk kutuda izin verilen en büyük sayı "100"dür.
Başlangıç kutusuna, iş programının çalışmaya başlaması gereken saati girin. Bitiş kutusuna, iş zamanlamasının yinelenmeyi durdurması gereken zamanı girin. Günün saat, dakika ve saniyesinin yanı sıra AM veya PM'yi girin.
Sürealtında, Başlangıç tarihialanına, iş zamanlamasının çalışmaya başlamasını istediğiniz tarihi girin. İş zamanlamasının ne zaman çalışmayı durduracağını belirtmek için, Bitiş tarihi veya Bitiş tarihi yok seçeneklerini seçin. Bitiş tarihiseçerseniz, çalışmayı durdurmak için iş zamanlamasını istediğiniz tarihi girin.
Bir Kerelikseçeneğini, Tek seferlik oluşumaltında, Tarih kutusuna iş zamanlamasının çalıştırılacağı tarihi girerek seçerseniz. Saat kutusuna iş zamanlamasının çalıştırılacağı saati girin. Günün saat, dakika ve saniyesinin yanı sıra AM veya PM'yi girin.
Özetaltında, Açıklamabölümünde tüm iş zamanlama ayarlarının doğru olduğundan emin olun.
Tamam'ı seçin.
Bu sayfayı tamamladıktan sonra İleriseçin.
İnceleme Özeti sayfasında, Seçimlerinizi İnceleyinaltında, tüm bölüm ayarlarının doğru olduğunu kontrol etmek için tüm mevcut seçenekleri genişletin. Her şey beklendiği gibiyse, Bitirseçin.
Bölüm Oluşturma Sihirbazı İlerleme sayfasında, Bölüm Oluşturma Sihirbazı'nın eylemleriyle ilgili durum bilgilerini izleyin. Sihirbazda seçtiğiniz seçeneklere bağlı olarak, ilerleme sayfası bir veya daha fazla eylem içerebilir. Üstteki kutu, sihirbazın genel durumunu ve sihirbazın aldığı durum, hata ve uyarı iletilerinin sayısını görüntüler.
Bölüm Oluşturma Sihirbazı İlerleme sayfasında aşağıdaki seçenekler kullanılabilir:
Details
Eylem, durum ve sihirbaz tarafından gerçekleştirilen eylemden döndürülen tüm iletileri sağlar.Action
Her eylemin türünü ve adını belirtir.Status
Sihirbaz eyleminin bir bütün olarak Başarı değerini mi yoksa Hata değerini mi döndürdiğini gösterir.Message
İşlemden döndürülen tüm hata veya uyarı iletilerini sağlar.Report
Bölüm Oluşturma Sihirbazı'nın sonuçlarını içeren bir rapor oluşturur. Seçenekler Raporu Görüntüle, Raporu Dosyaya Kaydet, Raporu Panoya Kopyalave Raporu E-postaOlarak Gönder şeklindedir.Raporu Görüntüle
Bölüm Oluşturma Sihirbazı'nın ilerleme durumunu gösteren bir metin raporu içeren Raporu Görüntüle iletişim kutusunu açar.Raporu Dosyaya Kaydet
Raporu Olarak Kaydet iletişim kutusunu açar.Raporu Panoya Kopyala
Sihirbazın ilerleme raporunun sonuçlarını Pano'ya kopyalar.Raporu E-posta olarak Gönder
Sihirbazın ilerleme raporunun sonuçlarını bir e-posta iletisine kopyalar.Tamamlandığında Kapatseçin.
Bölüm Oluşturma Sihirbazı bölüm işlevini ve düzenini oluşturur ve ardından bölümleyi belirtilen tabloya uygular. Tablo bölümlemini doğrulamak için Nesne Gezgini'nde tabloya sağ tıklayın ve özellikler seçin. Depolama sayfasını seçin. Sayfada bölüm işlevinin adı ve düzeni ile bölüm sayısı gibi bilgiler görüntülenir.
Bölümlenmiş tabloların ve dizinlerin sorgu meta verileri
Bir tablonun bölümlenip bölümlenmediğini, bölümlenmiş tablonun sınır noktalarını, bölümlenmiş tablonun bölümleme sütununu, her bölümdeki satır sayısını ve bölümlere veri sıkıştırma uygulanıp uygulanmadığını belirlemek için meta verileri sorgulayabilirsiniz.
Tablonun bölümlenip bölümlenmediğini belirleme
Tablo PartitionTable bölümlenmişse veya tablodaki kümelenmemiş dizinler bölümlenmişse aşağıdaki sorgu bir veya daha fazla satır döndürür. Tablo bölümlenmemişse ve tablodaki kümelenmemiş dizinler bölümlenmemişse, hiçbir satır döndürülemez.
SELECT SCHEMA_NAME(t.schema_id) AS SchemaName, *
FROM sys.tables AS t
JOIN sys.indexes AS i
ON t.[object_id] = i.[object_id]
JOIN sys.partition_schemes ps
ON i.data_space_id = ps.data_space_id
WHERE t.name = 'PartitionTable';
GO
Bölümlenmiş tablo için sınır değerlerini belirleme
Aşağıdaki sorgu, PartitionTable tablosundaki her bölüm için sınır değerlerini döndürür.
Sorgu, type içindeki sütununu kullanarak yalnızca tablonun kümelenmiş dizinine ilişkin bilgileri döndürür veya tablo yığınise temel tablo için bilgi döndürür. Bölümlenmiş, kümelenmemiş dizinleri sorgu sonuçlarına eklemek için, sorgudan AND i.type <= 1 kaldırın veya açıklama satırı oluşturun.
SELECT SCHEMA_NAME(t.schema_id) AS SchemaName, t.name AS TableName, i.name AS IndexName,
p.partition_number, p.partition_id, i.data_space_id, f.function_id, f.type_desc,
r.boundary_id, r.value AS BoundaryValue
FROM sys.tables AS t
JOIN sys.indexes AS i
ON t.object_id = i.object_id
JOIN sys.partitions AS p
ON i.object_id = p.object_id AND i.index_id = p.index_id
JOIN sys.partition_schemes AS s
ON i.data_space_id = s.data_space_id
JOIN sys.partition_functions AS f
ON s.function_id = f.function_id
LEFT JOIN sys.partition_range_values AS r
ON f.function_id = r.function_id and r.boundary_id = p.partition_number
WHERE
t.name = 'PartitionTable'
AND i.type <= 1
ORDER BY SchemaName, t.name, i.name, p.partition_number;
Bölümlenmiş tablo için bölüm sütununu belirleme
Aşağıdaki sorgu, tablo PartitionTablebölümleme sütununun adını döndürür.
Sorgu, type içindeki sütununu kullanarak yalnızca tablonun kümelenmiş dizinine ilişkin bilgileri döndürür veya tablo yığınise temel tablo için bilgi döndürür. Bölümlenmiş, kümelenmemiş dizinleri sorgu sonuçlarına eklemek için, sorgudan AND i.type <= 1 kaldırın veya açıklama satırı oluşturun.
SELECT
t.[object_id] AS ObjectID
, SCHEMA_NAME(t.schema_id) AS SchemaName
, t.name AS TableName
, ic.column_id AS PartitioningColumnID
, c.name AS PartitioningColumnName
, i.name as IndexName
FROM sys.tables AS t
JOIN sys.indexes AS i
ON t.[object_id] = i.[object_id]
AND i.[type] <= 1 -- clustered index or a heap
JOIN sys.partition_schemes AS ps
ON ps.data_space_id = i.data_space_id
JOIN sys.index_columns AS ic
ON ic.[object_id] = i.[object_id]
AND ic.index_id = i.index_id
AND ic.partition_ordinal >= 1 -- because 0 = non-partitioning column
JOIN sys.columns AS c
ON t.[object_id] = c.[object_id]
AND ic.column_id = c.column_id
WHERE t.name = 'PartitionTable';
GO
Her bölümdeki olası değer aralığını açıklayan satırları belirleme
Aşağıdaki sorgu, tablo PartitionTableiçin bölüme göre satırları ve kullanımdaki bölüm işlevi için 'karşılaştırma işleçlerinin' açıklamasını döndürür.
Sorgu orijinali Kalen Delaney tarafından sağlanmıştır.
Sorgu, type içindeki sütununu kullanarak yalnızca tablonun kümelenmiş dizinine ilişkin bilgileri döndürür veya tablo yığınise temel tablo için bilgi döndürür. Bölümlenmiş, kümelenmemiş dizinleri sorgu sonuçlarına eklemek için, sorgudan AND i.type <= 1 kaldırın veya açıklama satırı oluşturun.
SELECT SCHEMA_NAME(t.schema_id) AS SchemaName, t.name AS TableName, i.name AS IndexName,
p.partition_number AS PartitionNumber, f.name AS PartitionFunctionName, p.rows AS Rows, rv.value AS BoundaryValue,
CASE WHEN ISNULL(rv.value, rv2.value) IS NULL THEN 'N/A'
ELSE
CASE WHEN f.boundary_value_on_right = 0 AND rv2.value IS NULL THEN '>='
WHEN f.boundary_value_on_right = 0 THEN '>'
ELSE '>='
END + ' ' + ISNULL(CONVERT(varchar(64), rv2.value), 'Min Value') + ' ' +
CASE f.boundary_value_on_right WHEN 1 THEN 'and <'
ELSE 'and <=' END
+ ' ' + ISNULL(CONVERT(varchar(64), rv.value), 'Max Value')
END AS TextComparison
FROM sys.tables AS t
JOIN sys.indexes AS i
ON t.object_id = i.object_id
JOIN sys.partitions AS p
ON i.object_id = p.object_id AND i.index_id = p.index_id
JOIN sys.partition_schemes AS s
ON i.data_space_id = s.data_space_id
JOIN sys.partition_functions AS f
ON s.function_id = f.function_id
LEFT JOIN sys.partition_range_values AS r
ON f.function_id = r.function_id and r.boundary_id = p.partition_number
LEFT JOIN sys.partition_range_values AS rv
ON f.function_id = rv.function_id
AND p.partition_number = rv.boundary_id
LEFT JOIN sys.partition_range_values AS rv2
ON f.function_id = rv2.function_id
AND p.partition_number - 1= rv2.boundary_id
WHERE
t.name = 'PartitionTable'
AND i.type <= 1
ORDER BY t.name, p.partition_number;
TextComparison sütunu, bölüm işlevinin tanımına göre her bölümdeki olası değer aralığını açıklar. Sorgudaki örnek sonuçların bir görünümü aşağıda verilmişti:
| SchemaName | TableName | IndexName | PartitionNumber | PartitionFunctionName | rows | BoundaryValue | TextComparison |
|---|---|---|---|---|---|---|---|
| dbo | PartitionTable | PK_PartitionTable | 1 | PFTest | 0 | 2022-03-01 00:00:00.000 | >= Min Değer ve < 1 Mar 2022 00:00 |
| dbo | PartitionTable | PK_PartitionTable | 2 | PFTest | 2 | 2022-04-01 00:00:00.000 | >= 1 Mart 2022 12:00 ve < Nisan 2022 12:00 |
| dbo | PartitionTable | PK_PartitionTable | 3 | PFTest | 1 | 2022-05-01 00:00:00.000 | >= 1 Nisan 2022 12:00 ve < 1 Mayıs 2022 12:00 |
| dbo | PartitionTable | PK_PartitionTable | 4 | PFTest | 0 | 01-06-2022 00:00:00.000 | >= 1 Mayıs 2022 12:00 ve < Haziran 2022 12:00 |
| dbo | PartitionTable | PK_PartitionTable | 5 | PFTest | 1 | 2022-07-01 00:00:00.000 | >= 1 Haziran 2022 12:00 ve < 1 Temmuz 2022 12:00 |
| dbo | PartitionTable | PK_PartitionTable | 6 | PFTest | 0 | NULL | >= 1 Temmuz 2022 00:00 ve < Maksimum Değer |
Limitations
Sınırlamaları Bölümleme ile ilgili sınırlamalar ve performans konuları hakkında bilgi edinin
İlgili içerik
- Bölümlenmiş tablolar ve dizinler
- Azure SQL Veritabanı ile ölçeği genişletmek
- ayrılmış SQL havuzundaki tabloları bölümleme
- SQL Server ve Azure SQL dizin mimarisini ve tasarım kılavuzunu
- ALTER DATABASE (Transact-SQL) Dosya ve Dosya Grubu Seçenekleri
- BÖLÜM FONKSİYONU OLUŞTUR (Transact-SQL)
- BÖLÜM DÜZENİ OLUŞTURMA (Transact-SQL)
- TABLO OLUŞTUR (Transact-SQL)