CREATE PROC PRC_BAKTAB
AS
DECLARE @STRSQL NVARCHAR(1024)
DECLARE @TABNAME NVARCHAR(128)
SELECT [NAME] INTO # FROM sysobjects where type = 'U'
SELECT @TABNAME=MIN([NAME]) FROM #
WHILE @TABNAME IS NOT NULL BEGIN
SET @STRSQL=N'SELECT * INTO ' + @TABNAME + '_BAK' + ' FROM ' + @TABNAME
EXEC(@STRSQL)
SELECT @TABNAME=MIN([NAME]) FROM # where [NAME]>@TABNAME
END
DROP TABLE #
方法:
1.可以备份一个现在的数据库,再还原一个新的.用原库中的表和新库中的表进行对比!
2.从select name from sysobjects where type = 'U'中用游标取每一个表,再select * into newname from name,可将所有表均生成一个新表.再与原表比较!