當前位置:首頁 » 編程語言 » sqlserver2005用戶許可權

sqlserver2005用戶許可權

發布時間: 2024-12-19 12:52:20

A. 在sql SERVER 2005中如何給某個用戶分配執行存儲過程的許可權

打開 management studio,選擇要操作的資料庫-->安全性-->用戶,選擇用戶,右擊,屬性-->安全類型->添加許可權-->特定類型的所有對象,選擇 存儲過程,點擊確認後,分配可以分配的 許可權,有 control\alter\exeute etc.。之前要創建好用戶,並給予登錄的許可權。

B. 如何設置SQL Server登錄的默認資料庫和許可權。

sql server2005安全管理之用戶、角色、架構 與 許可權
2008-12-04 16:47
--打開資料庫
Use databaseName

--創建角色
create role ProgramerRole

--用於創建表 存儲過程 視圖
grant create table,create procere,create view to ProgramerRole

--execute用以執行存儲過程,alter用以創建、修改存儲過程和視圖,
--並可以新建立表,但不能修改表,但也可以刪除表和對表改名了
grant select,insert,execute,alter on schema::dbo to ProgramerRole

--用於允許用戶查看 顯示估計的執行計劃(081205)
grant showplan to ProgramerRole

--創建登錄賬號
--create login username with password='password'
--創建資料庫用戶
create user username for login username

--將用戶TestUser添加到TestRole角色中
exec sp_addrolemember 'ProgramerRole','username '

--執行Sql Server Profiler是伺服器級許可權,所以在master庫中授權
USE master;grant alter trace to auto;

註:據庫引擎優化顧問必須由具有系統管理員許可權的用戶進行初始化。在具有系統管理員許可權的用戶對資料庫引擎優化顧問進行初始化之後,任何是 db_owner 固定資料庫角色成員的用戶,都可以使用資料庫引擎優化顧問來優化他們擁有的資料庫上的表。
詳優化物理資料庫設計http://msdn.microsoft.com/zh-cn/library/ms191531(SQL.90).aspx

參考資料:
用戶架構分離:http://msdn.microsoft.com/zh-cn/library/ms190387(SQL.90).aspx
資料庫架構是一個獨立於資料庫用戶的非重復命名空間。您可以將架構視為對象的容器
主體:http://msdn.microsoft.com/zh-cn/library/ms181127(SQL.90).aspx
是可以請求 SQL Server 資源的實體

Windows 級別的主體

Windows 域登錄名
Windows 本地登錄名
SQL Server 級的主體

SQL Server 登錄名
資料庫級的主體

資料庫用戶
資料庫角色
應用程序角色
安全對象:http://msdn.microsoft.com/zh-cn/library/ms190401(SQL.90).aspx
安全對象是 SQL Server 資料庫引擎 授權系統控制對其進行訪問的資源
安全對象范圍有伺服器、資料庫和架構
安全對象范圍:伺服器包含以下安全對象:
端點
登錄帳戶
資料庫

安全對象范圍:資料庫包含以下安全對象:
用戶
角色
應用程序角色
程序集
消息類型
路由
服務
遠程服務綁定
全文目錄
證書
非對稱密鑰
對稱密鑰
約定
架構

安全對象范圍:架構包含以下安全對象:
類型
XML 架構集合
對象

對象 下面是對象類的成員:
聚合
約束
函數
過程
隊列
統計信息
同義詞

視圖

架構:http://msdn.microsoft.com/zh-cn/library/ms365789(SQL.90).aspx
架構是指包含表、視圖、過程等的容器。它位於資料庫內部,而資料庫位於伺服器內部
特定架構中的每個安全對象都必須有唯一的名稱。架構中安全對象的完全指定名稱包括此安全對象所在的架構的名稱。因此,架構也是命名空間

許可權:http://msdn.microsoft.com/zh-cn/library/ms190387(SQL.90).aspx
每個 SQL Server 2005 安全對象都有可以授予主體的關聯許可權

資料庫級別的角色:http://msdn.microsoft.com/zh-cn/library/ms189121(SQL.90).aspx
固定資料庫角色是在資料庫級別定義的,並且存在於每個資料庫中。db_owner 和 db_securityadmin 資料庫角色的成員可以管理固定資料庫角色成員身份;但是,只有 db_owner 資料庫的成員可以向 db_owner 固定資料庫角色中添加成員。
每個資料庫用戶都屬於 public 資料庫角色。當尚未對某個用戶授予或拒絕對安全對象的特定許可權時,則該用戶將繼承授予該安全對象的 public 角色的許可權
伺服器級別角色:http://msdn.microsoft.com/zh-cn/library/ms188659(SQL.90).aspx
固定伺服器角色在其作用域內屬於伺服器范圍。固定伺服器角色的每個成員都可以向其所屬角色添加其他登錄名。

GRANT 架構許可權:http://msdn.microsoft.com/zh-cn/library/ms187940(SQL.90).aspx

如何配置用戶以創建和管理 SQL Server 代理作業 http://msdn.microsoft.com/zh-cn/library/ms187901.aspx

若要配置用戶以創建或執行 Microsoft SQL Server 代理作業,必須先將某個現有 SQL Server 登錄名或 msdb 角色添加到 msdb 資料庫中的下列 SQL Server 代理固定資料庫角色之一:SQLAgentUserRole、SQLAgentReaderRole 或 SQLAgentOperatorRole。

默認情況下,這些資料庫角色的成員可以創建各自的作業步驟,這些作業步驟不執行其他作業步驟。如果這些非管理用戶要運行那些執行其他作業步驟類型(例如,SSIS 包)的作業,它們需要對代理帳戶具有訪問許可權。sysadmin 固定伺服器角色的所有成員都有創建、修改和刪除代理帳戶的許可權

為具體的用戶設置具體的訪問許可權 收藏
use 你的庫名
go

--新增用戶
exec sp_addlogin 'test' --添加登錄
exec sp_grantdbaccess N'test' --使其成為當前資料庫的合法用戶
exec sp_addrolemember N'db_owner', N'test' --授予對自己資料庫的所有許可權

--這樣創建的用戶就只能訪問自己的資料庫,及資料庫中包含了guest用戶的公共表
go

--刪除測試用戶
exec sp_revokedbaccess N'test' --移除對資料庫的訪問許可權
exec sp_droplogin N'test' --刪除登錄

如果在企業管理器中創建的話,就用:

企業管理器--安全性--右鍵登錄--新建登錄

常規項
--名稱中輸入用戶名
--身份驗證方式根據你的需要選擇(如果是使用windows身份驗證,則要先在操作系統的用戶中新建用戶)
--默認設置中,選擇你新建的用戶要訪問的資料庫名

伺服器角色項
這個裡面不要選擇任何東西

資料庫訪問項
勾選你創建的用戶需要訪問的資料庫名
資料庫角色中允許,勾選"public","db_ownew"

確定,這樣建好的用戶與上面語句建立的用戶一樣
---------------------------------------------------------------------------

最後一步,為具體的用戶設置具體的訪問許可權,這個可以參考下面的最簡示例:

--添加只允許訪問指定表的用戶:
exec sp_addlogin '用戶名','密碼','默認資料庫名'

--添加到資料庫
exec sp_grantdbaccess '用戶名'

--分配整表許可權
GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用戶名]

--分配許可權到具體的列
GRANT SELECT , UPDATE ON table1(id,AA) TO [用戶名]

C. 在MSSQL SERVER2005中,如何給用戶授予只有創建表、沒有刪除表及修改表結構的許可權

有創建表Create table許可權,隱含Alter。
樓主 的需求只能通過DB 觸發器控制
go--舉個例子

USE [master]
GO
CREATE LOGIN [Roy] WITH PASSWORD=N'1', DEFAULT_DATABASE=[Test], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [Test]
GO
CREATE USER [Roy] FOR LOGIN [Roy]
GO
USE [Test]
GO
/****** 物件: Schema [Roy] 指令碼日期: 08/19/2011 09:46:15 ******/
CREATE SCHEMA [Roy] AUTHORIZATION [Roy]
go
use [Test]
GO
GRANT CREATE TABLE TO [Roy]
GO

CREATE TRIGGER tr_DBDropTable ON DATABASE
FOR DROP_TABLE,ALTER_TABLE
AS
IF ORIGINAL_LOGIN()='Roy'
BEGIN
PRINT '沒許可權執行 DROP TABLE'
ROLLBACK
end

GO

--以下測試,用登陸用戶Roy

go
CREATE TABLE Roy.Roy(ID int)
GO
SELECT SUSER_NAME(), USER_NAME();

DROP TABLE Roy.Roy
/*
沒許可權執行 DROP TABLE
訊息 3609,層級 16,狀態 2,行 2
交易在觸發程序中結束。已中止批次。
*/

D. SQL Server 2005 鐢ㄦ埛鏉冮檺璁劇疆

create 鏉冮檺[on 琛ㄥ悕] to 鏁版嵁搴撶敤鎴
姣斿傝達細
use sutDB
go
--涓簔hangsanDBUser鍒嗛厤瀵硅〃studInfo鐨剆elect銆乮nsert銆乽pdate鏉冮檺
create select,insert,update on studInfo to zhangsanDBuser
--涓簂isiDBUser 鍒嗛厤寤鴻〃鐨勬潈闄
create create table to lisiDBUser
鑷充簬浣犺淬傝佽╀笉鍚岀殑鐧誨綍鍚嶇湅瑙佷粬鑷宸卞簲璇ョ湅瑙佺殑琛ㄣ傚叾鏁綆浠栫殑琛ㄧ湅涓嶈併傝繖涓涓嶅彲鑳界殑銆備絾鏄瀵硅佹棶浜庡叾浠栫殑琛ㄤ粬鏍逛寒鍚瑁ゆ湰娌℃湁璁塊棶鏉冪殑銆備綘榪炴帴鐨勬槸鍚屼竴涓瀹炰緥鍚嶃傛墍鏈夌殑琛ㄩ兘鍦ㄩ噷闈㈢殑銆傛墍浠ラ兘鍙浠ョ湅寰楄侊紝瑕佹槸鍒浜烘潵榪炴帴浣犵殑鏁版嵁搴撱傞偅灝卞彧瑕佺粰浜堟潈闄愬氨琛屼簡鐨勩

熱點內容
安卓玩王者為什麼沒有取消鍵 發布:2024-12-19 15:41:43 瀏覽:689
充氣泥解壓 發布:2024-12-19 15:41:33 瀏覽:550
數控編程工資一般多少 發布:2024-12-19 15:36:37 瀏覽:553
安卓手機怎麼添加鈴聲 發布:2024-12-19 15:35:46 瀏覽:395
太生氣了如何情緒解壓 發布:2024-12-19 15:31:51 瀏覽:199
登錄驗證源碼 發布:2024-12-19 15:21:27 瀏覽:849
雅閣買哪些配置 發布:2024-12-19 15:16:09 瀏覽:502
存儲空間有限無法捕獲屏幕截圖 發布:2024-12-19 15:09:53 瀏覽:504
安卓怎麼改拍一拍內容 發布:2024-12-19 15:09:53 瀏覽:868
派單腳本 發布:2024-12-19 15:09:52 瀏覽:261