原创 Sqlserver——日常維護——Login Trigger (登錄觸發器的使用)

簡單的幾種登錄觸發器的用法 1.限制登錄時間 登錄觸發器 /* 1.限制登錄觸發器: 示例效果-->限制 登錄名 TestUser 不能在每天的 10:00:00-12:00:00 登錄數據庫 */ IF EXISTS ( SE

原创 Sqlserver——異常總結——詳解嵌套事務中'EXECUTE 後的事務計數指示 BEGIN 和 COMMIT 語句的數目不匹配'發生的原因及處理方法

下面是測試表和存儲過程的代碼 ---創建測試表 IF EXISTS ( SELECT * FROM sys.tables WHERE name = 'tt' ) DROP TABLE dbo.tt ; CREATE TABL

原创 Sqlserver——日常維護——查看數據庫的日誌信息

SQL server的日誌是通過N個存檔文件進行存儲 所以,查看日誌時需要指定對應的存檔編號進行查詢 下面是相關查詢的腳本: 1:查詢存檔編號 EXEC xp_enumerrorlogs @a @a=1-正常日誌 @a=2-代理日誌 2.

原创 Sqlserver——日常維護——T-SQL創建定時作業

如題,下面是示例代碼   --作業名稱 DECLARE @job NVARCHAR (MAX) = N'測試作業' ; --作業ID DECLARE @job_id UNIQUEIDENTIFIER ; --作業腳本 DECLARE

原创 Sqlserver——高可用——T-SQL語句給服務器配置複製發佈訂閱

(eg:用A、B代表兩臺服務器,前提兩臺服務器之間沒有配置任何關於訂閱分發的事項) 環境配置:在A和B之間配置別名對應的IP地址,參考文章:https://www.cnblogs.com/DBArtist/p/5803271.html。

原创 Sqlserver——日常維護——查看發佈訂閱的日誌複製記錄和快照複製記錄

在 分發數據庫 中執行代碼: ---查看事務傳送記錄 SELECT dis_his.agent_id AS [代理ID], CASE dis_his.runstatus WHEN 1 THEN N'開始' WHEN 2 T

原创 Kettle使用------定時作業----windows計劃調度

本文記錄: 自己在使用windows計劃調度對Ketlle作業進行定時執行過程中遇到的問題,及最終的如何配置(Window平臺)   1.安裝Kettle,不做過多贅述,網上有需要相關資料.官網:https://community.hit

原创 Sqlserver——查詢技巧/優化方案——根據指定日期,求出指定日期到月底這段時間內有多少個休息日

如題,碰上個需求,需要根據 選擇日期,算出剩餘的日期裏有多少個休息日 下面是代碼 DECLARE @Day INT = 13 ; DECLARE @MonthLastDay INT = (

原创 Sqlserver——日常維護——查看數據庫中所有表的被引用情況

通過下面這個腳本可以查到當前數據庫中所有表的被引用的情況 IF EXISTS ( SELECT * FROM tempdb..sysobjects WHERE id = OBJECT_ID('tempdb..#Temp_Table'))

原创 Sqlserver——日常維護——如何查看數據庫中的對象依賴關係

在SQL server中使用下面兩個動態管理視圖查看對象的依賴情況 dm_sql_referencing_entities-----查看對象被哪些對象所引用(通常用於查看一個表被哪些存儲過程所使用) dm_sql_referenced_e

原创 Sqlserver——日常維護——淺談 '數據庫密匙'、'端點'、'證書'、'密鑰'之間的依賴關係

如圖 根據圖中描述的 Master Key : 概念:最頂層的是Master Key,它是數據庫級別的對象,每個數據庫只有一個Master Key            其餘的對象都是依賴它,或者是它的子對象 查看:通過系統視圖----

原创 Sqlserver——日常維護——在表的指定列後面增加新的字段

有時候給表新增字段,想把新的字段增加到指定的字段後面,sqserver的規則是不允許的。 具體的思路是:重建表,排序字段,再導入數據 下面是示例語句 IF EXISTS ( SELECT * FROM tempdb..sysob

原创 Sqlserver——日常維護——使用T-sql語句對數據庫進行分離、附加

先簡單講一下分離和附加的概念 分離:將數據庫物理文件和邏輯實體進行邏輯分離,所以當對數據庫A進行分離操作的時候,A在邏輯層面就被刪除了,所以在SSMS中不會出現,但是A的物理文件仍然存在(數據還在)。可以用於對A進行另外的附加 附加:將數

原创 Sqlserver——日常維護——幾個常用的xp_系統存儲過程的使用

---------根據指定路徑查找出對應的文件夾中的內容 EXEC sys.xp_dirtree 'F:\數據庫腳本', 0, 1; --參數1:指定的文件夾路徑 --參數2:代表遞歸查詢的層級,爲0時,代表從目標文件夾開始無限遞歸到低

原创 Sqlserver——日常維護——DDL觸發器(數據庫級觸發器)的使用方法

  首先明確什麼是DDL觸發器?DDL觸發器和普通的表觸發器有什麼區別? 1、普通的觸發器的綁定對象爲表,它定義了當一個表發生了【增】、【刪】、【改】的DML語句時,默認執行的sql語句。       這裏我們稱之爲表觸發器,表觸發器的用