文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>sql server 2005 压缩实例下所有数据库文件及日志文件 语句【转】

sql server 2005 压缩实例下所有数据库文件及日志文件 语句【转】

时间:2010-08-20  来源:竹仪攸欣

--01.get all database name
SELECT DBNAME   = DB_NAME(s_mf.database_id)    INTO #DN
    FROM
        sys.master_files s_mf
    WHERE
        s_mf.state = 0 and -- ONLINE
        HAS_DBACCESS(DB_NAME(s_mf.database_id)) = 1 -- Only look at databases to which we have access
    GROUP BY s_mf.database_id
    ORDER BY 1
--02.use cursor to fetch db name
-----02.01 declare cursor
DECLARE cur CURSOR FOR 
SELECT DBNAME FROM #DN

-----02.02 open cursor & declare var
OPEN cur
DECLARE @DbName VARCHAR(200)
set @DbName = 'F_Plan'
-----02.03 loop db bane
FETCH NEXT FROM cur into @DbName
WHILE(@@FETCH_STATUS=0)
  BEGIN
        print 'shrinking ' + @DbName + ' '
-------02.04 only shink log file

        exec(
            '
                declare @dn varchar(200);
                declare @ln varchar(210);
                select @dn = name from  '+@DbName+'.dbo.sysfiles where fileid=1 
                select @ln = name from  '+@DbName+'.dbo.sysfiles where fileid=2 
                use ['+ @DbName + '] backup log ['+ @DbName +'] with no_log dbcc shrinkfile (@ln)
            '
            )

-------02.04 shink db file & log file
    --  dbcc SHRINKDATABASE (@DbName)
        print @DbName + ' done'
      FETCH NEXT FROM cur INTO @DbName
  END
-----02.05 colse cursor
CLOSE cur
DEALLOCATE cur
-----03.drop temp table
DROP TABLE #DN
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载