A. 如何用語句新建sql登入用戶名及設定許可權
1. 首先在 SQL Server 伺服器級別,創建登陸帳戶(create login)
--創建登陸帳戶(create login)
create login dba with password='abcd1234@', default_database=mydb
登陸帳戶名為:「dba」,登陸密碼:abcd1234@」,默認連接到的資料庫:「mydb」。 這時候,dba 帳戶就可以連接到 SQL Server 伺服器上了。但是此時還不能 訪問資料庫中的對象(嚴格的說,此時 dba 帳戶默認是 guest 資料庫用戶身份, 可以訪問 guest 能夠訪問的資料庫對象)。
要使 dba 帳戶能夠在 mydb 資料庫中訪問自己需要的對象, 需要在資料庫 mydb 中建立一個「資料庫用戶」,賦予這個「資料庫用戶」 某些訪問許可權,並且把登陸帳戶「dba」 和這個「資料庫用戶」 映射起來。 習慣上,「資料庫用戶」 的名字和 「登陸帳戶」的名字相同,即:「dba」。 創建「資料庫用戶」和建立映射關系只需要一步即可完成:
2. 創建資料庫用戶(create user):
--為登陸賬戶創建資料庫用戶(create user),在mydb資料庫中的security中的user下可以找到新創建的dba
create user dba for login dba with default_schema=dbo
並指定資料庫用戶「dba」 的默認 schema 是「dbo」。這意味著 用戶「dba」 在執行「select * from t」,實際上執行的是 「select * from dbo.t」。
3. 通過加入資料庫角色,賦予資料庫用戶「dba」許可權:
--通過加入資料庫角色,賦予資料庫用戶「db_owner」許可權
exec sp_addrolemember 'db_owner', 'dba'
此時,dba 就可以全權管理資料庫 mydb 中的對象了。
如果想讓 SQL Server 登陸帳戶「dba」訪問多個資料庫,比如 mydb2。 可以讓 sa 執行下面的語句:
--讓 SQL Server 登陸帳戶「dba」訪問多個資料庫
use mydb2
go
create user dba for login dba with default_schema=dbo
go
exec sp_addrolemember 'db_owner', 'dba'
go
此時,dba 就可以有兩個資料庫 mydb, mydb2 的管理許可權了!
B. sql中如何用什麼語句給用戶授權
sql語言用grant語句向用戶授予操作許可權,grant語句的一般格式為:
grant
<許可權>[,<許可權>]...
[on
<對象類型>
<對象名>]
to
<用戶>[,<用戶>]...
[with
grant
option];
其語義為:將對指定操作對象的指定操作許可權授予指定的用戶。
不同類型的操作對象有不同的操作許可權,常見的操作許可權如表3-4所示。
表3-4
不同對象類型允許的操作許可權
對象
對象類型
操作許可權
屬性列
table
select,
insert,
update,
delete
all
privieges
視圖
table
select,
insert,
update,
delete
all
privieges
基本表
table
select,
insert,
update,
alter,
index,delete
all
privieges
資料庫
database
createtab
詳細信息…
接受許可權的用戶可以是一個或多個具體用戶,也可以是public即全體用戶。
如果指定了with
grant
option子句,則獲得某種許可權的用戶還可以把這種許可權再授予別的用戶。如果沒有指定with
grant
option子句,則獲得某種許可權的用戶只能使用該許可權,但不能傳播該許可權。
例1
把查詢student表許可權授給用戶u1
grant
select
on
table
student
to
u1;
例2
把對student表和course表的全部許可權授予用戶u2和u3
grant
all
priviliges
on
table
student,
course
to
u2,
u3;
例3
把對表sc的查詢許可權授予所有用戶
grant
select
on
table
sc
to
public;
例4
把查詢student表和修改學生學號的許可權授給用戶u4
詳細信息…
這里實際上要授予u4用戶的是對基本表student的select許可權和對屬性列sno的update許可權。授予關於屬性列的許可權時必須明確指出相應屬性列名。完成本授權操作的sql語句為:
grant
update(sno),
select
on
table
student
to
u4;
例5
把對表sc的insert許可權授予u5用戶,並允許他再將此許可權授予其他用戶
grant
insert
on
table
sc
to
u5
with
grant
option;
詳細信息…
執行此sql語句後,u5不僅擁有了對表sc的insert許可權,還可以傳播此許可權,即由u5用戶發上述grant命令給其他用戶。
例如u5可以將此許可權授予u6:
grant
insert
on
table
sc
to
u6
with
grant
option;
同樣,u6還可以將此許可權授予u7:
grant
insert
on
table
sc
to
u7;
因為u6未給u7傳播的許可權,因此u7不能再傳播此許可權。
例6
dba把在資料庫s_c中建立表的許可權授予用戶u8
grant
createtab
on
database
s_c
to
u8;
C. SQL2008新建用戶以及授權問題
問題一. 你添加用戶時,你的有沒有添加用戶的許可權,你是以什麼身份登陸的? 根據錯誤,你的沒有這個許可權問題二. ##MS_PolicyEventProcessingLogin## 事件處理帳戶, 內部使用 ##MS_PolicyTsqlExecutionLogin## TSQL 語句執行 帳戶 內部使用 NT SERVICE\MSQLSERVER 運行SQLSERVER服務的帳戶 NT Service\SQLServerAGENT 用來運行代理服務的賬戶,例如一些需要自動化處理的任務 sa 系統管理員(SQL) 九歌-PC\九歌 是的Windows賬戶名,也繼承到SQL里了
D. sql server怎麼給一個用戶授權資料庫
1.在運行 SQL Server 的計算機上,啟動 SQL Server Management Studio。 在「已注冊的伺服器」窗格中,雙擊「SQL Server」。
2.在對象資源管理器窗格中,展開「SQL Server」,展開「安全性」文件夾,右鍵單擊「登錄」,然後單擊「新建登錄」。
3.在「登錄名 - 新建」對話框中,指定 Windows 身份驗證或 SQL Server 身份驗證模式。
如果使用 Windows 身份驗證,請輸入登錄名,並選擇「允許訪問」或「拒絕訪問」選項。
如果使用 SQL Server 身份驗證,請鍵入登錄名和密碼,並確認密碼。
4.在左側窗格中,單擊「資料庫訪問」。
5. 在右側窗格中,對要授予訪問權的資料庫選中「允許」復選框,然後單擊「確定」。
https://technet.microsoft.com/zh-cn/zh-ch/library/ms172405(v=sql.105).aspx
http://www.cnblogs.com/xwdreamer/archive/2012/06/25/2562828.html
E. 增加用戶與分配許可權,SQL語句怎麼寫
增加用戶
-------------------------------------------------------------------------
USE master
GO
sp_addlogin @loginame = 'TempWorker', @password = 'fff', defdb = 'sales'
GO
USE sales
GO
sp_grantdbaccess 'TempWorker'
GO
許可權
-------------------------------------------------------------------------------------
GRANT
在安全系統中創建項目,使當前資料庫中的用戶得以處理當前資料庫中的數據或執行特定的 Transact-SQL 語句。
語法
語句許可權:
GRANT { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]
對象許可權:
GRANT
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ ( column [ ,...n ] ) ] ON { table | view }
| ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procere | extended_procere }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ WITH GRANT OPTION ]
[ AS { group | role } ]
示例
A. 授予語句許可權
下面的示例給用戶 Mary 和 John 以及 Windows NT 組 Corporate\BobJ 授予多個語句許可權。
GRANT CREATE DATABASE, CREATE TABLE
TO Mary, John, [Corporate\BobJ]
B. 在許可權層次中授予對象許可權
下例顯示許可權的優先順序。首先,給 public 角色授予 SELECT 許可權。然後,將特定的許可權授予用戶 Mary、John 和 Tom。於是這些用戶就有了對 authors 表的所有許可權。
USE pubs
GO
GRANT SELECT
ON authors
TO public
GO
GRANT INSERT, UPDATE, DELETE
ON authors
TO Mary, John, Tom
GO
C. 給 SQL Server 角色授予許可權
下面的示例將 CREATE TABLE 許可權授予 Accounting 角色的所有成員。
GRANT CREATE TABLE TO Accounting
D. 用 AS 選項授予許可權
用戶 Jean 擁有表 Plan_Data。Jean 將表 Plan_Data 的 SELECT 許可權授予 Accounting 角色(指定 WITH GRANT OPTION 子句)。用戶 Jill 是 Accounting 的成員,他要將表 Plan_Data 上的 SELECT 許可權授予用戶 Jack,Jack 不是 Accounting 的成員。
因為對表 Plan_Data 用 GRANT 語句授予其他用戶 SELECT 許可權的許可權是授予 Accounting 角色而不是顯式地授予 Jill,不能因為已授予 Accounting 角色中成員該許可權,而使 Jill 能夠授予表的許可權。Jill 必須用 AS 子句來獲得 Accounting 角色的授予許可權。
/* User Jean */
GRANT SELECT ON Plan_Data TO Accounting WITH GRANT OPTION
/* User Jill */
GRANT SELECT ON Plan_Data TO Jack AS Accounting
F. SQL 怎麼創建一個只有查詢資料庫用戶許可權呢
1.在資料庫本機用使用cmd指令調出命令行窗口,再用sqlplus/assysdba登錄到資料庫中。並且用對要賦許可權的表所有者連接資料庫,否則後續賦許可權會失敗。