none
請問在SQL2000下,所建立的使用者該如何還原呀? RRS feed

  • 問題

  • 因為系統掛掉了,在另外一台上利用附加的方式將原本的資料庫還原,而帳號卻都不見了,該如何還原所建立的帳號呢?另外,再請問各位大大,資料庫所建立的帳號是存在哪個目錄哪個檔案呀?謝謝。
    2006年12月27日 上午 04:08

解答

  • Hi: 您好,

    1. 登入 SQL Serve 的帳號與密碼是存在於 master 系統資料庫。

    如果您僅剩該使用者資料庫時,建議您可以使用以下的範例碼:

    --
    USE '資料庫'

    -- 列出目前資料庫中未連結至任何登入的使用者和對應的安全性識別碼 (SID)
    exec sp_change_users_login 'Report';

    -- 將資料庫使用者(user)對應至新的 SQL Server 登入(login)
    EXEC sp_change_users_login 'Auto_Fix', '帳號名稱', NULL, '該帳號的密碼';
    GO

    附註:
    sp_change_users_login 無法與從 Windows 主體建立的 SQL Server 登入一起使用。


    參考資料:
    sp_change_users_login (Transact-SQL) 
    將現有的資料庫使用者對應至 SQL Server 登入。
    http://msdn2.microsoft.com/zh-tw/library/ms174378.aspx

    如何在執行 SQL Server 的電腦之間移動資料庫
    http://support.microsoft.com/kb/314546/zh-tw

    希望對您有幫助 ...

    Best Regards
    Derrick Chen 德瑞克

    2006年12月27日 上午 09:28

所有回覆

  • 須還原master
    2006年12月27日 上午 06:38
  • 你可以這麼做:

    1. 重建原本的使用者帳戶。
    2. 在你要還原使用者帳戶的資料庫中,執行 EXEC sp_change_users_login 'Update_One', '[原使用者帳戶名稱]', '[新使用者帳戶名稱]'(若名稱相同,則原使用者帳戶名稱就和新使用者帳戶名稱一樣)。

    2006年12月27日 上午 07:32
    版主
  • Hi: 您好,

    1. 登入 SQL Serve 的帳號與密碼是存在於 master 系統資料庫。

    如果您僅剩該使用者資料庫時,建議您可以使用以下的範例碼:

    --
    USE '資料庫'

    -- 列出目前資料庫中未連結至任何登入的使用者和對應的安全性識別碼 (SID)
    exec sp_change_users_login 'Report';

    -- 將資料庫使用者(user)對應至新的 SQL Server 登入(login)
    EXEC sp_change_users_login 'Auto_Fix', '帳號名稱', NULL, '該帳號的密碼';
    GO

    附註:
    sp_change_users_login 無法與從 Windows 主體建立的 SQL Server 登入一起使用。


    參考資料:
    sp_change_users_login (Transact-SQL) 
    將現有的資料庫使用者對應至 SQL Server 登入。
    http://msdn2.microsoft.com/zh-tw/library/ms174378.aspx

    如何在執行 SQL Server 的電腦之間移動資料庫
    http://support.microsoft.com/kb/314546/zh-tw

    希望對您有幫助 ...

    Best Regards
    Derrick Chen 德瑞克

    2006年12月27日 上午 09:28