史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 程式 & 網頁設計技術文件
忘記密碼?
註冊帳號 論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2004-07-27, 04:27 PM   #1 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 我被SQL關到門外的解決之道

不久之前,有朋友打電話找筆者,求救說自己被SQL Server關到了門外,問有沒有辦法解決,朋友之事不敢怠慢,趕緊跑去檢視,順帶了些資料過去,以備檢視,畢竟,這種事不才也是第一次遇到,呵呵。


  跑過去看了一下,果然"sysadmin"無法登入,真的是被關到門外,這可有些麻煩了,朋友又不想重裝SQL,只好翻資料了,最終,在某某資料某某部分查到某某文章如下:

  要想重新訪問SQL Server,您需要修改SQL Server 2000 和 SQL Server 7.0決定SQL Server身份驗證模式的註冊表鍵值。

在SQL Server 7.0中,該鍵為:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
\MSSQLServer\LoginMode
在SQL Server 2000中,該鍵為:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSQLServer
\MSSQLServer\LoginMode


「LoginMode」的值為0表示只進行Windows 的身份驗證,為1表示驗證模式為混合模式。


在您把自己關在外面之後,您可以把「LoginMode」改為1,重新啟動SQL Server,然後以sa(system administrator)身份登入,輸入您知道的sa密碼即可。

  以下關於SQL Server的角色成員的資訊可能會說明 您理解為什麼您會把自己關在SQLServer外面。


在您安裝SQL Server 2000 或 7.0的時候,安裝行程自動地為「BUILTIN\Administrators」新增一個登入帳號,該帳號為「sysadmin」角色成員。「BUILTIN\Administrators」登入帳號代表了Microsoft Windows® 2000 或Microsoft Windows NT® server 上的系統管理員本機組。 Windows 2000 或 Windows NT的 「Administrator」帳戶是系統管理員本機組的成員。



此外,如果您的伺服器是一個域的成員(包括Windows 2000 的域和Windows NT 4.0的域),「Domain Admins」全局組也會成為本機系統管理員組的成員。這意味著系統管理員本機組的所有成員都會自動地獲得SQL Server上的「sysadmin」權限。

  為了加強您的SQL Server的安全性,您可能更願意新增您自己的組並授予它「sysadmin」權限,然後刪除「BUILTIN\Administrators」登入帳號,或者至少從「sysadmin」伺服器角色中刪除它。


使用這種方法,您可以較好地對誰可以訪問您的SQL Server進行控制。這種方法也中斷連線了SQL Server 系統管理員和Windows 2000 或 Windows NT 管理員之間的聯繫, 因為他們通常有不同的工作,並且需要不同的權限。



為了加強安全性,您可能想把SQL Server配置成只支持Windows身份驗證。

但是,必須要記住:這種配置會禁用您的「sa」帳戶。

(這個方法可能是禁用「sa」帳戶的唯一方法,因為您不能刪除「sa」帳戶。)如果您以錯誤的順序實施了這個安全措施,您將不能再以>「sysadmin」的身份登入到SQL Server上,除非按照我上面所說的方法修改註冊表鍵值。正確的順序是:

新增Windows 2000 或者 Windows NT 用戶組並為組分配成員。例如:新增一個叫做「SQLAdmins」的組。

把「SQLAdmins」映射為SQL Server裡的一個用Windows身份驗證方式驗證登入的帳戶,並把該帳戶分派到「sysadmin」伺服器角色。

刪除「BUILTIN\Administrators」登入帳戶或者把它從「sysadmin」伺服器角色中刪除。

把SQL Server的身份驗證模式改為「僅進行Windows身份驗證」。

重新啟動SQL Server 以反映身份驗證模式的變化。


注意: 如果您以下面的這種錯誤順序實施這些步驟:

刪除「BUILTIN\Administrators」登入帳戶,改變SQL Server 的身份驗證模式為「僅進行Windows身份驗證」,然後重新啟動SQL Server,那麼「sa」 帳戶將被禁用,並且因為沒有定義其它Windows身份驗證登入帳戶而無法進入SQL Server。


為了避免這種情況發生,請以正確的順序實施這些安全措施。

看完上面這些,按步實施,一切OK!
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次
向 psac 送花的會員:
longlie (2007-10-21)
感謝您發表一篇好文章
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 04:51 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2020, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1