SQL SERVER 壓縮語句

來源:互聯網
上載者:User

  壓縮一條資料庫語句如下:

 

CREATE Procedure [dbo].[sp_Compress]
  AS

BEGIN
 DECLARE @db_name varchar(200)
 set @db_name='dangjiae' --資料庫名
 DUMP TRANSACTION @db_name WITH NO_LOG
 BACKUP LOG @db_name WITH NO_LOG
 DBCC SHRINKDATABASE(@db_name)

  END

 

 

 

sql server 2005 壓縮執行個體下所有資料庫檔案及記錄檔 語句

 

--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)
-----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
-------------------------------
測試伺服器的sql和日誌經常就太大了,寫一個預存程序,然後job定期執行,避免磁碟空間浪費

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.