国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

自動備份SQL Server數據庫中用戶創建的Stored Procedures

2024-08-31 00:51:00
字體:
來源:轉載
供稿:網友

    為了避免意外丟失/損壞辛苦創建的Stored PRocedures,或者想恢復到以前版本的Stored Procedures,這樣提供了一個有效方法,可以自動將指定數據庫中的Stored Procedures進行備份。

 

1. 在特定的數據庫(建議為SQL Server的master數據庫)上創建數據表StoredProceduresBackup,用來保存備份的Stored Procedures。

IF OBJECT_ID('StoredProceduresBackup') IS NOT NULL

 

DROP TABLE StoredProceduresBackup

GO

 

CREATE TABLE StoredProceduresBackup

(

   AutoID INTEGER IDENTITY(1,1) PRIMARY KEY,

   InsertDate DATETIME DEFAULT GETDATE(),

   DatabaseName VARCHAR(50),

   ProcedureName VARCHAR(50),

   ProcedureText VARCHAR(4000)

)

GO

 

2. 創建Stored Procedure名為usp_ProceduresVersion,該Stored Procedure用來將需要備份Stored Procedures的備份到上述創建的數據表中。

  其中主要訪問sysobjects和syscomments系統表:

(1) sysobjects system table
Contains one row for each object (constraint, default, log, rule, stored procedure, and so on) created within a database. In tempdb only, this table includes a row for each temporary object.

 

(2) syscomments system table
Contains entries for each view, rule, default, trigger, CHECK constraint, DEFAULT constraint, and stored procedure. The text column contains the original SQL definition statements, which are limited to a maximum size of 4 MB. This table is stored in each database.

 

(3) source script of stored procedure.

 

/*

Name:  usp_ProceduresVersion

Description:  Back up user defined stored-procedures

Author:  Rickie

Modification Log: NO

 

Description                        Date     Changed By

Created procedure            8/27/2004           Rickie

*/

 

CREATE PROCEDURE usp_ProceduresVersion @DatabaseName NVARCHAR(50)

AS

SET NOCOUNT ON

 

--This will hold the dynamic string.

DECLARE @strSQL NVARCHAR(4000)

 

--Set the string

--Only stored procedures

SET @strSQL = 'INSERT INTO master.dbo.StoredProceduresBackup(

            DatabaseName,ProcedureName,ProcedureText )

SELECT ''' + @DatabaseName + ''', so.name, sc.text

FROM ' + @DatabaseName + '.dbo.sysobjects so

INNER JOIN ' + @DatabaseName + '.dbo.syscomments sc

ON so.id = sc.id

WHERE so.type = ''p''' + ' and so.status>0

Order By so.id '

 

--Execute the string

EXEC dbo.sp_executesql @strSQL

GO

 

3. 創建Job執行上述Stored Procedure

在SQL Server上創建Job,并設定運行計劃,這樣指定數據庫的Stored Procedures就可以自動備份到上述數據表中。


OK. That’s all.  Any questions about it, please contact me at rickieleemail@yahoo.com. Have a good luck.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼玛县| 焉耆| 山东省| 土默特右旗| 伊金霍洛旗| 宁波市| 龙泉市| 两当县| 宝兴县| 富阳市| 镇坪县| 行唐县| 西青区| 故城县| 都兰县| 中山市| 长丰县| 武威市| 湖南省| 扎赉特旗| 游戏| 凤台县| 新源县| 含山县| 济源市| 万源市| 犍为县| 兴宁市| 孟津县| 晋江市| 乐清市| 华亭县| 淅川县| 凌源市| 通海县| 松江区| 祁阳县| 西畴县| 荃湾区| 玛曲县| 长宁县|