【问题标题】:I am not able to see Create partition wizard in SQL Server Management Studio V18 for Azure SQL我无法在 SQL Server Management Studio V18 for Azure SQL 中看到创建分区向导
【发布时间】:2021-08-13 00:34:54
【问题描述】:

我想在我的 SQL Server 中进行水平分区。有些教程说我需要点击表格->存储->点击分区。如下所示。

问题:不过,就我而言,我只看到“管理压缩”。我没有看到“创建分区”,此外,我无法在数据库级别看到“文件组”。

我正在使用 Azure SQL

没有显示分区选项:

没有可见的文件组选项:

【问题讨论】:

    标签: sql-server azure-sql-database ssms


    【解决方案1】:

    SSMS 已阻止该向导,因为 Azure SQL 数据库不支持将非主文件组用于分区方案。您可以为 SSMS 提供反馈here

    Azure SQL 数据库中用于分区的 DDL 与常规 SQL Server 相同,因此您可以手动编写它,或者针对本地 SQL Server 使用 SSMS 向导来生成脚本。只要记住将所有分区都指向主文件组。

    至少在 Azure SQL 数据库上,这看起来像:

    CREATE PARTITION FUNCTION pf(INT)  
    AS RANGE RIGHT FOR VALUES (1, 100, 1000);  
    
    CREATE PARTITION SCHEME ps  
    AS PARTITION pf  
    ALL TO ([Primary]);  
    
    create table PartitionedTable(id int identity primary key, a int)
    on ps(id);
    

    从技术上讲,表没有分区。表由一个或多个索引组成,每个索引都可以存储在文件组或分区方案中。要查看所有分区表(此处定义为主索引存储在分区方案中的表),请运行如下查询:

    select schema_name(t.schema_id) schema_name, t.name table_name, ds.name partition_scheme
    from sys.tables t
    join sys.indexes i
      on t.object_id = i.object_id
    join sys.data_spaces ds
      on i.data_space_id = ds.data_space_id
    where i.type in (0,1,5) --heap, CI, CCI
      and ds.type = 'PS' --partition scheme
    

    【讨论】:

    • 谢谢@David。我不需要创建任何文件组。正确的?另外,如何确认表是否已分区?我在 SSMS 中的 Azure SQL 数据库的表属性中没有看到表分区是或否
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 2019-08-11
    相关资源
    最近更新 更多