DECLARE @tabName VARCHAR(40),@colName VARCHAR(40)
DECLARE @sql VARCHAR(2000)
DECLARE tabCursor CURSOR FOR
--取出素有表名
SELECT name From sysobjects WHERE xtype = 'u' AND name <> 'dtproperties'
OPEN tabCursor
FETCH NEXT FROM tabCursor INTO @tabName
WHILE @@fetch_status = 0
BEGIN
SET @sql = 'UPDATE ' + @tabName + ' SET '
DECLARE colCursor CURSOR FOR Select Name FROM SysColumns Where id=Object_Id(@tabName)
OPEN colCursor
FETCH NEXT FROM colCursor INTO @colName
WHILE @@fetch_status = 0
BEGIN
SET @sql = @sql + @colName + '=REPLACE( ' +@colName+ ', ' 'XX ' ', ' ' ' '), '
FETCH NEXT FROM colCursor INTO @colName
END
SET @sql = LEFT(@sql,LEN(@sql)-1)
EXEC(@sql)
CLOSE colCursor
DEALLOCATE colCursor
FETCH NEXT FROM tabCursor INTO @tabName
END
CLOSE tabCursor
DEALLOCATE tabCursor
-----2014.9.11
--读取所有表信息
go
CREATE TABLE #temp (TableName VARCHAR (255), RowCnt INT)
EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?'
SELECT TableName, RowCnt FROM #temp ORDER BY RowCnt
DROP TABLE #temp;
--读取所有表空间大小信息
GO
exec sp_MSForEachTable
@precommand=N'create table ##(
表名 sysname,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ## exec sp_spaceused ''?''',
@postcommand=N'select * from ## order by 记录数 '
DROP TABLE ##