當前位置:首頁 » 操作系統 » 資料庫創建角色

資料庫創建角色

發布時間: 2023-01-25 20:41:05

sqlserver中的用戶可以創建幾種資料庫角色

SQL Server 2000 和 SQL Server 7.0 版在安裝過程中定義幾個固定角色。可以在這些角色中添加用戶以獲得相關的管理許可權。下面是伺服器范圍內的角色。

固定伺服器角色 描述
sysadmin 可以在 SQL Server 中執行任何活動。
serveradmin 可以設置伺服器范圍的配置選項,關閉伺服器。
setupadmin 可以管理鏈接伺服器和啟動過程。
securityadmin 可以管理登錄和 CREATE DATABASE 許可權,還可以讀取錯誤日誌和更改密碼。
processadmin 可以管理在 SQL Server 中運行的進程。
dbcreator 可以創建、更改和除去資料庫。
diskadmin 可以管理磁碟文件。
bulkadmin 可以執行 BULK INSERT 語句。

可以從 sp_helpsrvrole 獲得固定伺服器角色的列表,可以從 sp_srvrolepermission 獲得每個角色的特定許可權。

每個資料庫都有一系列固定資料庫角色。雖然每個資料庫中都存在名稱相同的角色,但各個角色的作用域只是在特定的資料庫內。例如,如果 Database1 和 Database2 中都有叫 UserX 的用戶 ID,將 Database1 中的 UserX 添加到 Database1 的 db_owner 固定資料庫角色中,對 Database2 中的 UserX 是否是 Database2 的 db_owner 角色成員沒有任何影響。

固定資料庫角色 描述
db_owner 在資料庫中有全部許可權。
db_accessadmin 可以添加或刪除用戶 ID。
db_securityadmin 可以管理全部許可權、對象所有權、角色和角色成員資格。
db_ddladmin 可以發出 ALL DDL,但不能發出 GRANT、REVOKE 或 DENY 語句。
db_backupoperator 可以發出 DBCC、CHECKPOINT 和 BACKUP 語句。
db_datareader 可以選擇資料庫內任何用戶表中的所有數據。
db_datawriter 可以更改資料庫內任何用戶表中的所有數據。
db_denydatareader 不能選擇資料庫內任何用戶表中的任何數據。
db_denydatawriter 不能更改資料庫內任何用戶表中的任何數據。

可以從 sp_helpdbfixedrole 獲得固定資料庫角色的列表,可以從 sp_dbfixedrolepermission 獲得每個角色的特定許可權。

資料庫中的每個用戶都屬於 public 資料庫角色。如果想讓資料庫中的每個用戶都能有某個特定的許可權,則將該許可權指派給 public 角色。如果沒有給用戶專門授予對某個對象的許可權,他們就使用指派給 public 角色的許可權。

❷ SQL資料庫中 怎樣建立用戶角色

create table [用戶] ([編號] varchar(10), [姓名] varchar(15), [角色] varchar(20));

alter table [用戶] add constraint
CK_role check ([角色] in ('總經理','部門經理','財務總管'))

❸ sql 資料庫中syadmin固定伺服器怎麼添加角色

資料庫角色的成員可以分為如下幾類:

Windows用戶組或用戶賬戶

SQL Server登錄

其他角色

SQL Server的安全體系結構中包括了幾個含有特定隱含許可權的角色。除了資料庫擁有者創建的角色之外,還有兩類預定義的角色。這些可以創建的角色可以分為如下幾類:

固定伺服器

固定資料庫

用戶自定義

固定伺服器

由於固定伺服器是在伺服器層次上定義的,因此它們位於從屬於資料庫伺服器的資料庫外面。下表列出了所有現有的固定伺服器角色。

固定伺服器角色

說 明

sysadmin

執行SQL Server中的任何動作

serveradmin

配置伺服器設置

setupadmin

安裝復制和管理擴展過程

securityadmin

管理登錄和CREATE DATABASE的許可權以及閱讀審計

processadmin

管理SQL Server進程

dbcreator

創建和修改資料庫

diskadmin

管理磁碟文件

下面兩個系統過程用來添加或刪除固定伺服器角色成員:

sp_addsrvrolemember

sp_dropsrvrolemember

注意:您不能添加、修改或刪除固定伺服器角色。另外,只有固定伺服器角色的成員才能執行上述兩個系統過程來從角色中添加或刪除登錄賬戶。

sa登錄

sa登錄是系統管理員的登錄。在以前的SQL Server版本中不存在角色,sa登錄具有所有可能的關於系統管理工作的許可權。在SQL Server 2005中,sa登錄保持了向後兼容性。sa登錄永遠是固定伺服器角色syadmin中的成員,並且不能從該角色中刪除。

注意:只有當沒有其他方法登錄到SQL Server系統中時,再使用sa登錄。

固定伺服器角色及其許可權

在某個SQL Server系統中,每個固定伺服器角色都有其隱含的許可權。使用系統過程sp_srvrolepermission可以瀏覽每個固定伺服器角色的許可權。該系統過程的語法形式為:

sp_srvrolepermission[[@srvrolename =] 'role']

如果沒有指定role的值,那麼所有的固定伺服器角色的許可權都將顯示出來。下面的部分將討論每個固定伺服器角色的許可權。

1. sysadmin

固定伺服器角色sysadmin的成員被賦予了SQL Server系統中所有可能的許可權。例如,只有這個角色中的成員(或一個被這個角色中的成員賦予了CREATE DATABASE許可權的用戶)才能夠創建資料庫。

固定伺服器角色和sa登錄之間有著特殊的關系。sa登錄一直都是固定伺服器角色中的成員,並且不能從該角色中刪除。

2. serveradmin

固定伺服器角色serveradmin的成員可以執行如下的動作:

向該伺服器角色中添加其他登錄

運行dbcc pintable命令(從而使表常駐於主內存中)

運行系統過程sp_configure(以顯示或更改系統選項)

運行reconfigure選項(以更新系統過程sp_configure所做的所有改動)

使用shutdown命令關掉資料庫伺服器

運行系統過程sp_tableoption為用戶自定義表設置選項的值

3. setupadmin

固定伺服器角色setupadmin中的成員可以執行如下的動作:

向該伺服器角色中添加其他登錄

添加、刪除或配置鏈接的伺服器

執行一些系統過程,如sp_serveroption

4. securityadmin

固定伺服器角色securitypadmin中的成員可以執行關於伺服器訪問和安全的所有動作。這些成員可以進行如下的系統動作:

向該伺服器角色中添加其他登錄

讀取SQL Server的錯誤日誌

運行如下的系統過程:如sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、sp_defaultlanguage、sp_denylogin、sp_droplinkedsrvlogin、sp_droplogin、sp_grantlogin、sp_helplogins、sp_remoteoption和sp_revokelogin(所有這些系統過程都與系統安全相關。)

5. processadmin

固定伺服器角色processadmin中的成員用來管理SQL Server進程,如中止用戶正在運行的查詢。這些成員可以進行如下的動作:

向該伺服器角色中添加其他登錄

執行KILL命令(以取消用戶進程)

6. dbcreator

固定伺服器角色dbcreator中的成員用來管理與資料庫創建和修改有關的所有動作。這些成員可以進行如下的動作:

向該伺服器角色中添加其他登錄

運行CREATE DATABASE和ALTER DATABASE語句

使用系統過程sp_renamedb來修改資料庫的名稱

7. diskadmin

固定伺服器角色diskadmin的成員可以進行如下與用來存儲資料庫對象的文件和文件組有關的動作:

向該伺服器角色中添加其他登錄

運行如下系統過程:sp_dmpdevice和sp_dropdevice。

運行DISK INIT語句

固定資料庫角色

固定資料庫角色在資料庫層上進行定義,因此它們存在於屬於資料庫伺服器的每個資料庫中。下表列出了所有的固定資料庫角色。

固定資料庫角色

說 明

db_owner

可以執行資料庫中技術所有動作的用戶

db_accessadmin

可以添加、刪除用戶的用戶

db_datareader

可以查看所有資料庫中用戶表內數據的用戶

db_datawriter

可以添加、修改或刪除所有資料庫中用戶表內數據的用戶

db_ddladmin

可以在資料庫中執行所有DDL操作的用戶

db_securityadmin

可以管理資料庫中與安全許可權有關所有動作的用戶

db_backoperator

可以備份資料庫的用戶(並可以發布DBCC和CHECKPOINT語句,這兩個語句一般在備份前都會被執行)

db_denydatareader

不能看到資料庫中任何數據的用戶

db_denydatawriter

不能改變資料庫中任何數據的用戶

除了上表中列出的固定資料庫角色之外,還有一種特殊的固定資料庫角色,名為public,這里將首先介紹這一角色。

public角色

public角色是一種特殊的固定資料庫角色,資料庫的每個合法用戶都屬於該角色。它為資料庫中的用戶提供了所有默認許可權。這樣就提供了一種機制,即給予那些沒有適當許可權的所有用戶以一定的(通常是有限的)許可權。public角色為資料庫中的所有用戶都保留了默認的許可權,因此是不能被刪除的。

一般情況下,public角色允許用戶進行如下的操作:

使用某些系統過程查看並顯示master資料庫中的信息

執行一些不需要一些許可權的語句(例如PRINT)

固定資料庫角色及其許可權

在資料庫中,每個固定資料庫角色都有其特定的許可權。這就意味著對於某個資料庫來說,固定資料庫角色的成員的許可權是有限的。使用系統過程sp_dbfixedrolepermission就可以查看每個固定資料庫角色的許可權。該系統過程的語法為:

sp_db.xedrolepermission [[@rolename =] 'role']

如果沒有指定role的值,那麼所有固定資料庫角色的許可權都可以顯示出來。下面的幾節將討論每個固定資料庫角色的許可權。

1. db_owner

固定資料庫角色db_owner的成員可以在特定的資料庫中進行如下的動作:

向其他固定資料庫角色中添加成員,或從其中刪除成員

運行所有的DDL語句

運行BACKUP DATABASE和BACKUP LOG語句

使用CHECKPOINT語句顯式地啟動檢查點進程

運行下列dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

授予、取消或剝奪每一個資料庫對象上的下列許可權:SELECT、INSERT、UPDATE、DELETE和REFERENCES

使用下列系統過程向資料庫中添加用戶或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember、sp_dropuser、sp_grantdbaccess

使用系統過程sp_rename為任何資料庫對象重新命名

2. db_accessadmin

固定資料庫角色db_accessadmin的成員可以執行與資料庫訪問有關的所有動作。這些角色可以在具體的資料庫中執行下列操作:

運行下列系統過程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess

為Windows用戶賬戶、Windows組和SQL Server登錄添加或刪除訪問

3. dbdatareader

固定資料庫角色dbdatareader的成員對資料庫中的資料庫對象(表或視圖)具有SELECT許可權。然而,這些成員不能把這個許可權授予其他任何用戶或角色。(這個限制對REVOKE語句來說同樣成立。)

4. dbdatawriter

固定資料庫角色dbdatawriter的成員對資料庫中的資料庫對象(表或視圖)具有INSERT、UPDATE和DELETE許可權。然而,這些成員不能把這個許可權授予其他任何用戶或角色。(這個限制對REVOKE語句來說也同樣成立。)

5. db_ddladmin

固定資料庫角色db_ddladmin的成員可以進行如下的動作:

運行所有DDL語句

對任何錶上授予REFERENCESE許可權

使用系統過程sp_procoption和sp_recompile來修改任何存儲過程的結構

使用系統過程sp_rename為任何資料庫對象重命名

使用系統過程sp_tableoption和sp_changeobjectowner分別修改表的選項和任何資料庫對象的擁有者

6. db_securityadmin

固定資料庫角色db_securityadmin的成員可以管理資料庫中的安全。這些成員可以進行如下的動作:

運行與安全有關的所有Transact-SQL語句(GRANT、DENY和REVOKE)

運行以下系統過程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember

7. db_backupoperator

固定資料庫角色db_backupoperator的成員可以管理資料庫備份的過程。這些成員可以進行如下動作:

運行BACKUP DATABASE和BACKUP LOG語句

用CHECKPOINT語句顯式地啟動檢查點進程

運行如下dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

8. db_denydatareader和db_denydatawriter

顧名思義,固定資料庫角色db_denydatareader的成員對資料庫中的資料庫對象(表或視圖)沒有SELECT許可權。如果資料庫中含有敏感數據並且其他用戶不能讀取這些數據,那麼就可以使用這個角色。

固定資料庫角色db_denydatawriter的成員對資料庫中的任何資料庫對象(表或視圖)沒有INSERT、UPDATE和DELETE許可權。

❹ MySQL 資料庫,如何分角色許可權建表

角色一直存在各個資料庫中,比如 SQL Server、Oracle 等,MySQL 自從版本 8.0 release,引入了角色這個概念。


角色的概念

角色就是一組針對各種資料庫許可權的集合。比如,把一個角色分配給一個用戶,那這個用戶就擁有了這個角色包含的所有許可權。一個角色可以分配給多個用戶,另外一個用戶也可以擁有多個角色,兩者是多對多的關系。不過 MySQL 角色目前還沒有提供類似於其他資料庫的系統預分配的角色。比如某些資料庫的 db_owner、 db_datareader 、 db_datawriter 等等。那接下來我分幾個方面,來示例說明角色的使用以及相關注意事項。

示例 1:一個完整角色的授予步驟

用管理員創建三個角色:db_owner, db_datareader, db_datawriter

  • mysql> create role db_owner,db_datareader,db_datawriter;

  • Query OK, 0 rows affected (0.02 sec)

  • mysql> grant all on ytt_new.* to db_owner;

  • Query OK, 0 rows affected (0.01 sec)

  • mysql> grant select on ytt_new.* to db_datareader;

  • Query OK, 0 rows affected (0.01 sec)

  • mysql> grant insert,delete,update on ytt_new.* to db_datawriter;

  • Query OK, 0 rows affected (0.01 sec)

  • 創建三個普通用戶,分別為 ytt1、ytt2、ytt3。mysql> create user ytt1 identified by 'ytt',ytt2 identified by 'ytt',ytt3 identified by 'ytt';Query OK, 0 rows affected (0.01 sec)

  • 分別授予這三個用戶對應的角色。
  • -- 授權角色

  • mysql> grant db_owner to ytt1;

  • Query OK, 0 rows affected (0.02 sec)

  • -- 激活角色

  • mysql> set default role db_owner to ytt1;

  • Query OK, 0 rows affected (0.00 sec)

  • mysql> grant db_datareader to ytt2;

  • Query OK, 0 rows affected (0.01 sec)

  • mysql> set default role db_datareader to ytt2;

  • Query OK, 0 rows affected (0.01 sec)

  • mysql> grant db_datawriter to ytt3;

  • Query OK, 0 rows affected (0.01 sec)

  • mysql> set default role db_datawriter to ytt3;

  • Query OK, 0 rows affected (0.01 sec)

  • 以上是角色授予的一套完整步驟。那上面有點非常規的地方是激活角色這個步驟。MySQL 角色在創建之初默認是沒有激活的,也就是說創建角色,並且給一個用戶特定的角色,這個用戶其實並不能直接使用這個角色,除非激活了才可以。
  • 示例 2:一個用戶可以擁有多個角色

  • -- 用管理員登錄並且創建用戶

  • mysql> create user ytt4 identified by 'ytt';

  • Query OK, 0 rows affected (0.00 sec)

  • -- 把之前的三個角色都分配給用戶ytt4.

  • mysql> grant db_owner,db_datareader,db_datawriter to ytt4;

  • Query OK, 0 rows affected (0.01 sec)

  • -- 激活用戶ytt4的所有角色.

  • mysql> set default role all to ytt4;

  • Query OK, 0 rows affected (0.02 sec)

  • -- ytt4 用戶登錄

  • root@ytt-pc:/var/lib/mysql# mysql -uytt4 -pytt -P3304 -hytt-pc

  • ...

  • -- 查看當前角色列表

  • mysql> select current_role();

  • +--------------------------------------------------------+

  • | current_role() |

  • +--------------------------------------------------------+

  • | `db_datareader`@`%`,`db_datawriter`@`%`,`db_owner`@`%` |

  • +--------------------------------------------------------+

  • 1 row in set (0.00 sec)

  • -- 簡單創建一張表並且插入記錄, 檢索記錄,完了刪掉這張表

  • mysql> use ytt_new

  • Database changed

  • mysql> create table t11(id int);

  • Query OK, 0 rows affected (0.05 sec)

  • mysql> insert into t11 values (1);

  • Query OK, 1 row affected (0.02 sec)

  • mysql> select * from t11;

  • +------+

  • | id |

  • +------+

  • | 1 |

  • +------+

  • 1 row in set (0.00 sec)

  • mysql> drop table t11;

  • Query OK, 0 rows affected (0.04 sec)

  • 示例 3:用戶在當前 session 里角色互換
  • 其實意思是說,用戶連接到 MySQL 伺服器後,可以切換當前的角色列表,比如由 db_owner 切換到 db_datareader。

  • -- 還是之前的用戶ytt4, 切換到db_datareader

  • mysql> set role db_datareader;

  • Query OK, 0 rows affected (0.00 sec)

  • mysql> select current_role();

  • +---------------------+

  • | current_role() |

  • +---------------------+

  • | `db_datareader`@`%` |

  • +---------------------+

  • 1 row in set (0.00 sec)

  • -- 切換後,沒有許可權創建表

  • mysql> create table t11(id int);

  • ERROR 1142 (42000): CREATE command denied to user 'ytt4'@'ytt-pc' for table 't11'

  • -- 切換到 db_owner,恢復所有許可權。

  • mysql> set role db_owner;

  • Query OK, 0 rows affected (0.00 sec)

  • mysql> create table t11(id int);

  • Query OK, 0 rows affected (0.04 sec)

  • 示例 4:關於角色的兩個參數

  • activate_all_roles_on_login:是否在連接 MySQL 服務時自動激活角色mandatory_roles:強制所有用戶默認角色
  • -- 用管理員連接MySQL,

  • -- 設置默認激活角色

  • mysql> set global activate_all_roles_on_login=on;

  • Query OK, 0 rows affected (0.00 sec)

  • -- 設置強制給所有用戶賦予角色db_datareader

  • mysql> set global mandatory_roles='db_datareader';

  • Query OK, 0 rows affected (0.00 sec)

  • -- 創建用戶ytt7.

  • mysql> create user ytt7;

  • Query OK, 0 rows affected (0.01 sec)

  • -- 用 ytt7登錄資料庫

  • root@ytt-pc:/var/lib/mysql# mysql -uytt7 -P3304 -hytt-pc

  • ...

  • mysql> show grants;

  • +-------------------------------------------+

  • | Grants for ytt7@% |

  • +-------------------------------------------+

  • | GRANT USAGE ON *.* TO `ytt7`@`%` |

  • | GRANT SELECT ON `ytt_new`.* TO `ytt7`@`%` |

  • | GRANT `db_datareader`@`%` TO `ytt7`@`%` |

  • +-------------------------------------------+

  • 3 rows in set (0.00 sec)

  • 示例 5 :create role 和 create user 都有創建角色許可權,兩者有啥區別?

  • 以下分別創建兩個用戶 ytt8、ytt9,一個給 create role,一個給 create user 許可權。
  • -- 管理員登錄,創建用戶ytt8,ytt9.

  • mysql> create user ytt8,ytt9;

  • Query OK, 0 rows affected (0.01 sec)

  • mysql> grant create role on *.* to ytt8;

  • Query OK, 0 rows affected (0.02 sec)

  • mysql> grant create user on *.* to ytt9;

  • Query OK, 0 rows affected (0.01 sec)

  • -- 用ytt8 登錄,

  • root@ytt-pc:/var/lib/mysql# mysql -uytt8 -P3304 -hytt-pc

  • ...

  • mysql> create role db_test;

  • Query OK, 0 rows affected (0.02 sec)

  • -- 可以創建角色,但是不能創建用戶

  • mysql> create user ytt10;

  • ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation

  • mysql> q

  • Bye

  • -- 用ytt9 登錄

  • root@ytt-pc:/var/lib/mysql# mysql -uytt9 -P3304 -hytt-pc

  • ...

  • -- 角色和用戶都能創建

  • mysql> create role db_test2;

  • Query OK, 0 rows affected (0.02 sec)

  • mysql> create user ytt10;

  • Query OK, 0 rows affected (0.01 sec)

  • mysql> q

  • Bye

  • 那這里其實看到 create user 包含了 create role,create user 即可以創建用戶,也可以創建角色。
  • 示例 6:MySQL 用戶也可以當角色來用

  • -- 用管理員登錄,創建用戶ytt11,ytt12.

  • mysql> create user ytt11,ytt12;

  • Query OK, 0 rows affected (0.01 sec)

  • mysql> grant select on ytt_new.* to ytt11;

  • Query OK, 0 rows affected (0.01 sec)

  • -- 把ytt11普通用戶的許可權授予給ytt12

  • mysql> grant ytt11 to ytt12;

  • Query OK, 0 rows affected (0.01 sec)

  • -- 來查看 ytt12的許可權,可以看到擁有了ytt11的許可權

  • mysql> show grants for ytt12;

  • +-----------------------------------+

  • | Grants for ytt12@% |

  • +-----------------------------------+

  • | GRANT USAGE ON *.* TO `ytt12`@`%` |

  • | GRANT `ytt11`@`%` TO `ytt12`@`%` |

  • +-----------------------------------+

  • 2 rows in set (0.00 sec)

  • -- 在細化點,看看ytt12擁有哪些具體的許可權

  • mysql> show grants for ytt12 using ytt11;

  • +--------------------------------------------+

  • | Grants for ytt12@% |

  • +--------------------------------------------+

  • | GRANT USAGE ON *.* TO `ytt12`@`%` |

  • | GRANT SELECT ON `ytt_new`.* TO `ytt12`@`%` |

  • | GRANT `ytt11`@`%` TO `ytt12`@`%` |

  • +--------------------------------------------+

  • 3 rows in set (0.00 sec)

  • 示例 7:角色的撤銷

  • 角色撤銷和之前許可權撤銷類似。要麼 revoke,要麼刪除角色,那這個角色會從所有擁有它的用戶上移除。
  • -- 用管理員登錄,移除ytt2的角色

  • mysql> revoke db_datareader from ytt2;

  • Query OK, 0 rows affected (0.01 sec)

  • -- 刪除所有角色

  • mysql> drop role db_owner,db_datareader,db_datawriter;

  • Query OK, 0 rows affected (0.01 sec)

  • -- 對應的角色也從ytt1上移除掉了

  • mysql> show grants for ytt1;

  • +----------------------------------+

  • | Grants for ytt1@% |

  • +----------------------------------+

  • | GRANT USAGE ON *.* TO `ytt1`@`%` |

  • +----------------------------------+

  • 1 row in set (0.00 sec)

至此,我分了 7 個目錄說明了角色在各個方面的使用以及注意事項,希望對大家有幫助。

❺ 如何建立角色

進入游戲後,可以看見一個「選擇人物」畫面,選中這個鍵上面的空擋按「創建新人物」後會彈出一個窗口,您可以在這里輸入喜歡的名字,還可以選擇喜歡的角色、頭發顏色,並分配個人的初始屬性。
一切選定後點擊"確定"就可以了。如果出現重名現象,系統會提示重新選擇名稱的。當您建立人物成功後,雙擊該人物或點擊開始按鈕就可以進入游戲畫面了。
人物角色是基於目標、行為、觀點或由此產生的細分用戶群,不同的細分用戶群有不同的屬性,我一般會將用兩到三個屬性來區分最重要的差異。
可是這並不容易,我們總是有好多話要說,此時需要做減法,強迫自己去掉次要屬性。

❻ sql server中利用sql語句如何創建角色和用戶

, securityadmingo--作好SQL的安全管理--作者:鄒建 首先,做好用戶安全:--簡單的,只允許sql的用戶訪問sql(防止利用administrator組用戶訪問)1 .企業管理器--右鍵SQL實例--屬性--安全性--身份驗證--選擇"sql server和windows"--確定2 .企業管理器--安全性--登陸--右鍵sa--設置密碼--其他用戶也設置密碼3 .刪除用戶:BUILTIN\Administrators<機器名 \Administrator--這個用戶不一定有 這樣可以防止用windows身份登陸SQL4 .設置進入企業管理器需要輸入密碼 在企業管理器中--右鍵你的伺服器實例(就是那個有綠色圖標的)--編輯SQL Server注冊屬性--選擇"使用 SQL Server 身份驗證"--並勾選"總是提示輸入登錄名和密碼"--確定--經過上面的設置,你的SQL Server基本上算是安全了.------------------------------------------------------------------------ 其次,改默認埠,隱藏伺服器,減少被攻擊的可能性 SQL Server伺服器--開始--程序--Microsoft SQL Server--伺服器網路實用工具--啟用的協議中"TCP/IP"--屬性--默認埠,輸入一個自已定義的埠,比如2433--勾選隱藏伺服器------------------------------------------------------------------------------管好sql的用戶,防止訪問他不該訪問的資料庫(總控制,明細還可以控制他對於某個資料庫的具體對象具有的許可權)--切換到你新增的用戶要控制的資料庫use你的庫名go--新增用戶execsp_addlogin'test'--添加登錄execsp_grantdbaccess N'test'--使其成為當前資料庫的合法用戶execsp_addrolemember N'db_owner' , N'test'--授予對自己資料庫的所有許可權--這樣創建的用戶就只能訪問自己的資料庫,及資料庫中包含了guest用戶的公共表go--刪除測試用戶execsp_revokedbaccess N'test'--移除對資料庫的訪問許可權execsp_droplogin N'test'--刪除登錄 如果在企業管理器中創建的話,就用:企業管理器--安全性--右鍵登錄--新建登錄常規項--名稱中輸入用戶名--身份驗證方式根據你的需要選擇(如果是使用windows身份驗證,則要先在操作系統的用戶中新建用戶)--默認設置中,選擇你新建的用戶要訪問的資料庫名 伺服器角色項 這個裡面不要選擇任何東西 資料庫訪問項 勾選你創建的用戶需要訪問的資料庫名 資料庫角色中允許,勾選"public ","db_ownew" 確定,這樣建好的用戶與上面語句建立的用戶一樣--------------------------------------------------------------------------- 最後一步,為具體的用戶設置具體的訪問許可權,這個可以參考下面的最簡示例:--添加只允許訪問指定表的用戶:execsp_addlogin'用戶名','密碼','默認資料庫名'--添加到資料庫execsp_grantdbaccess'用戶名'--分配整表許可權GRANTSELECT, INSERT, UPDATE, DELETEONtable1TO[用戶名]--分配許可權到具體的列GRANTSELECT, 至於具體的安全設置和理論知道,參考SQL聯機幫助

❼ 如何創建自定義SQL Server資料庫角色

◆沒有適用的 Microsoft Windows NT�0�3 4.0 或 Windows�0�3 2000 組。
◆沒有管理 Windows NT 4.0 或 Windows 2000 用戶帳戶的許可權。
說明 請避免角色的深層嵌套以免影響性能。
例如,一個公司可能成立慈善活動委員會,其中包括來自不同部門,來自組織中各種不同級別的職員。這些職員需要訪問資料庫中特殊的項目表。沒有隻包括這些職員的現有 Windows NT 4.0 或 Windows 2000 組,而且沒有其它理由在 Windows NT 4.0 或 Windows 2000 中創建這樣一個組。可以為此項目創建一個自定義 SQL Server 資料庫角色 CharityEvent,並將個別的 Windows NT 和 Windows 2000 用戶添加到此資料庫角色。當應用許可權後,資料庫角色中的用戶便獲得對表的訪問許可權。其它資料庫活動的許可權不受影響,只有 CharityEvent 用戶可以使用該項目表。
SQL Server 角色存在於一個資料庫中,不能跨多個資料庫。
使用資料庫角色的好處包括:
◆對於任何用戶,都可以隨時讓多個資料庫角色處於活動狀態。
◆如果所有用戶、組和角色都在當前資料庫中,則 SQL Server 角色可以包含 Windows NT 4.0 或 Windows 2000 組和用戶,以及 SQL Server 用戶和其它角色。
◆在同一資料庫中,一個用戶可屬於多個角色。
◆提供了可伸縮模型以便在資料庫中設置正確的安全級別。
說明 資料庫角色要麼在創建角色時由明確指定為所有者的用戶所擁有,要麼在未指定所有者時為創建角色的用戶所擁有。角色的所有者決定可以在角色中添加或刪除誰。

❽ mysql怎樣建立角色資料庫和怎樣為用戶分配角色

角色一個表,用戶一個表,在建一個表3個欄位id,角色表id,用戶表id,

用戶去選擇什麼樣的角色,,後台做一個創建角色的功能,更用戶來匹配

❾ Postgresql資料庫如何新建登錄用戶

我們使用Postgresql資料庫的時候,默認都是用postgres用戶進行數據操作。但是有時為了數據安全,我們會另外建一些賬號給相關的工作人員使用。那麼Postgresql資料庫中如何新建登錄用戶呢?下面我給大家分享一下。

工具/材料

pgAdmin4

  • 01

    首先打開Postgresql的管理工具pgAdmin4,接著雙擊伺服器名稱,如下圖所示

  • 02

    在彈出的Connect to Server界面中輸入postgres用戶的密碼,然後點擊OK按鈕,如下圖所示

  • 03

    進入到資料庫以後右鍵單擊"登錄/組角色"選項,選擇Create下面的Login/Group Role選項,如下圖所示

  • 04

    接下來會彈出創建登錄用戶的界面,我們先給用戶起一個名字,盡量是英文,如下圖所示

  • 05

    然後切換到Definition頁卡,給登錄用戶設置一個登錄密碼,如下圖所示,注意Connection limit要設置為-1

  • 06

    接著切換到Privileges界面,這里需要給登錄用戶設置一下操作許可權,大家可以根據自己的需要設置即可,如下圖所示

  • 07

    接下來切換到Membership頁卡,給登錄用戶設置一個角色,這里我直接把管理員的角色給它了,如下圖所示

  • 08

    上述設置完畢以後回到資料庫主界面,我們就可以看到"登錄/組角色"下面就已經有我們新建的登錄用戶了,如下圖所示

  • 09

    最後我們斷開當前的連接,用新建的用戶進行登錄,如果登錄正常的話則代表一切設置成功,如下圖所示

❿ sybase資料庫中怎樣創建角色並授予許可權

這個問題別人已經問過,且我已經回答了,你可以參考一下:

sybase資料庫的用戶,包含兩個層面:一個是登陸號,另一個是具體DB的用戶,我們登陸時,使用的是登錄號,但是這個登錄號可以操作哪些DB及操作許可權則取決於資料庫用戶。一般情況下,我們可以採取相同的名字來表示登錄號和資料庫用戶。

首先創建一個登陸號:
sp_addlogin loginame, passwd
loginame 登錄名
passwd 密碼
全部語法(一般不用到)為:
sp_addlogin loginame, passwd [, defdb]
[, deflanguage ] [, fullname ] [, passwdexp ]
[, minpwdlen ] [, maxfailedlogins ]

然後創建用戶:
sp_adser loginame
這樣創建當前資料庫的用戶,且用戶名和登陸名是一樣的。
全部語法為:
[dbname..]sp_adser loginame [, username[, grpname]]

最後分配許可權:
grant all | select,insert,delete,update
on table_name | view_name | stored_procere_name
to username

grant all | create database,create
default,create procere,create rule,create table,create view,set proxy,set session authorization
to username

例,假如當前DB為:DB001:
sp_addlogin 'test001','password001'
go
sp_adser 'test001', 'user001'
go
grant create table to user001
go

創建了一個test001的登錄名,之後為之創建一個當前資料庫的用戶,使這個登錄名可以操作當前資料庫。之後分配了創建表的許可權給user001。

這個時候你就可以使用用戶名'test001'和密碼'password001'登陸了,並且可以在DB001中創建表了。同時由於sp_adser 的時候沒有指定grpname參數,那麼默認是public用戶組,這個組里的用戶默認即開通了select/delete/update/insert的許可權。

如果你希望去掉一些許可權,請使用revoke命令,其語法了grant完全相同,你只需要將grant換成revoke即可,例:
revoke select on address to user001
禁止user001查看address表。

熱點內容
存儲盤櫃 發布:2025-07-08 04:30:51 瀏覽:883
電腦我的世界伺服器地址怎麼輸 發布:2025-07-08 04:28:33 瀏覽:646
js裁剪上傳 發布:2025-07-08 04:27:51 瀏覽:507
怎麼復制密碼欄的密碼安卓 發布:2025-07-08 04:27:47 瀏覽:9
jquery上傳多張圖片 發布:2025-07-08 04:26:44 瀏覽:824
python是腳本語言主要用作 發布:2025-07-08 04:25:54 瀏覽:762
安卓怎麼傳視頻 發布:2025-07-08 04:03:26 瀏覽:914
oracle測試sql 發布:2025-07-08 03:16:54 瀏覽:974
php壁紙源碼 發布:2025-07-08 03:04:26 瀏覽:321
android應用層 發布:2025-07-08 02:42:32 瀏覽:301