⑴ sql嵌入式和授權有什麼區別
不必逐個地為每個用戶授予或撤銷特權。
組提供了一種便利的方法為一組用戶執行授權,而不必逐個地為每個用戶授予或撤銷特權。通常,動態SQL語句考慮組成員資格,但靜態SQL語句並非如此。
嵌入式SQL是一種將SQL語句直接寫入C語言,COBOL,FORTRAN,Ada等編程語言的源代碼中的方法。在嵌入式SQL中,為了能夠區分SQL語句與主語言語句,所以SQL語句都必須加前綴EXECSQL。SQL語句的結束標准則隨主語言的不同而不同。
⑵ 伺服器有帶sql 2014 oem授權么
SQL Server不同的版本有不同的功能,不僅價格頗有差異,獲得許可的方式也不盡相同。SQL Server有兩種基本的授權(License)模式。
一、「每處理器」或「每核」模式
「每處理器」(Per Processor)授權模式只計算物理處理器的數量,與物理處理器的內核數量無關。這種授權模式一直沿用到SQL Server 2008 R2。
SQL Server 2012開始,授權模式進行了調整。按「每核」(Per Core)計數,同時還需要計算物理處理器(插槽)的數量,單個插槽最低需要購買4核。
這一授權模式可以很好的簡化授權的復雜程度,不用統計有多少用戶(或者設備)會訪問SQL Server,以及是防火牆內部還是來自Internet的外部連接。
這種授權模式適用於以下場景:
(1)不能或不想計算用戶/設備數量。
(2)用戶/設備數量足夠多,「每處理器」或「每核」方式比「伺服器/客戶端訪問許可」的方式更有成本效益。
(3)SQL Server用於對外的Web站點或應用程序,用戶數量無法統計。
計算示例:
某台伺服器有 4 個CPU,每個CPU有10核,啟用了「超線程」,合計共有80個邏輯處理器。這台伺服器在2010年時購買SQL Server 2008 R2時購買了4個「每處理器」授權,這樣的授權覆蓋了這台伺服器所有的CPU。
硬體配置同上例,在2012年購買SQL Server 2012時需要購買40個「每核」授權。
某台伺服器有2個CPU,每個CPU只有2核。「每核」授權時,為了覆蓋全部的CPU,需要購買8個「每核」授權。因為每個CPU插槽最低需要購買4核。
某台伺服器有2個CPU,每個CPU有6核。「每核」授權時,為了覆蓋全部的CPU,需要購買12個「每核」授權。
二、「Server+CAL」模式
CAL即客戶端訪問許可(Client Access License),分為設備訪問許可(Device CAL)和用戶訪問許可(User CAL)兩類。SQL Server及其組件(例如報表服務)提供服務,客戶端則是訪問這些服務的設備或用戶。
購買CAL時需要考慮有多少客戶端需要訪問SQL Server並從中獲取數據,客戶端的計算方式與中間層無關,只與最終有多少客戶端能夠獲取(包括瀏覽、修改、刪除數據等)SQL Server伺服器中的數據有關。
在計算客戶端時,需要特別注意以下場景:
(1)前端多路復用(即用戶通過前端應用伺服器去連接後端SQL Server資料庫)或池化方式不會減少所需要的CAL數量。例如,企業中的客戶端不直接訪問SQL Server而是集中通過一台Web伺服器間接訪問,這時候仍應該為每個客戶端單獨購買CAL。
(2)員工和員工之間手工傳輸數據,對於接收方的員工不需要CAL。例如,一個員工訪問SQL Server並生成Excel版本的報表,然後發送給另一個員工,那麼接收Excel版本報表的員工不需要CAL(只要該Excel報表不再去訪問SQL Server服務)。
選用「Server+CAL」模式的用戶,需要在伺服器端采購SQL Server伺服器許可,並為客戶端購買CAL。每個客戶端只需要一份CAL就可以訪問本企業中數量不限的SQL Server資料庫。
這種授權模式適用於以下場景:
(1)可以計算出用戶、設備數量。
(2)用戶/設備數量足夠少,使用該授權模式的成本低於「每處理器」或「每核」模式。
(3)用戶需要訪問多個SQL Server資料庫。
⑶ SQL server 2000 授權給用戶
在用戶的屬性里。建立用戶用企業管理器或者sp_adser
建立帳戶:
sp_addlogin 'loginname','password'
sp_adser 'loginname','username'
至於許可權,SQL Server使用基於對象的許可權,需要對具體對象分別設置,假設有個表名為test,可以作如下設置:
grant select on 表名 to username
grant update on 表名 to username
deny delete on 表名 to username
⑷ 資料庫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;
⑸ 微軟sql server 2012 怎麼查詢授權
sql server 2012 怎麼查詢授權
右鍵點擊具體的資料庫,點擊「屬性」,再點擊「許可權」
在右側窗口添加用戶或角色,然後在最下面勾選具體的許可權
⑹ 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
⑺ SQL 授權問題
用戶1對用戶2授權select並可傳播授權,用戶2對用戶3授權select並可傳播授權,用戶3對用戶1授權select 構成一個循環授權了,這肯定是會出錯誤的了。
授權是可以成功,但是在撤銷授權過程中就會出現錯誤的。