国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:154日期:2023-10-30 12:44:08

為了避免意外丟失/損壞辛苦創建的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 tableContains 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 tableContains 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/2004Rickie

*/

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.

標簽: Sql Server 數據庫
主站蜘蛛池模板: 澄城县| 莒南县| 霍山县| 涟源市| 繁昌县| 阿克| 彭山县| 昔阳县| 鹤峰县| 和林格尔县| 万年县| 渝中区| 温宿县| 南岸区| 客服| 资阳市| 玉环县| 丰都县| 通河县| 乌审旗| 布拖县| 巴林左旗| 清涧县| 昂仁县| 庐江县| 普安县| 沁阳市| 绥江县| 泸西县| 广宗县| 石阡县| 时尚| 江阴市| 漳浦县| 铜梁县| 江山市| 铜鼓县| 保德县| 岢岚县| 秦安县| 隆子县|