Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何绕过sql server的分区最大值?_Sql Server_Sql Server 2008_Database Partitioning - Fatal编程技术网

Sql server 如何绕过sql server的分区最大值?

Sql server 如何绕过sql server的分区最大值?,sql-server,sql-server-2008,database-partitioning,Sql Server,Sql Server 2008,Database Partitioning,我的团队正在尝试运行源代码管理中的脚本来创建分区,我们遇到了以下错误:创建/更改分区函数失败,因为最多只能创建1000个分区 脚本的一部分: CREATE PARTITION FUNCTION [PFDailyPartition](DATETIME) AS RANGE RIGHT FOR VALUES ('01/01/2005 00:00:00' '01/02/2005 00:00:00' '01/03/2005 00:00:00' '01/04/2005 00:00:00' '

我的团队正在尝试运行源代码管理中的脚本来创建分区,我们遇到了以下错误:创建/更改分区函数失败,因为最多只能创建1000个分区

脚本的一部分:

CREATE PARTITION FUNCTION [PFDailyPartition](DATETIME)
    AS RANGE RIGHT FOR VALUES ('01/01/2005 00:00:00'
 '01/02/2005 00:00:00'
 '01/03/2005 00:00:00'
 '01/04/2005 00:00:00'
 '01/05/2005 00:00:00'
 '01/06/2005 00:00:00'
 '01/07/2005 00:00:00'
 '01/08/2005 00:00:00'
 '01/09/2005 00:00:00'
 '01/10/2005 00:00:00'
 '01/11/2005 00:00:00'
 '01/12/2005 00:00:00'
 '01/13/2005 00:00:00'
 '01/14/2005 00:00:00'
 etc...
在当前设置中运行select*from sys.partition_range_值表明我们有10000多个分区

有没有办法绕过这1000英镑的限制?我们不知道我们怎么已经有这么多分区了

这可能是两种设置之间的环境差异吗


提前谢谢

您的分区函数每天都在创建单独的分区。那是很多分区!自2005年以来,这大约是365*7=2555个分区。你真的想在白天分开吗

根据,SQLServer2008SP2和SQLServer2008R2 SP1将限制提高到15000个分区。服务器之间是否存在service pack差异

引自文章:

问题

SQLServer2005引入了表和索引分区。分割 可以使大型表和索引更易于管理和扩展。对于 有关分区的更多信息,请参阅分区表和 索引 http://msdn.microsoft.com/en-us/library/ms188706v=SQL.100.aspx. 在里面 SQL Server 2005、SQL Server 2008和SQL Server 2008 R2的编号 分区的数目限制为1000

客户主要使用分区来帮助管理 数据仓库中的大型事实表。数据仓库客户 通常以批处理方式加载数据。每日负荷是最常见的 模式,但越来越多的客户希望一年多次加载数据 白天限制为1000个分区,如果客户每天加载,则 可以在分区表中存储少于三年的数据, 然而,业务需求通常要求为客户保留数据 更长的时间,如七年。1000个分区 在这种情况下,最大值将成为客户的限制

如果分区合并过于复杂和耗时,客户 更愿意具有创建大量分区的灵活性 并在需要时使用它们。最大分区数为1000 在这种情况下成为一种限制

解决方案

在SQL Server 2008 SP2和SQL Server 2008 R2 SP1中,您可以选择 在数据库级粒度上支持15000个分区 通过使用新的sp_db_increased_partitions存储过程。你可以 还可以在启用和设置数据库后禁用对该数据库的支持 将分区数限制回1000


您的分区函数每天都在创建单独的分区。那是很多分区!自2005年以来,这大约是365*7=2555个分区。你真的想在白天分开吗

根据,SQLServer2008SP2和SQLServer2008R2 SP1将限制提高到15000个分区。服务器之间是否存在service pack差异

引自文章:

问题

SQLServer2005引入了表和索引分区。分割 可以使大型表和索引更易于管理和扩展。对于 有关分区的更多信息,请参阅分区表和 索引 http://msdn.microsoft.com/en-us/library/ms188706v=SQL.100.aspx. 在里面 SQL Server 2005、SQL Server 2008和SQL Server 2008 R2的编号 分区的数目限制为1000

客户主要使用分区来帮助管理 数据仓库中的大型事实表。数据仓库客户 通常以批处理方式加载数据。每日负荷是最常见的 模式,但越来越多的客户希望一年多次加载数据 白天限制为1000个分区,如果客户每天加载,则 可以在分区表中存储少于三年的数据, 然而,业务需求通常要求为客户保留数据 更长的时间,如七年。1000个分区 在这种情况下,最大值将成为客户的限制

如果分区合并过于复杂和耗时,客户 更愿意具有创建大量分区的灵活性 并在需要时使用它们。最大分区数为1000 在这种情况下成为一种限制

解决方案

在SQL Server 2008 SP2和SQL Server 2008 R2 SP1中,您可以选择 在数据库级粒度上支持15000个分区 通过使用新的sp_db_increased_partitions存储过程。你可以 还可以在启用和设置数据库后禁用对该数据库的支持 将分区数限制回1000