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億個。