2009年4月1日 星期三

如何在 SQL Server 的執行個體之間傳送登入和密碼

不管是要移動或是複製資料庫到不同版本的Server上,登入與密碼的傳送就很重要,可參考KB246133,建立 sp_help_revlogin 預存程序後,執行下列陳述式,用以產生原始 SID 和密碼的登入指令
EXEC master..sp_help_revlogin

注意kb246133裡有寫適用於下列案例:

  • 將登入和密碼從 SQL Server 7.0 傳送至 SQL Server 7.0。
  • 將登入和密碼從 SQL Server 7.0 傳送至 SQL Server 2000。
  • 將登入和密碼從 SQL Server 7.0 傳送至 SQL Server 2005。
  • 在執行 SQL Server 2000 的伺服器之間傳送登入和密碼。
  • 將登入和密碼從 SQL Server 2000 傳送至 SQL Server 2005。
若你誤以為在SQL Server 2005 間傳送登入和密碼也是行的,那你會犯跟我一樣的錯誤,在建立sp_help_revlogin 預存程序後,執行EXEC master..sp_help_revlogin可是會收到下列錯誤的,因為2005已經沒有sysxlogins這個表囉
訊息 208,層級 16,狀態 1,程序 sp_help_revlogin,行 12
無效的物件名稱 'master..sysxlogins'。


若想要在SQL Server 2005 間傳送登入和密碼,需參考KB918992的喔,不要搞混了,其實KB246133也有提到,只是我都沒注意到...

0 意見:

張貼留言