Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 21847|Απάντηση: 0

[Επικοινωνία] Σύνοψη του Sql Server των διαμερισμένων πινάκων

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 13/7/2021 1:52:31 μ.μ. | | |

Επίσημη τεκμηρίωση


Βήματα υψηλού επιπέδου για τη δημιουργία ενός πίνακα διαμερισμάτων

1. Δημιουργήστε μια ομάδα αρχείων (παρόμοια με το oracle tablespace), φυσικά, δεν μπορείτε να τη δημιουργήσετε, μπορείτε να βάλετε όλα τα διαμερίσματα σε μία ομάδα αρχείων

2. Δημιουργήστε μια συνάρτηση κατάτμησης και διανείμετε δεδομένα σύμφωνα με το εύρος

3. Δημιουργήστε ένα σχήμα διαμερισμάτων, συσχετίστε τη συνάρτηση διαμερισμάτων και επίσης συσχετίστε την ομάδα αρχείων, η συνάρτηση διαμερισμάτων χωρίζει τα δεδομένα σε διάφορες περιοχές, πρέπει να συσχετίσετε πολλές ομάδες αρχείων, φυσικά, μπορείτε επίσης να τοποθετήσετε αυτές τις περιοχές διαμερισμάτων στην ίδια ομάδα αρχείων

4. Δημιουργήστε έναν πίνακα και συσχετίστε το σχέδιο ζωνών


Αντιμετωπίστηκε ένα σφάλμα

Όταν κάνετε απευθείας δεξί κλικ στον πίνακα για να εξαγάγετε τη δομή του πίνακα, δεν μπορείτε να εξαγάγετε τις πληροφορίες διαμερίσματος και μπορείτε να εξαγάγετε τις πληροφορίες διαμερίσματος του πίνακα μόνο κάνοντας δεξί κλικ στη δέσμη ενεργειών δημιουργίας εργασιών βάσης δεδομένων


Μερικά συμπεράσματα από τον πίνακα διαμερισμάτων:

1. Τα χωρισμένα πεδία δεν χρειάζεται απαραίτητα να ευρετηριαστούν

2. Τα χωρισμένα πεδία μπορούν να δημιουργηθούν ως ομαδοποιημένα ευρετήρια ή μη ομαδοποιημένα ευρετήρια

3. Τα χωρισμένα πεδία, είτε πρόκειται για ομαδοποιημένα ευρετήρια είτε για ευρετήρια χωρίς συμπλέγματα, επανενσωματώνονται σε ομαδοποιημένα ευρετήρια χωρίς συσχετισμένα σχήματα διαμέρισης και ο διαμερισμένος πίνακας γίνεται μη διαμερισμένος πίνακας

4. Μετατρέψτε έναν συνηθισμένο πίνακα σε χωρισμένο πίνακα, απλώς δημιουργήστε ένα ομαδοποιημένο ευρετήριο στον πίνακα και χρησιμοποιήστε το σχήμα κατάτμησης στο ομαδοποιημένο ευρετήριο. Για παράδειγμα, όταν το πεδίο 1 ενός πίνακα χωρίς διαμερίσματα δημιουργεί ένα ευρετήριο συμπλέγματος και συσχετίζεται με ένα σχήμα διαμερισμάτων, ο πίνακας μετατρέπεται σε πίνακα διαμερισμάτων και το πεδίο διαμερισμάτων είναι το πεδίο 1.

5. Μετατρέψτε τον διαμερισμένο πίνακα σε κανονικό πίνακα, εάν υπάρχει πεδίο διαμερίσματος με ευρετήριο, δημιουργήστε ξανά το διαμερισμένο πεδίο ως ευρετήριο συμπλέγματος και μην συσχετιστείτε με το σχήμα διαμερισμάτων, εάν το πεδίο διαμερίσματος δεν έχει ευρετήριο, το πεδίο διαμερίσματος μπορεί να δημιουργήσει ένα νέο ευρετήριο συμπλέγματος και να μην συσχετιστεί με το σχήμα διαμερισμάτων

6. Η αλλαγή ενός κανονικού πίνακα σε πίνακα διαμερισμάτων ή η αλλαγή ενός πίνακα διαμερισμάτων σε έναν συνηθισμένο πίνακα μπορεί να επιτευχθεί μόνο με τη χρήση ομαδοποιημένων ευρετηρίων, επειδή με τα ομαδοποιημένα ευρετήρια είναι πίνακες οργάνωσης ευρετηρίου και η ανακατανομή των πινάκων πραγματοποιείται μέσω της ανακατασκευής ομαδοποιημένων ευρετηρίων. Εάν ο συνηθισμένος πίνακας μετατραπεί σε πίνακα διαμερισμάτων, ανακατασκευάστε το πεδίο διαμερίσματος σε ευρετήριο συμπλέγματος και συσχετίστε το με το σχήμα διαμερισμάτων και, εάν ο πίνακας διαμερισμάτων γίνει κανονικός πίνακας, ανακατασκευάστε το πεδίο διαμερίσματος σε ευρετήριο συμπλέγματος χωρίς να συσχετίσετε το σχήμα διαμερισμάτων.

7. Για να δημιουργήσετε έναν πίνακα διαμερισμάτων, ο περιορισμός μοναδικότητας πρέπει να περιλαμβάνει μια στήλη διαμερίσματος

8. Κατά τη δημιουργία ενός σχήματος διαμερισμάτων, είναι απαραίτητο να βεβαιωθείτε ότι ο αριθμός των ομάδων αρχείων ταιριάζει με το τμήμα εύρους διαμερισμάτων της συνάρτησης διαμερισμάτων και δεν έχει σημασία αν το όνομα της ομάδας αρχείων είναι διπλότυπο.

9. Οι συναρτήσεις κατάτμησης και τα σχήματα κατάτμησης βρίσκονται σε μια βάση δεδομένων, χωρίς να βλέπουν ολόκληρη την παρουσία

10. Ο πίνακας διαμερισμάτων είναι πολύ μεγάλος για να καταλαμβάνει πολύ χώρο στο δίσκο και το μέγεθος εξακολουθεί να μην αλλάζει μετά τη διαγραφή ορισμένων πεδίων


Βήματα για τη δημιουργία ενός πίνακα διαμερισμάτων

1.1. Παράδειγμα δημιουργίας ομάδας αρχείων

αλλαγή βάσης δεδομένων test1 προσθήκη ομάδας αρχείων part1;

αλλαγή βάσης δεδομένων test1 προσθήκη ομάδας αρχείων part1000;

alter database test1 add filegroup part2000;

alter database test1 add filegroup part3000;

alter database test1 add filegroup part4000;

1.2. Δημιουργήστε ένα παράδειγμα αρχείου και συσχετίστε μια ομάδα αρχείων

ΑΛΛΑΓΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ test1 ΠΡΟΣΘΗΚΗ ΑΡΧΕΙΟΥ(ΟΝΟΜΑ = test1part1,FILENAME = 'G:\test1part1.ndf',ΜΕΓΕΘΟΣ = 5MB,MAXSIZE = 100MB,FILEGROWTH = 5MB) ΣΤΗΝ ΟΜΑΔΑ ΑΡΧΕΙΩΝ part1;

ΑΛΛΑΓΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ test1 ΠΡΟΣΘΗΚΗ ΑΡΧΕΙΟΥ(ΟΝΟΜΑ = test1part1000,ΟΝΟΜΑ ΑΡΧΕΙΟΥ = 'G:\test1part1000.ndf',ΜΕΓΕΘΟΣ = 5MB,MAXSIZE = 100MB,FILEGROWTH = 5MB) ΣΤΟ FILEGROUP part1000;

ΑΛΛΑΓΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ test1 ΠΡΟΣΘΗΚΗ ΑΡΧΕΙΟΥ(ΟΝΟΜΑ = test1part2000,ΟΝΟΜΑ ΑΡΧΕΙΟΥ = 'G:\test1part2000.ndf',ΜΕΓΕΘΟΣ = 5MB,MAXSIZE = 100MB,FILEGROWTH = 5MB) ΣΤΟ FILEGROUP part2000;

ALTER DATABASE test1 ADD FILE(NAME = test1part3000,FILENAME = 'G:\test1part3000.ndf',SIZE = 5MB,MAXSIZE = 100MB,FILEGROWTH = 5MB) ΣΤΟ FILEGROUP part3000;

ΑΛΛΑΓΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ test1 ΠΡΟΣΘΗΚΗ ΑΡΧΕΙΟΥ(ΟΝΟΜΑ = test1part4000,ΟΝΟΜΑ ΑΡΧΕΙΟΥ = 'G:\test1part4000.ndf',ΜΕΓΕΘΟΣ = 5MB,MAXSIZE = 100MB,FILEGROWTH = 5MB) ΣΤΗΝ ΟΜΑΔΑ ΑΡΧΕΙΟΥ part4000;

2. Ένα παράδειγμα δημιουργίας μιας συνάρτησης κατάτμησης, η συνάρτηση κατάτμησης ονομάζεται partfun1

ΔΗΜΙΟΥΡΓΙΑ ΣΥΝΑΡΤΗΣΗΣ ΔΙΑΜΕΡΙΣΜΑΤΟΣ partfun1 (int)

ΩΣ ΕΎΡΟΣ ΤΙΜΏΝ ΠΟΥ ΑΠΟΜΈΝΕΙ ΓΙΑ ΤΙΣ ΤΙΜΈΣ ('1000','2000','3000','4000')

--VALUES ('1000', '2000', '3000', '4000') υποδεικνύει ότι ο πίνακας θα χωριστεί σε 5 ζώνες, οι οποίες χωρίζονται ανάλογα με το μέγεθος των τιμών στα πεδία του πίνακα, οι πέντε ζώνες είναι οι μικρότερες - 1000, 1000-2000, 2000-3000, 3000-4000, 4000-μεγαλύτερες

3. Ένα παράδειγμα δημιουργίας ενός σχήματος, συσχετίστε τη συνάρτηση κατάτμησης partfun1 και συσχετίστε την ομάδα αρχείων

ΔΗΜΙΟΥΡΓΗΣΤΕ ΣΧΕΔΙΟ ΔΙΑΜΕΡΙΣΜΑΤΟΣ partschema1

AS PARTITION partfun1

TO (μέρος1,μέρος1000,μέρος2000,μέρος3000,μέρος4000);

--Χτισμένο σε πολλές ομάδες αρχείων των part1, part1000, part2000, part3000, part4000

ΔΗΜΙΟΥΡΓΙΑ ΣΧΕΔΙΟΥ ΔΙΑΜΕΡΙΣΜΑΤΟΣ partschema2

AS PARTITION partfun1

TO (μέρος 1,[ΚΎΡΙΟ],[ΚΎΡΙΟ],[ΚΎΡΙΟ],[ΚΎΡΙΟ],[ΚΎΡΙΟ]);

--Χτισμένο στο μέρος 1, [PRIMARY] ομάδα αρχείων, δεν είναι πρόβλημα να αντικαταστήσετε το μέρος 1 με το [PRIMARY], έτσι ώστε να είναι παρόμοιο με τη δημιουργία στην ομάδα αρχείων [PRIMARY]

ΔΗΜΙΟΥΡΓΙΑ ΣΧΕΔΙΟΥ ΔΙΑΜΕΡΙΣΜΑΤΟΣ partschema3

AS PARTITION partfun1

ALL TO (μέρος 1);

--όλα χτισμένα στην ομάδα αρχείων part1

ΔΗΜΙΟΥΡΓΙΑ ΣΧΕΔΙΟΥ ΔΙΑΜΕΡΙΣΜΑΤΟΣ partschema4

AS PARTITION partfun1

ΌΛΑ ΣΕ ([ΚΎΡΙΑ]);

--όλα χτισμένα στην ομάδα αρχείων [PRIMARY]

4. Παράδειγμα δημιουργίας πίνακα διαμερισμάτων

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ parttable1(

[ID] [int] ΟΧΙ ΑΚΥΡΟ,

[IDText] [νβαρτσάρ] (μέγ.) ΆΚΥΡΟΣ

[Ημερομηνία] [ημερομηνία/ώρα] NULL)

ON [partschema1](αναγνωριστικό);

Εισαγάγετε στον PartTable1 τις τιμές (1,'1',getdate()-4).

εισάγονται στον πίνακα μέρους1 οι τιμές (1001,'1001',getdate()-3)·

Εισάγονται στον πίνακα μέρους1 οι τιμές (2001,'2001',getdate()-2)·

εισάγονται στον πίνακα μέρους1 οι τιμές (3001,'3001',getdate()-1)·

Εισαγάγετε στον PartTable1 τις τιμές (4001,'4001',getdate());

5. Επαληθεύστε τα δεδομένα του πίνακα διαμερισμάτων

ΕΠΙΛΟΓΗ * ΑΠΟ parttable1;

--Επιστρέφει όλες τις σειρές του πίνακα διαμερισμάτων

ΕΠΙΛΕΞΤΕ διακριτές $PARTITION. [partfun1] (4) ΑΠΟ μέροςπίνακας1;

--Επιστρέφει σε ποιο διαμέρισμα ανήκει η σειρά με την τιμή του πεδίου ID 4

ΕΠΙΛΕΞΤΕ * ΑΠΟ parttable1 όπου $PARTITION. [partfun1] (ID)=2

--Επιστρέφει όλες τις σειρές στο 2ο διαμέρισμα, το αναγνωριστικό είναι το αναγνωριστικό πεδίου διαμερίσματος

Σημείωση: Δεν μπορείτε να χρησιμοποιήσετε το SELECT * FROM parttable1 όπου $PARTITION. [partfun1] (ID)=2 έχει αποτέλεσμα, σημαίνει ότι είναι ένας διαμερισμένος πίνακας και η τελευταία δοκιμή 7 αυτής της εργασίας είναι ένας μη διαμερισμένος πίνακας, αλλά ΕΠΙΛΕΞΤΕ * ΑΠΟ parttable1 όπου $PARTITION. [partfun1] (ID)=2 εξακολουθεί να έχει αποτέλεσμα


Νέα διαμερίσματα

1. Καθορίστε μια ομάδα αρχείων που μπορεί να χρησιμοποιηθεί για το σχήμα διαμερισμάτων (προσθέστε μια ομάδα αρχείων για το σχήμα διαμερισμάτων).

2. Τροποποιήστε τη λειτουργία διαμερίσματος (προσθέστε το εύρος δεδομένων της συνάρτησης διαμερίσματος)

ALTER PARTITION SCHEME partschema1 NEXT USED [PRIMARY]

ΑΛΛΑΓΗ ΛΕΙΤΟΥΡΓΙΑΣ ΔΙΑΜΕΡΙΣΜΑΤΟΣ partfun1() SPLIT RANGE ('4500')

Επιλέξτε p.partition_number,p.rows από το sys.indexes i εσωτερική ένωση sys.partitions p στο p.object_id = i.object_id και i.object_id = object_id('parttable2') ταξινομήστε κατά 1

--Η πρώτη πρόταση, εάν το σχήμα διαμερισμάτων χρησιμοποιεί ALL TO ([PRIMARY]), αυτή η πρόταση δεν χρειάζεται να εκτελεστεί

--Ένα νέο διαμέρισμα προστίθεται στη δεύτερη δήλωση, το εύρος είναι 4000-4500

--Η τρίτη δήλωση επαληθεύει εάν υπάρχει το νέο διαμέρισμα και εάν υπάρχουν σειρές


Διαγραφή\Συγχώνευση διαμερίσματος

ΑΛΛΑΓΗ ΣΥΝΑΡΤΗΣΗΣ ΔΙΑΜΕΡΙΣΜΑΤΟΣ partfun1() MERGE RANGE ('2000')

Το διαμέρισμα 1000-2000 διαγράφηκε και συγχωνεύτηκε σε 1000-3000

--Δεν είναι δυνατή η εκτέλεση του ALTER TABLE TABLENAME DROP PARTITION PARTITIONNAME όπως η oracle.


Διαγράψτε τον πίνακα διαμερισμάτων και την αντίστοιχη ομάδα αρχείων

Η σειρά διαγραφής είναι: διαγράψτε τον πίνακα διαμερισμάτων, διαγράψτε το σχήμα διαμερισμάτων, διαγράψτε τη συνάρτηση διαμερισμάτων και, τέλος, διαγράψτε την ομάδα αρχείων και το αντίστοιχο αρχείο διαγράφεται μετά τη διαγραφή της ομάδας αρχείων


Παράδειγμα μετατροπής ενός διαμερισμένου πίνακα σε κανονικό πίνακα και ενός κανονικού πίνακα σε διαμερισμένο πίνακα

DROP TABLE parttable1;

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ parttable1(

[id] [int] IDENTITY(1,1) NOT NULL,

[Ονομα] [βαρτσάρ] (16) ΔΕΝ ΕΊΝΑΙ ΆΚΥΡΟ,

[Ιδ2] [int] ΟΧΙ ΑΚΥΡΟ

) ON partschema1(Id2)·

αναγράφονται στον πίνακα 1 οι τιμές («1»,1)·

εισάγονται στον πίνακα 1 οι τιμές («1001», 1001)·

εισάγονται στον πίνακα 1 οι τιμές («2001»,2001)·

εισάγονται στον πίνακα 1 οι τιμές («3001»,3001)·

εισάγονται στον πίνακα 1 οι τιμές («4001»,4001)·

1. Ο μοναδικός περιορισμός που δημιουργείται στον πίνακα διαμερισμάτων πρέπει να περιέχει μια στήλη διαμερίσματος.

ΑΛΛΑΓΉ ΠΊΝΑΚΑ, ΜΈΡΟΣΠΊΝΑΚΑΣ1 ΠΡΟΣΘΉΚΗ ΠΕΡΙΟΡΙΣΜΟΎ PK_prattable1_id ΠΡΩΤΕΎΟΝ ΚΛΕΙΔΊ ΟΜΑΔΟΠΟΙΗΜΈΝΟ ([ID] ASC)

Η στήλη σφάλματος 'Id2' είναι η στήλη κατάτμησης του ευρετηρίου 'PK_prattable1_id'. Οι στήλες διαμερισμάτων για ένα μοναδικό ευρετήριο πρέπει να είναι υποσύνολο του κλειδιού ευρετηρίου.

2. Δημιουργήστε ένα νέο ομαδοποιημένο ευρετήριο στη στήλη διαμερίσματος id2 και το parttable1 εξακολουθεί να είναι ένας διαμερισμένος πίνακας

δημιουργία ομαδοποιημένων CI_prattable1_id2 ευρετηρίου στο parttable1(id2)·

3. Η στήλη διαμερίσματος id2 δημιουργεί ένα μη ομαδοποιημένο ευρετήριο και το parttable1 εξακολουθεί να είναι ένας χωρισμένος πίνακας

πτώση του δείκτη CI_prattable1_id2 στον PartTable1.

δημιουργία μη ομαδοποιημένων NCI_prattable1_id2 ευρετηρίου στο parttable1(id2).

4. Η στήλη αναγνωριστικού στήλης χωρίς διαμερίσματα δημιουργεί ένα ομαδοποιημένο ευρετήριο, parttable1 ή έναν διαμερισμένο πίνακα, υποδεικνύοντας ότι η μη διαμερισμένη στήλη μπορεί να είναι μια στήλη ευρετηρίου συμπλέγματος

δημιουργία ομαδοποιημένων CI_prattable1_id ευρετηρίου στο parttable1(id).

5. Η στήλη διαμερίσματος ID2 είναι εκ νέου ενσωματωμένη σε ένα μη ομαδοποιημένο ευρετήριο και δεν χρησιμοποιεί σχήμα κατάτμησης, το parttable1 εξακολουθεί να είναι ένας πίνακας διαμερισμάτων

δημιουργία μη ομαδοποιημένου ευρετηρίου NCI_prattable1_id2 στο parttable1(id2) ΜΕ (DROP_EXISTING = ON) ΣΤΟ [ΠΡΩΤΕΎΟΝ];

6. Η στήλη διαμερίσματος id2 ανακατασκευάζεται σε ένα ομαδοποιημένο ευρετήριο χωρίς τη συνθήκη ON και το parttable1 εξακολουθεί να είναι ένας πίνακας διαμερισμάτων

πτώση του δείκτη CI_prattable1_id στο PartTable1;

πτώση δείκτη NCI_prattable1_id2 στο parttable1;

δημιουργία ομαδοποιημένων CI_prattable1_id2 ευρετηρίου στο parttable1(id2)·

δημιουργία ομαδοποιημένων CI_prattable1_id2 ευρετηρίου στο parttable1(id2) WITH (DROP_EXISTING = ON).

7. Η διαμερισμένη στήλη id2 ανακατασκευάζεται σε ένα ομαδοποιημένο ευρετήριο με συνθήκη ON αλλά χωρίς τη χρήση σχήματος κατάτμησης και το parttable1 γίνεται ένας μη διαμερισμένος πίνακας

δημιουργία ομαδοποιημένων CI_prattable1_id2 ευρετηρίου στο parttable1(id2) ΜΕ (DROP_EXISTING = ON) ΣΤΟ [ΠΡΩΤΕΎΟΝ]·

8. Η στήλη διαμερίσματος id2 ανακατασκευάζεται σε ένα ομαδοποιημένο ευρετήριο και χρησιμοποιώντας το σχήμα κατάτμησης, το parttable1 γίνεται χωρισμένος πίνακας

δημιουργία ομαδοποιημένου ευρετηρίου CI_prattable1_id2 στο parttable1(id2) ΜΕ (DROP_EXISTING = ON) στο partschema1(Id2);

9. Μετά τη διαγραφή του ομαδοποιημένου ευρετηρίου στο 8 παραπάνω, το parttable1 εξακολουθεί να είναι ένας διαμερισμένος πίνακας

πτώση του δείκτη CI_prattable1_id2 στον PartTable1.

10. Η στήλη διαμερίσματος ID2 δημιουργείται ως ευρετήριο συμπλέγματος και δεν χρησιμοποιεί το σχήμα διαμέρισης και το parttable1 γίνεται πίνακας χωρίς διαμερίσματα

δημιουργία ομαδοποιημένων CI_prattable1_id2 ευρετηρίου στο parttable1(id2) ON [PRIMARY];

11. Μετά τη διαγραφή του ομαδοποιημένου ευρετηρίου των παραπάνω 10, το parttable1 εξακολουθεί να είναι ένας μη διαμερισμένος πίνακας

πτώση του δείκτη CI_prattable1_id2 στον PartTable1.

12. Η στήλη διαμερίσματος id2 δημιουργήθηκε πρόσφατα ως μη ομαδοποιημένο ευρετήριο, αν και χρησιμοποιείται το σχήμα κατάτμησης, εξακολουθεί να είναι ένας μη διαμερισμένος πίνακας

δημιουργία μη ομαδοποιημένων NCI_prattable1_id2 ευρετηρίου στο parttable1(id2) στο partschema1(Id2).


Εάν ο διαμερισμένος πίνακας μετατραπεί σε κανονικό πίνακα, ο περιορισμός πρωτεύοντος κλειδιού διαγράφεται και το ευρετήριο συμπλέγματος αναδομείται ή αναδομείται στο πρωτεύον κλειδί για τα πεδία του αρχικού πρωτεύοντος κλειδιού, αλλά δεν σχετίζεται με το σχήμα διαμέρισης

ΑΛΛΑΓΉ ΠΊΝΑΚΑ Table_name ΑΠΌΡΡΙΨΗ ΠΕΡΙΟΡΙΣΜΟΎ PK_NAME ΜΕ (>

ΔΗΜΙΟΥΡΓΊΑ ΟΜΑΔΟΠΟΙΗΜΈΝΩΝ PK_NAME ΕΥΡΕΤΗΡΊΟΥ ΣΤΟ Table_name(ΣΤΉΛΗ) ΜΕ (ΣΤΟ [Πρωτεύον];

ή

ΑΛΛΑΓΗ ΠΙΝΑΚΑ Table_name ΠΡΟΣΘΗΚΗ ΠΕΡΙΟΡΙΣΜΟΥ PK_NAME ΠΡΩΤΕΥΟΝ ΚΛΕΙΔΙ CLUSTERED(στήλη) ΜΕ (ON [ΠΡΩΤΕΎΟΝ];


Εάν ο κανονικός πίνακας μετατραπεί σε διαμερισμένο πίνακα, εάν πρόκειται να διατηρηθεί το αρχικό πρωτεύον κλειδί, ο περιορισμός του πρωτεύοντος κλειδιού διαγράφεται και, στη συνέχεια, δημιουργείται το πρωτεύον κλειδί χωρίς να οριστεί ως συγκεντρωτικό ευρετήριο και, στη συνέχεια, δημιουργείται ένα νέο συγκεντρωτικό ευρετήριο και το σχήμα διαμέρισης χρησιμοποιείται στο συγκεντρωτικό ευρετήριο

ΑΛΛΑΓΉ ΠΊΝΑΚΑ Table_name ΑΠΌΡΡΙΨΗ ΠΕΡΙΟΡΙΣΜΟΎ PK_NAME ΜΕ (>

ΑΛΛΑΓΗ ΠΙΝΑΚΑ Table_name ΠΡΟΣΘΗΚΗ ΠΕΡΙΟΡΙΣΜΟΥ PK_NAME ΠΡΩΤΕΥΟΝ ΚΛΕΙΔΙ NONCLUSTERED(στήλη) ΜΕ (ON [ΠΡΩΤΕΎΟΝ];

--Δημιουργήστε ένα πρωτεύον κλειδί, αλλά δεν έχει οριστεί ως ομαδοποιημένο ευρετήριο

ΔΗΜΙΟΥΡΓΊΑ index_name ΕΥΡΕΤΗΡΊΟΥ ΣΥΜΠΛΈΓΜΑΤΟΣ ΣΤΟ Table_name(στήλη) ΣΤΟ Partition Scheme (Partition Field)

--Δημιουργήστε ένα νέο ομαδοποιημένο ευρετήριο στο οποίο χρησιμοποιείται ένα σχήμα κατάτμησης


Ζητήστε τον συνολικό αριθμό γραμμών και το μέγεθος ενός διαμερισμένου πίνακα, για παράδειγμα, ο πίνακας είναι CRM. Καταγραφή ηλεκτρονικού ταχυδρομείου

Exec sp_spaceused 'CRM. EmailLog';


Ζητήστε τις πληροφορίες ενός διαμερισμένου πίνακα, πόσες γραμμές έχει κάθε διαμέρισμα, για παράδειγμα, ο πίνακας είναι CRM. Καταγραφή ηλεκτρονικού ταχυδρομείου

Επιλέξτε Convert(varchar(50), ps.name

), ως partition_scheme,

p.partition_number,

convert(varchar(10), ds2.name

) ως ομάδα αρχείων,

convert(varchar(19), isnull(v.value, ''), 120) ως range_boundary,

str(p.rows, 9) ως γραμμές

Από το sys.indexes i

join sys.partition_schemes ps στο i.data_space_id = ps.data_space_id

Εγγραφείτε sys.destination_data_spaces DDS

σε ps.data_space_id = dds.partition_scheme_id

Συνδεθείτε sys.data_spaces DS2 στο dds.data_space_id = ds2.data_space_id

join sys.partitions p στο dds.destination_id = p.partition_number

και p.object_id = i.object_id και p.index_id = i.index_id

Εγγραφείτε sys.partition_functions PF στο ps.function_id = pf.function_id

ΑΡΙΣΤΕΡΗ ΣΥΝΔΕΣΗ sys. Partition_Range_values v σε pf.function_id = v.function_id

και v.boundary_id = p.partition_number - pf.boundary_value_on_right

WHERE i.object_id = object_id('crm. EmailLog')

και i.index_id σε (0, 1)

Παραγγελία με p.partition_number


Συναρτήσεις διαμερίσματος ερωτήματος

Επιλέξτε * από sys.partition_functions


Δείτε την αρχιτεκτονική διαμερισμάτων

Επιλέξτε * από sys.partition_schemes


Αρχική διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.




Προηγούμενος:Το σύστημα Kafka Windows θα κλείσει αφού εκτελεστεί για κάποιο χρονικό διάστημα
Επόμενος:Το SQL Server DBCC DROPCLEANBUFFERS δεν είναι έγκυρο;
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com