sql8060
A. 【sql】无法创建大小为 8080 的行,该值大于允许的最大值 8060。 语句已终止。
CREATE TABLE TEST (RD1 INT,RD2 INT,RD3 INT,RD4 INT)
INSERT INTO TEST VALUES(3,4,6,18)
--建立测试数据
CREATE TABLE TEMP (NAME VARCHAR(10),RD INT)
GO
DECLARE @NAME VARCHAR(10),@RD INT
DECLARE CURSOR_RD CURSOR FOR SELECT NAME FROM syscolumns where id=object_id('TEST')
OPEN CURSOR_RD
FETCH NEXT FROM CURSOR_RD INTO @NAME
WHILE @@FETCH_STATUS=0
BEGIN
EXEC('INSERT INTO TEMP (RD) SELECT '+@NAME+' FROM TEST')
UPDATE TEMP SET NAME= @NAME
FETCH NEXT FROM CURSOR_RD INTO @NAME
END
SELECT NAME FROM TEMP WHERE RD=(SELECT MAX(RD) FROM TEMP)
CLOSE CURSOR_RD
DEALLOCATE CURSOR_RD
DROP TABLE TEMP
我用游标可以实现,可能有点麻烦,测试数据是我自己建的,你看看吧
B. SQL数据库文件的最大容量是多少
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
C. sql建表字段太多怎么办
今天数据库建表的时候出现如下错误
“Patient_Profile”表
- 无法创建表。
创建或更改表 'Patient_Profile' 失败,因为最小行大小是 16082,包括 11 字节的内部开销。而此值超出了允许的 8060 字节的最大表行大小。
上面的错误提示:在创建表的时候有三种类型(binary、char、nchar 暂时只测试了这三种类型有这个问题),每种的长度总和(加上内部开销)不能操作8060
比如以下测试数据
declare @temp table
(
column1 binary(4000),
column2 binary(4000),
column3 binary(4000)
)
--执行出错,因为这个表里Binary类型的总长度12000+11(内部开销)大于了8060
declare @temp table
(
column1 binary(4000),
column2 binary(4000),
column3 nvarchar(4000)
)
--执行成功,Binary总大小为8000,Nvarchar大小为4000
出现这种情况,需改下数据字段大小即可,也可以Binary改成VarBinary、Char或Nchar改成Varchar/Nvarchar、。请注意是::这三种类型中,每种类型的总长度+开销不能多于8060。而并不是所有长度
D. SQL server中的表, 最大行数和列数分别是多少
在SQL
server2000中,一个数据库中最多可以创建20亿个表,每个表最多可以定义1024个列(字段),每行最多可以存储8060字节,表的行数及总大小仅受可用存储空间的限制。
E. SQL server中,一个单元格最多可以输入多少个汉字
LONGBLOB类型,不过它一般不存储汉字,而是存进去的是二进制形式,若存汉字的话要转化一下,可以存2的32次方个字节就是4GB
若是汉字按照unicode码村的话,那得最少 2的30次方各
F. SQL Server某一数据表最多能存储多少条记录
sql server 2000数据对象的系统范围,在实际应用过程中可以根据需要作适当的改变。
1、数据库:32767个数据库,最小为1MB,最大为1TB。
2、表:每个数据库最多有20亿个表。
3、列:每个表最多1024列,每列的最大字节数为8060(文本和图像列除外)。
4、索引:每个表有一个聚集索引,249个非聚集索引。一个复合索引最多有16个索引关键字。
5、触发器:每个表最多有3个触发器,分别用于插入、修改和删除等操作。
6、存储过程:一个存储过程可以有1024个参数和最多32级嵌套。
7、用户连接:32767个。
8、锁定及打开的对象:20亿个。