sqlserver的数据库的最大容量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver的数据库的最大容量?相关的知识,希望对你有一定的参考价值。
--SQLSERVER2000技术规格--------------系统技术规格---------------
--每个服务器最多可以允许16个SQLSERVER实例
--每个实例可拥有 2147483467 个锁
--------------数据库技术规格--------------
--SQLSERVER的数据库大小1048516TB
--每个数据库可拥有的文件组数32767
--每个数据库可拥有的文件组数256
--文件大小(数据文件)32TB ---够大了吧,呵呵!
--文件大小(日志文件)32TB ---够大了吧,呵呵!
--数据库中的对象数2 147 483 647
--标识符的长度128
--------------表技术规格-------------------
--每个数据库中可拥有的表数受限于数据库中的对象数
--每个表可拥有的行数受限于可用的存储容量
--每个表的主键约束数1
--每个表的外键约束数253
--每个表的引用数253
--每个表的触发器数受限于数据库中的对象数
--每个表的簇索引数1
--每个表的非簇索引数249
--每个表的唯一约束249非簇的,1成簇的
--------------列技术规格-------------------
--每个索引可包含的列数16
--每个主键可包含的列数16
--每个外键可包含的列数16
--每个表的列数1024
--索引键的大小900字节
--每个character或binary列的字节数8000
--每个text,ntext或image列的字节数2GB-2
--每行的字节数8060
--每个索引的字节数900
--每个主键的字节数900
--每个外键的字节数900
--------------SQL技术规格-------------------
--批处理大小65536乘以网络包大小
--每个SELECT语句可处理的表数256
--存储过程源文件的字节数小于批处理大小或250MB
--每个存储过程的参数数目1024
--嵌套的子查询数32
--嵌套的触发器层数32
--每个SELECT语句可处理的列数4096
--每个INSERT语句可处理的列数1024 参考技术A 32TB数据
32TB日志
SQLServer修改系统库的路径
背景
数据库默认安装在C盘,由于复制订阅或者大容量更新查询等导致tempdb系统库、distribution系统库容量过大,C盘容量不足,需要将部分系统库进行迁移,以distribution库为例进行系统库迁移,其他库类似操作即可。
查询当前系统库信息
use distribution go --查询逻辑名与当前路径 SELECT name, physical_name FROM sys.database_files
当前系统库路径为C:\\Program Files\\Microsoft SQL Server\\MSSQL13.MSSQLSERVER\\MSSQL\\Data,指定迁移到路径D:\\db
--修改到指定路径 ALTER DATABASE distribution MODIFY FILE (NAME = \'distribution\', FILENAME = \'D:\\db\\distribution.mdf\') ALTER DATABASE distribution MODIFY FILE (NAME = \'distribution_log\', FILENAME = \'D:\\db\\distribution.LDF\')
注意,如果是tempdb系统库迁移,可能会有多个ndf日志文件
--修改到指定路径 ALTER DATABASE tempdb MODIFY FILE (NAME = \'tempdev\', FILENAME = \'D:\\db\\tempdb.mdf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'templog\', FILENAME = \'D:\\db\\templog.ldf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp2\', FILENAME = \'D:\\db\\tempdb_mssql_2.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp3\', FILENAME = \'D:\\db\\tempdb_mssql_3.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp4\', FILENAME = \'D:\\db\\tempdb_mssql_4.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp5\', FILENAME = \'D:\\db\\tempdb_mssql_5.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp6\', FILENAME = \'D:\\db\\tempdb_mssql_6.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp7\', FILENAME = \'D:\\db\\tempdb_mssql_7.ndf\') ALTER DATABASE tempdb MODIFY FILE (NAME = \'temp8\', FILENAME = \'D:\\db\\tempdb_mssql_8.ndf\')
迁移
关闭MSSQLSERVER服务
将相关文件拷贝到新的地址
开启MSSQLSERVER服务
验证
use distribution go --查询逻辑名与当前路径 SELECT name, physical_name FROM sys.database_files
原C盘的文件可以正常删除了。
以上是关于sqlserver的数据库的最大容量?的主要内容,如果未能解决你的问题,请参考以下文章