请教各位:
现在我的数据库空间快满了,开始时我把大多数的字段类型设成了nvarchar(100)或者char (100),其实我很多数据的长度都是25左右,如果我把他们都转换成varchar,由系统自主调配数据的长度,是否能减肥我的数据库阿?!
现在我的数据库空间快满了,开始时我把大多数的字段类型设成了nvarchar(100)或者char (100),其实我很多数据的长度都是25左右,如果我把他们都转换成varchar,由系统自主调配数据的长度,是否能减肥我的数据库阿?!
CREATE TABLE TEST1(field1 nvarchar(20),field2 nvarchar(20))SP_HELP 'TEST1'EXEC sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
GO
UPDATE syscolumns
SET xusertype = '167',XTYPE='167'
WHERE id = OBJECT_ID('TEST1') AND XTYPE='231'
GO
EXEC sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
SP_HELP 'TEST1'
EXEC sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
GO
DECLARE tables_cursor CURSOR
FOR
SELECT name FROM sysobjects WHERE type = 'U'
OPEN tables_cursor
DECLARE @tablename varchar(128)
FETCH NEXT FROM tables_cursor INTO @tablename
WHILE (@@FETCH_STATUS <> -1)
BEGIN
exec( 'UPDATE syscolumns
SET xusertype = 167,XTYPE=167
WHERE id = OBJECT_ID('''+@tablename+''') AND XTYPE=231')
FETCH NEXT FROM tables_cursor INTO @tablename
END
CLOSE tables_cursor
DEALLOCATE tables_cursor
GO
EXEC sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
--注意!容易引起中文变乱码!