測試文字功能,小工具,標題

記錄很重要,不然會浪費很多時間在找以前的記憶

一個人的氣度,決定他未來的高度。

2014年6月3日 星期二

SQL 把A電腦的DB 還原到B電腦上 實做練習

因為工作需要,A電腦有設定排程自動備份SQL的DB,某日把SQL備份的BAK從A電腦COPY到B電腦上還原,還原出現了錯誤,什麼備份包含現有的 ......



一樣我又跑去找G老師,東看西看後,發現這樣最簡單

解決方法


選 來源裝置 去選要還原的*.BAK

1050422補充 : 如果是主機沒有要還原的資料庫的話,就要手動給色新的資料庫名稱
輸入在目的地的資料庫欄位中即可



可能會用到的,如果DB有連線的話
exec sp_who  // 看連線
kill 56   // 殺掉連線編號

選項 → 勾選 覆寫現有的資料庫 → 再確定就OK了

把A電腦的DB,還原到B電腦後,發現了另一個問題


猜應該是安全性的問題,只還原了資料,但帳號的安全性沒跟過來
再去找G老師

解決方法,可以用sql內建的預存程式(Store Procedure)sp_change_users_login

預存程式範例:
EXEC sp_change_users_login 'Auto_Fix', '帳號', NULL, '密碼';

EXEC sp_change_users_login 'Auto_Fix', 'testuser', NULL, 'test@user';

重點在於執行前必須先將執行目標選到你的資料庫名稱


也可以這樣用
USE lseforms
EXEC sp_change_users_login 'Auto_Fix', '帳號', NULL, '密碼';

執行後會跑出 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

將使用者 'testuser' 的資料列之登入連結更新為現有的登入,來修復該資料列。
藉由更新使用者而修復的被遺棄使用者的數量為 1。
藉由加入新的登入再更新使用者而修復的被遺棄使用者的數量為 0。

也可能會遇見這樣的問題,存取被拒
還是大絕招,找G老師
進 SQL Server 組態管理員 → 把SQL Server 登入身份改 LocalSystem,再還原就ok了


沒有留言:

張貼留言