--列出所有table使用的空間
CREATE TABLE TableSizes
(
table_name SYSNAME,
row_count int,
reserved_size nvarchar(10),
data_size nvarchar(10),
index_size nvarchar(10),
unused_size nvarchar(10)
)
INSERT TableSizes
EXEC sp_MSforeachtable 'sp_spaceused ''?'''
SELECT * FROM TableSizes ORDER BY row_count desc
DROP TABLE TableSizes
=============================================================
一直以來,我都是用這個script來查所有table佔用的體積
今天在一台簡體的SQL2005上面執行出現fail
出現以下的eror
Msg 8152, Level 16, State 14, Procedure sp_spaceused, Line 180
String or binary data would be truncated.
google了一下,大神給我的籤詩表示
關於 String or binary data would be truncated. 的錯誤訊息的發生原因
是因為要寫入的資料長度大於其在資料庫的欄位!!
例如: PRODUCE_NAME 的欄位是 VARCHAR(10) , 但你要填入的資料為 'super computer'
就會發生這樣的現象!!
ok,有些table顯示出來的size太大惹~我把欄位訂成varchar(10)看來是太小
將上面(10) 都改成 (20) 果然就可以正常執行惹~
因此跟SQL語系無關
純粹就是這個DB有一百多GB的關係....
CREATE TABLE TableSizes
(
table_name SYSNAME,
row_count int,
reserved_size nvarchar(10),
data_size nvarchar(10),
index_size nvarchar(10),
unused_size nvarchar(10)
)
INSERT TableSizes
EXEC sp_MSforeachtable 'sp_spaceused ''?'''
SELECT * FROM TableSizes ORDER BY row_count desc
DROP TABLE TableSizes
=============================================================
一直以來,我都是用這個script來查所有table佔用的體積
今天在一台簡體的SQL2005上面執行出現fail
出現以下的eror
Msg 8152, Level 16, State 14, Procedure sp_spaceused, Line 180
String or binary data would be truncated.
google了一下,大神給我的籤詩表示
關於 String or binary data would be truncated. 的錯誤訊息的發生原因
是因為要寫入的資料長度大於其在資料庫的欄位!!
例如: PRODUCE_NAME 的欄位是 VARCHAR(10) , 但你要填入的資料為 'super computer'
就會發生這樣的現象!!
ok,有些table顯示出來的size太大惹~我把欄位訂成varchar(10)看來是太小
將上面(10) 都改成 (20) 果然就可以正常執行惹~
因此跟SQL語系無關
純粹就是這個DB有一百多GB的關係....
留言
張貼留言