發表文章

目前顯示的是 九月, 2018的文章

Warn for DELETE All records

在  SQL Server Management Studio (SSMS) 中執行刪除所有資料時,是不會有任何提醒的!! 例如將 delete * from XX 看成 select * from XX,或者未加篩選條件時,都可以輕易地直接刪除整個資料表的所有資料。 防範類似的悲劇發生,可行做法: SQL Server 定期備份 當發生誤刪資料時,確保可以進行環原。 異動大量資料前,手動備份一次。 自製警告訊息 SSMS (v17.9) 目前沒有類似提醒的設定,不過可以在 delete trigger 加上類似的檢查,預防不小心刪除整個資料表,若真需要全部刪除前,再手動停用 Trigger,執行刪除後再手動啟Trigger。 建立刪除警告的 Trigger FOR DELETE AS BEGIN DECLARE @Count int SET @Count = @@ROWCOUNT; IF @Count >= (SELECT SUM(row_count) FROM sys.dm_db_partition_stats WHERE OBJECT_ID = OBJECT_ID('dbo.MyTable_LOG') AND index_id = 1) BEGIN RAISERROR('Cannot delete all rows at once.',16,1) ROLLBACK TRANSACTION RETURN; END END 停用 Trigger 語法 DISABLE TRIGGER [dbo].[RPTIMG_LOG_delete_trigger] ON [dbo].[RPTIMG_LOG] 啟用 Trigger 語法 ENABLE TRIGGER [dbo].[RPTIMG_LOG_delete_trigger] ON [dbo].[RPTIMG_LOG] 所有資料表,建立預防刪除所有資料的 Trigger /*----------------------------------

SSMS change Object Explorer Font Size

圖片
近日發現在筆電上使用 SQL Server Management Studio 中 Object Explorer 查找項目時,感覺字體太小越來越吃力。😅 若要調整其顯示字形與大小,目前沒有獨立的設定,只能透過修改全域環境字形達成。 從選單 Tools –> Options 開啟 Options 設定視窗,選擇 Environment –> Fonts and Colors –> Environment Font 再調整字形與大小。 調整後的效果如下圖