Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
Azure SQL База данных
Azure SQL Управляемый экземпляр
SQL База данных в Microsoft Fabric
Можно изменить схему секционирования, назначив файловую группу для хранения следующей секции, которая добавляется в секционированную таблицу с помощью SQL Server Management Studio (SSMS) или Transact-SQL. Это делается путем присваивания файловой группе свойства NEXT USED.
Можно присвоить свойство NEXT USED пустой файловой группе или группе, уже хранящей секцию. Другими словами, файловая группа может содержать несколько секций. Узнайте больше о файловых группах и стратегиях секционирования в файловых группах.
Limitations
Все файловые группы, на которые действует ALTER PARTITION SCHEME, должны быть в сети.
Секционирование полностью поддерживается в Базе данных SQL Azure и базе данных SQL в Fabric. Все секции должны быть помещены в PRIMARY файловую группу, так как только PRIMARY файловая группа предоставляется в Базе данных SQL Azure и базе данных SQL в Fabric.
Секционирование таблиц доступно в выделенных пулах SQL в Azure Synapse Analytics с некоторыми различиями синтаксиса. Дополнительные сведения см. в разделе Секционирование таблиц в выделенном пуле SQL.
Permissions
Для выполнения инструкции ALTER PARTITION SCHEME необходимы следующие разрешения.
Разрешение ALTER ANY DATASPACE. Это разрешение по умолчанию предоставляется членам фиксированной серверной роли sysadmin и фиксированных ролей базы данных db_owner и db_ddladmin.
Разрешение CONTROL или ALTER на базу данных, в которой была создана схема секционирования.
Разрешения CONTROL SERVER или ALTER ANY DATABASE на сервере базы данных, в которой была создана схема секционирования.
Изменение схемы секционирования с помощью Transact-SQL
В примере используется образец базы данных AdventureWorks.
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
Note
Для простоты этот код создает новые файловые группы, но не назначает им файлы. Это позволяет провести демонстрацию изменения схемы секционирования, но не является полным примером настройки секционированного объекта. Примеры создания секционированных таблиц и индексов см. в разделе "Создание секционированных таблиц и индексов".
USE AdventureWorks2022; GO -- add five new filegroups to the AdventureWorks2022 database ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test1fg; GO ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test2fg; GO ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test3fg; GO ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test4fg; GO ALTER DATABASE AdventureWorks2022 ADD FILEGROUP test5fg; GO -- if the "myRangePF1" partition function and the "myRangePS1" partition scheme exist, -- drop them from the AdventureWorks2022 database IF EXISTS (SELECT * FROM sys.partition_functions WHERE name = 'myRangePF1') DROP PARTITION FUNCTION myRangePF1; GO IF EXISTS (SELECT * FROM sys.partition_schemes WHERE name = 'myRangePS1') DROP PARTITION SCHEME myRangePS1; GO -- create the new partition function "myRangePF1" with four partition groups CREATE PARTITION FUNCTION myRangePF1 (int) AS RANGE LEFT FOR VALUES ( 1, 100, 1000 ); GO -- create the new partition scheme "myRangePS1"that will use -- the "myRangePF1" partition function with five file groups. -- The last filegroup, "test5fg," will be kept empty but marked -- as the next used filegroup in the partition scheme. CREATE PARTITION SCHEME myRangePS1 AS PARTITION myRangePF1 TO (test1fg, test2fg, test3fg, test4fg, test5fg); GO --Split "myRangePS1" between boundary_values 100 and 1000 --to create two partitions between boundary_values 100 and 500 --and between boundary_values 500 and 1000. ALTER PARTITION FUNCTION myRangePF1 () SPLIT RANGE (500); GO -- Allow the "myRangePS1" partition scheme to use the filegroup "test5fg" -- for the partition with boundary_values of 100 and 500 ALTER PARTITION SCHEME myRangePS1 NEXT USED test5fg; GO
Удаление схемы секционирования с помощью SSMS
В обозреватель объектов подключитесь к целевой базе данных.
Выберите знак "плюс", чтобы развернуть базу данных, в которой требуется удалить схему секционирования.
Выберите знак плюса, чтобы развернуть папку хранилища .
Выберите знак "плюс", чтобы развернуть папку "Схемы секционирования ".
Щелкните правой кнопкой мыши схему секционирования, которую нужно удалить, и выберите пункт Удалить.
В диалоговом окне "Удалить объект" убедитесь, что выбрана правильная схема секционирования, а затем нажмите кнопку "ОК".
Дальнейшие шаги
Дополнительные сведения о секционировании таблиц см. в следующих статьях: