HOW TO:定義資料庫物件的權限
您可以定義使用權限以授與或撤銷資料庫、資料庫專案,甚至是資料表之特定資料行的存取權。 若要定義這些使用權限,您必須更新 database.sqlpermissions 檔。
若要開啟 database.sqlpermissions 檔案
在 Visual Studio 中,開啟包含要定義其使用權限之資料庫專案的方案。
在 [方案總管] 中,展開資料庫專案節點,再展開 [屬性] 節點,然後按兩下 Database.sqlpermissions。
授與或撤銷使用權限。
您可以授與或撤銷三種細微層級的使用權限:
資料庫層級:您可以授與或撤銷此層級的使用權限以限制作業 (例如 CREATE TABLE) 的存取權。
資料庫物件層級:您可以授與或撤銷此層級的使用權限以限制特定資料庫物件 (例如資料表) 的存取權類型。
資料表資料行層級:您可以授與或撤銷此層級的使用權限以限制資料表中特定資料行的存取權類型。
若要授與資料庫層級的使用權限
開啟 database.sqlpermissions 檔案。
在結尾 </Permissions> 標籤之前加入下列 XML:
<PermissionStatement Action="GRANT"> <Permission>Operation</Permission> <Grantee>Username</Grantee> </PermissionsStatement>
將 Operation 取代成您要授與其使用權限的作業。 例如,若要授與用於建立資料表的使用權限,請指定 CREATE TABLE。
將 Username 取代成您要授與此使用權限的使用者。
儲存並關閉 database.sqlpermissions 檔案。
若要撤銷資料庫層級的使用權限
開啟 database.sqlpermissions 檔案。
在結尾 </Permissions> 標籤之前加入下列 XML:
<PermissionStatement Action="REVOKE"> <Permission>Operation</Permission> <Grantee>Username</Grantee> </PermissionsStatement>
將 Operation 取代成您要撤銷其使用權限的作業。 例如,若要撤銷用於建立資料表的使用權限,請指定 CREATE TABLE。
將 Username 取代成您要撤銷此使用權限的使用者。
儲存並關閉 database.sqlpermissions 檔案。
若要授與資料庫物件的使用權限
開啟 database.sqlpermissions 檔案。
在結尾 </Permissions> 標籤之前加入下列 XML:
<PermissionStatement Action="GRANT"> <Permission>Operation</Permission> <Grantee>Username</Grantee> <Object Name="ObjectName" Schema="SchemaName" Type="OBJECT"/> </PermissionsStatement>
將 Operation 取代成您要授與其使用權限的作業。 例如,若要授與可從資料表選取資料的使用權限,請指定 SELECT。
將 Username 取代成您要授與此使用權限的使用者。
將 ObjectName 取代成您要授與使用權限的物件。
將 SchemaName 取代成要包含物件的結構描述。
儲存並關閉 database.sqlpermissions 檔案。
若要撤銷資料庫物件的使用權限
開啟 database.sqlpermissions 檔案。
在結尾 </Permissions> 標籤之前加入下列 XML:
<PermissionStatement Action="REVOKE"> <Permission>Operation</Permission> <Grantee>Username</Grantee> <Object Name="ObjectName" Schema="SchemaName" Type="OBJECT"/> </PermissionsStatement>
將 Operation 取代成您要授與其使用權限的作業。 例如,若要授與可從資料表選取資料的使用權限,請指定 SELECT。
將 Username 取代成您要授與此使用權限的使用者。
將 ObjectName 取代成您要授與使用權限的物件。
將 SchemaName 取代成要包含物件的結構描述。
儲存並關閉 database.sqlpermissions 檔案。
若要授與資料行的使用權限
開啟 database.sqlpermissions 檔案。
在結尾 </Permissions> 標籤之前加入下列 XML:
<PermissionStatement Action="GRANT"> <Permission>Operation</Permission> <Grantee>Username</Grantee> <Object Name ="TableName" Schema ="SchemaName" Type ="OBJECT"> <Columns Treatment ="INCLUDE"> <Column Name="ColumnName"/> </Columns> </Object> </PermissionsStatement>
將 Operation 取代成您要授與其使用權限的作業。 例如,若要授與用於建立資料表的使用權限,請指定 CREATE TABLE。
將 Username 取代成您要授與此使用權限的使用者。
將 TableName 取代成您要授與使用權限的物件。
將 SchemaName 取代成要包含物件的結構描述。
將 ColumnName 取代成您要套用使用權限的資料行名稱。 您可以指定多個 <資料行> 項目以套用使用權限到多個資料行。
儲存並關閉 database.sqlpermissions 檔案。
若要撤銷資料行的使用權限
開啟 database.sqlpermissions 檔案。
在結尾 </Permissions> 標籤之前加入下列 XML:
<PermissionStatement Action="REVOKE"> <Permission>Operation</Permission> <Grantee>Username</Grantee> <Object Name ="TableName" Schema ="SchemaName" Type ="OBJECT"> <Columns Treatment ="INCLUDE"> <Column Name="ColumnName"/> </Columns> </Object> </PermissionsStatement>
將 Operation 取代成您要授與其使用權限的作業。 例如,若要授與用於建立資料表的使用權限,請指定 CREATE TABLE。
將 Username 取代成您要授與此使用權限的使用者。
將 TableName 取代成您要授與使用權限的物件。
將 SchemaName 取代成要包含物件的結構描述。
將 ColumnName 取代成您要套用使用權限的資料行名稱。 您可以指定多個 <資料行> 項目以套用使用權限到多個資料行。
儲存並關閉 database.sqlpermissions 檔案。