none
進入SQL Server 2005 的權限 RRS feed

  • 問題

  •  

    各位好 :
     
       進入SQL Server 2005時,會先出現一個"連接到伺服器"的視窗畫面.
       這時候會要求輸入 使用者名稱及密碼.(for SQL Server 驗證),或是用Window驗證.
        請問 :
         如何避免其他人在Servevr本機用Window驗證進入SQL Server 2005 ?(如果其他人的權限是Administrator) ?
         以避免資料被修改到.
        謝謝.

    2008年10月31日 上午 07:28

所有回覆

  • 那你可以用SA驗證阿

     

    2008年10月31日 上午 09:10
  • 如果不想讓 Windows 的 Administrators 群組內的成員修改資料,可以有下列幾種作法:

    1. 不授與 BUILTIN\Administrators 群組有 sysadmin 伺服器角色
    2. 拒絕給予 BUILTIN\Administrators 群組連線到 Database Engine 的權限
    3. 停用 BUILTIN\Administrators 群組登入到 SQL Server 2005 的權限
    4. 刪除  BUILTIN\Administrators 群組
    於進行任何一種方式之前,請先行備份資料庫,確認至少還有 sa 可以連線與進行管理作業,並確認沒有任何資料庫跟 BUILTIN\Administrators 群組還有任何瓜葛,以免操作失當,造成無法彌補的後悔
    2008年10月31日 下午 01:10
    版主
  • 謝謝您

        如果我只是想確定只有sa可以登入到Server本機的SQL Server 2005.

        不想讓其他的user登入Server  2005來建立資料庫,table等等.

        是不是只要在<安全性> <登入> 將sa以外的群組或user 作以下的動作即可:

        (1)拒絕給予  連線到 Database Engine 的權限

        (2) 停用  登入到 SQL Server 2005 的權限

       

         或是在SQL server 2005的連接到伺服器的登入畫面 :

                 驗證 : 只有SLQ Server驗證的選項

                          當選擇 Window驗證時 ,底下的 "連接"鈕是disable(暗灰色 , 是不能執行的)

     

      謝謝

    2008年10月31日 下午 03:04
  •  jeffersonKuo 寫信:

         或是在SQL server 2005的連接到伺服器的登入畫面 :

                 驗證 : 只有SLQ Server驗證的選項

                          當選擇 Window驗證時 ,底下的 "連接"鈕是disable(暗灰色 , 是不能執行的)

    單這樣做,使用者還是可以不依照你訂的遊戲規則進行

    建議開啟伺服器屬性對話方塊,在「權限」頁面明確的「拒絕」 BUILDIN\Administrators 群組連線的權限

    2008年10月31日 下午 03:30
    版主
  • You should have other sql logins than sa, because it's not good practice to let all kind of connections connect to sql with sa.

     

    2008年11月1日 上午 12:27
  • 謝謝您

      其實,我的目的是希望user透過程式來access SQL Server 2005的資料庫Data .而不希望user至Server主機, 直接登入SQL Server 2005 來Check data 或是修改Data.

      因此我希望只有sa或增加一兩個account經過SQL Server驗證方式登入SQL Server 2005,而不希望透過Window驗證方式登入SQL Server 2005.

     

      故, 如何避免?

      如何設定  : 當選擇 Window驗證時 ,底下的 "連接"鈕是disable(暗灰色 , 是不能執行的)  ?

     

      謝謝

      

    2008年11月1日 上午 08:47
  •  jeffersonKuo 寫信:

    其實,我的目的是希望user透過程式來access SQL Server 2005的資料庫Data .而不希望user至Server主機, 直接登入SQL Server 2005 來Check data 或是修改Data.

      因此我希望只有sa或增加一兩個account經過SQL Server驗證方式登入SQL Server 2005,而不希望透過Window驗證方式登入SQL Server 2005.  

    繞了一大圈,才清楚地描述你的目的為何

    既然是應用程式要用的,當然替該應用程式建立一個專用的「帳號」(專業的說法是:「應用程式角色」)才是正解!這樣作既可利於日後的稽查,又可確保資料庫的安全。

    下面的程式碼會建立一個稱為 weekly_receipts 的應用程式角色,這個應用程式角色的密碼為 bGv876sPY)5m23Y,並將 Sales 當作它的預設結構描述。

    CREATE APPLICATION ROLE weekly_receipts
        WITH PASSWORD = 'bGv876sPY)5m23Y', 
        DEFAULT_SCHEMA = Sales;

    2008年11月1日 下午 01:52
    版主