因为我本来的数据库的字符类型都是用varchar需要做多语言支持,所以将varchar改为nvarchar,但我数据库有100+个表,手动太慢了所以执行更换的SQL语句,备份看下,呵呵: declare @sql varchar(max) set @sql='' select @sql=@sql+ 'alter table ['+a.name+'] alter column ['+b.name+'] Nvarchar('+ltrim(b.length/2)+');' from sysobjects a,syscolumns b,systypes c where a.id=b.id and b.xtype=c.xtype and a.xtype='u' and c.name='varchar' --print @sql exec(@sql)