全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2693
推到 Plurk!
推到 Facebook!

預存程序之備份及還原

尚未結案
h5rong
一般會員


發表:32
回覆:44
積分:15
註冊:2003-08-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-06 22:15:29 IP:61.221.xxx.xxx 未訂閱
請問各位先進: 如果只針對 MS Sql 預存程序作備份及還原,請問該如何進行 ? 謝謝 11
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-07 22:18:15 IP:61.62.xxx.xxx 未訂閱
若只要備出 stored procedure 的話, 建議你採用[產生SQL指令碼]的方式來進行比較容易而且也方便維護!    操作步驟如下,    對你要備份的資料庫按下右鍵, 選擇如下所示, 再選擇顯示全部, 勾選所有預儲程序, 接下來可以利用預覽或直接按下確定將 script 存起來也可以! 如此一來便取得完整該資料庫的所有 stored procedure 的產生指令, 以便於保存及維護囉!
h5rong
一般會員


發表:32
回覆:44
積分:15
註冊:2003-08-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-08 00:55:54 IP:61.221.xxx.xxx 未訂閱
非常謝謝您的答覆,可否再請教,如何將 stored procedure 還原呢?
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-09 08:27:12 IP:61.221.xxx.xxx 未訂閱
h5rong 你好: if exists ( select * from sysobjects where name = 'stored 的名子' and type = 'P') drop proc stored 的名子 go sysobjects 是存放 stored procedure 的地方
------
======================
昏睡~
不昏睡~
不由昏睡~
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-09 09:23:19 IP:203.95.xxx.xxx 未訂閱
引言: 非常謝謝您的答覆,可否再請教,如何將 stored procedure 還原呢?
請利用 sql query anaylyzer 直接將你備份出來的 stored procedure script 執行一次即可, 如,

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_test]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_test]
GO    SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS OFF 
GO    CREATE PROCEDURE [dbo].[sp_test] AS    select top 10 * from mdetail
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO    
比較要注意的地方就是紅色的部分, 你產生指令檔時, 預設會產生 drop 指令, 也就是若該 stored procedure 仍存在資料庫中時, 會先進行 drop 後再行建立該 stored procedure !
系統時間:2024-05-09 5:02:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!