-->目录 -->SQL Server 构架 -->实施细则 -->最大容量说明 最大值(数量或大小) 对象SQL Server 70 SQL Server 2000 批处理大小 65,536 网络数据包大小1 65,536 网络数据包大小1 每个短字符串列的字节数 8,000 8,000 每个text、ntext、或 image 列的字节数 2 GB-2 2 GB-2 每个GROUP BY、ORDER BY的字节数 8,060 每个索引中的字节数 900 9002 每个外键的字节数 900 900 每个主键的字节数 900 900 每行字节数 8,060 8,060 存储过程源文本中的字节数 批处理大小之较小者或者 250 MB 批处理大小之较小者或者 250 MB 每个数据表的聚集索引数 1 1 GROUP BY、ORDER BY 中的列数 只受字节数限制 GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目 10 每个索引的列数 16 16 每个外键的列数 16 16 每个主键的列数 16 16 每个基础数据表的列数 1,024 1,024 每个SELECT 语句的列数 4,096 4,096 每个INSERT 语句的列数 1,024 1,024 每个客户端的连接个数 已配置连接的最大值 已配置连接的最大值 数据库大小 1,048,516 TB3 1,048,516 TB3 每个SQL Server 实例的数据库个数 32,767 32,767 每个数据库的文件组个数 256 256 每个数据库的文件个数 32,767 32,767 文件大小(数据) 32 TB 32 TB 文件大小(日志) 4 TB 32 TB 每个数据表的外键表引用 253 253 标识符长度(以字符计) 128 128 每台计算机的实例数 暂缺 16 包含SQL 语句的字符串长度(批处理大小) 65,536 网络数据包大小1 65,536 网络数据包大小1 每个连接的锁数 每个服务器的最大锁数 每个服务器的最大锁数 每个SQL Server 实例的锁数 2,147,483,647(静态) SQL Server 40% 的内存(动态) 2,147,483,647(静态) SQL Server 40% 的内存(动态) 嵌套存储过程层数 32 32 嵌套子查询 32 32 嵌套触发器层数 32 32 每个数据表的非聚集索引个数 249 249 SQL Server 实例中同时打开的对象个数4 2,147,483,647(或可用内存) 2,147,483,647(或可用内存) 每个数据库中的对象个数 2,147,483,6474 2,147,483,6474 每个存储过程的参数个数 1,024 1,024 每个数据表的 REFERENCE 个数 253 253 每个数据表的行数 受可用存储资源限制 受可用存储资源限制 每个数据库的数据表个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4 每个SELECT 语句的数据表个数 256 256 每个数据表的触发器个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4 每个数据表的 UNIQUE 索引个数或约束个数 249个非聚集索引和 1 个聚集索引 249个非聚集索引和 1 个聚集索引 1网络数据包大小是表格格式数据方案 (TDS) 数据包的大小,该数据包用于应用程序和关系数据库引擎之间的通讯。默认的数据包大小为 4 KB,由 network packet size 配置选项控制。 2在 SQL Server 2000 中,任何键的最大字节数不能超过 900。可以使用可变长度的列来定义键,只要在这种列中不插入数据超过 900 字节的行,其最大大小就可以在 900 以上。有关更多信息,请参见索引键的最大值。 3当使用 SQL Server 2000 Desktop Engine 或 Microsoft 数据引擎 (MSDE) 10 时,数据库的大小不能超过 2 GB。 4数据库对象包括所有的表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束。
mysql>use 数据库名;
mysql>show table status;
第一条SQL语句是选择库,这个不用说了。
第二条SQL语句show table status是获得库里面所有表的情况,其中包括了表面,数据数目,数据大小,索引大小
你自己加起来就是整个库的数据大小,和索引大小了。
很简单吧~ 希望能帮助到你。
在PHPMYADMIN里面试试就知道效果了。
如果有不明白,请发消息给我。
捕捉SQL Server 2005数据库大小的趋势,这是非常重要的,因为DBA们可以利用这些信息来规划未来的空间需求,问题的通知类型,并规划繁重负载的时间段。本文将介绍一种捕捉这一信息的简单的方法。
SQL Server上的每个数据库都包含了关于数据库文件的大小的信息,连同其他一些相关信息。为了得到这个信息,我们需要一个方法来从单个数库中一次性检索出相关的数据。
有两个方法可以实现这个功能:
sp_spaceused:这个系统存储过程将返回当前数据库中的表、索引视图或 SQL Server 2005 Service Broker 队列所使用的磁盘空间。这是存储过程的返回数据库或者数据库中表的大小,但是报告的输出内容不太友好,不好理解。该存储过程通过脚本来捕获每个数据库的信息,但它可能需要用到用户自定义的光标。
sp_msforeachdb:这是一个非常有用的系统存储过程,将任何SQL脚本传递给你在每个数据库上的SQL Server实例上来执行。存储过程遍历每个数据库,这样就省却了您一项项指定数据库名称了。本文我们将利用这个存储过程来捕获各个数据库文件大小的信息。
这些资料我想收集和储存可以在sysdatabase_files系统视图中获得,包括数据库文件的大小,以及其他一些相关的信息,如数据库状态,数据库文件的增长方式(按绝对大小递增还是按百分比递增),是否是只读的等等。我需要捕获每个数据库中的这些信息。
IFOBJECT_ID('DatabaseFiles')ISNULLBEGINSELECTTOP0INTODatabaseFiles
FROMsysdatabase_files
ALTERTABLEDatabaseFiles
ADDCreationDateDATETIMEDEFAULT(GETDATE())END现在需要填充DatabaseFiles数据表。下面这个脚本使用sp_msforeachdb存储过程,并通过一个SQL脚本从sysdatabase_files读取数据,并插入到DatabaseFiles数据表中。
EXECUTE sp_msforeachdb 'INSERT INTO DatabaseFiles SELECT , GETDATE() FROM []sysdatabase_files'
从脚本中我们可以发现,每个数据库的数据库名称,有点特别:使用[ ]作为视图sysdatabase_files的前缀。
此代码执行时,实际上是遍历每个数据库实例,将数据库名称作为参数代替[ ]标记。每个数据库的信息,将插入到DatabaseFiles表。这比自己写一个自定义游标实现起来容易很多。我还增加了一个GETDATE( )函数,用来记录记录插入到表中的时间。
注意:这个例子有点违背编码标准,使用SELECT 插入到一个表时,没有明确写明字段名称不列清单。如果用于实际项目中,建议大家作下修改,注明字段名称。
为了确保正确捕获到所有的数据,我们来看看DatabaseFiles数据表中的内容。
SELECT FROM DatabaseFiles
执行上面的命令后,可以得到类似以下的信息:
以上就是关于SQL Server 2000的数据库容量究竟是多大全部的内容,包括:SQL Server 2000的数据库容量究竟是多大、如何获取到mysql的某个数据库数据的大小和索引的大小是多少M、SQL Server 2005中如何获取数据库文件大小信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)