markdown #hello world ```sql /* 目標 : 在同一個資料庫內會將去年的今天資料搬移到 QName 內, 完成後執行搬移的語法到別的資料庫, 並在每個月月初重新命名。 (搬移到別DB再重新命名的原因 : 因小弟不會使用IIS來抓取不同名字的Table表,因此固定抓取QName做搬移比較簡單。) --每天的上午06:00執行 */ --指定資料庫 USE [WebPData] GO --宣告變數以便將當月的數值寫程Table_Name --設定追朔日期 ( 計算本身採用加, 所以要寫負號來表示過去日 ) DECLARE @SP int SET @SP = 0 --設定搬移年分 ( 計算本身採用加, 所以要寫負號來表示過去年 ) DECLARE @SP_Year INT SET @SP_Year = -1 DECLARE @Monthtemp char(2) DECLARE @Month char(2) DECLARE @Daytemp char(2) DECLARE @Day char(2) DECLARE @StrDate nvarchar(10) --DECLARE @EndDate nvarchar(10) /*--修改成每個月初凌晨時執行sp_ReQName的重新命名工作 --宣告變數來儲存Table表的名稱 DECLARE @Name nvarchar(50) DECLARE @PName nvarchar(50) DECLARE @PMonthtemp char(2) DECLARE @PMonth char(2) */ --判斷當下月份 SET @Monthtemp = month(getdate()) --SELECT @Monthtemp AS 'Getdate' --判斷月份是否需要補0 IF @Monthtemp < 10 BEGIN SET @Month = '0'+@Monthtemp END ELSE BEGIN SET @Month = @Monthtemp END --驗證日期正確有補0 SELECT @Month AS 'Month' --判斷當天日期 SET @Daytemp = DAY(GETDATE() ...
發表文章
[SQLServer]愈減愈肥
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
人不吃垃圾食物就會減肥成功? 錯了, 實際上還需要搭配正常的作息跟運動才有機會瘦下來。 那資料庫刪除了就會讓檔案變小嗎? 錯了, 還要透過一堆積掰的語法才能, 以下是自以為學了資料庫課程就無敵的小屁孩文章, 還請各位先進前輩看過笑笑就好, 留著給日後的自己當反省用的。 1. 使用測試的資料庫刪除前就有點多餘的脂肪囤積了。 2. 測試刪除Table前紀錄 3. 透過 T-SQL 指令去下刪除真的有點久, 後悔中途喊卡, 卻沒想到交易紀錄檔便超噁心的拉! 4. 無聊試試看用Drop呢? 刪除的速度真的是一流阿, 連Table都清乾淨了。 5. 試試看把資料庫改成完整後確認再改簡單會不會縮小, 很好.... 一樣沒釋放空間 6. 透過 DBCC SHRINKFILE 測試壓縮看看 7. 恩... 很好, 看樣子在Drop時一併清乾淨了, 在DBCC SHRINKDATABASE前玩看看別的情況吧。 8. 接著透過UI刪除看看資料表會有啥影響吧, 刪除前 9. 就刪除你吧! 110M的資料表 10. 很好, 一樣不釋放空間, 只是告訴我它吃了這些空間但留著過冬?! 11. 不錯不錯, 居然扣押我這麼多的空間?! 所以透過UI的刪除跟用drop一樣阿, 看來沒用Delete的語法就不會丟到交易紀錄檔去。 12. 那麼為了確認讓資料庫不要接著肥 ( 反正我有用 DTS 定期將檔案匯出了 ), 就帶你去減肥吧! 為了減掉那1.5 公斤 (GB), 花費了36秒!?!?! 13. YA! 瘦身成功了! 14. 放上一張尚未刪除資料表前的使用量 15. 放上刪除第一個Table表後的 16. 再來觀察現場實際還在運行的資料庫吧, 因...我有用SSIS去刪除已匯出的資料, 看來日後是否也要考慮把DBCC SHRINKDATABASE寫到SSIS內了。 17. 持續觀察.....