GRANT用法簡介

來源:互聯網
上載者:User

SQL Server 2000的GRANT語句用於向使用者、角色和組授予使用資料庫物件以及運行某些預存程序和函數的許可權。

GRANT的文法非常簡單——雖然它是SQL Server 2000中功能最強大的語句之一。下面的例子授予皮特(Pete)對pubs資料庫中的authors表進行 INSERT、UPDATE和DELETE的許可權。WITH GRANT OPTION表示皮特也可以用這些語句來向其它使用者授權。USE pubs
GO

GRANT INSERT, UPDATE, DELETE
ON authors
TO Pete
WITH GRANT OPTION
GO

你也可以授予皮特ALL許可權,這樣他還可以使用CREATE DATABASE、CREATE FUNCTION、CREATE RULE、CREATE TABLE、BACKUP DATABASE以及其它語句。不過,我們一般都希望限制使用者的訪問和操作資料庫的許可權。

除了對單獨的使用者外,你還可以對SQL Server角色、Windows NT使用者以及Windows NT組使用GRANT語句。如果使用者和(或者)組或者角色之間存在授權衝突,那麼按照最嚴格的授權處理。不能對其它資料庫的使用者、角色或者組進行授權。

你可以用REVOKE語句來解除已經授與權限。你也可以用DENY語句來停止阻止使用者從他(她)所從屬的組(或者角色)那裡來得到授予該組(或者角色)的許可權。

在下面的例子中,我們將會看到擁有pubs資料庫中的authors表許可權的人有哪些。然後,我們給予皮特訪問資料庫的許可權。最後,我們再給他對authors表執行INSERT、UPDATE和DELETE的許可權。

首先,我們運行sp_helpprotect來看看authors表格上哪些人有哪些許可權。

Exec sp_helprotect authors
GO

結果應該與下面類似:

Owner  Object   Grantee  Grantor   ProtectType  Action            Column
-----        ------       -------    -----------    -------------     ---------             -------
dbo       authors  guest    dbo           Grant              Delete
dbo       authors  guest    dbo           Grant              Insert
dbo       authors  guest    dbo           Grant              References    (All+New)
dbo       authors  guest    dbo           Grant              Select             (All+New)
dbo       authors  guest    dbo           Grant              Update          (All+New)

由於在皮特得到訪問資料庫的許可權之前,我們不能向他授以執行任何語句的許可權,因此,我們應該首先讓皮特獲得訪問資料庫的許可權。(實際上,為了可以使用已授與權限,皮特需要一個SQL Server 2000登入帳號和訪問該資料庫的許可。這個例子為一個SQL Server 2000中尚未存在的使用者建立訪問資料庫的許可。)

EXEC sp_grantdbaccess Pete
GO

你將會看到“Granted database access to 'Pete”。

讓我們運行較早前提到的GRANT INSERT, UPDATE, DELETE語句。現在重新執行sp_helpprotect,最後三行應該顯示皮特以及他剛才所獲得授權的資訊。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.