SQL?Server創(chuàng)建用戶并授權(quán)的詳細(xì)步驟記錄
前言
創(chuàng)建用戶前需要有一個數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫命令如下:
CREATE DATABASE [數(shù)據(jù)庫名稱];
CREATE DATABASE database1;
一、創(chuàng)建登錄用戶
方式1:SQL命令
命令格式:CREATE LOGIN [用戶名] WITH PASSWORD = '密碼';
例如,創(chuàng)建登錄用戶名sa1,密碼123456 的用戶,命令如下:
CREATE LOGIN [sa1] WITH PASSWORD = '123456'
方式2:使用SSMS創(chuàng)建
選擇管理員賬戶--【安全性】--【登錄名】--右鍵--【新建登錄名】


二、數(shù)據(jù)庫中創(chuàng)建用戶
方式1:SQL命令
命令格式:USE [數(shù)據(jù)庫名稱];
CREATE USER [用戶名] FOR LOGIN [用戶名];
例如,在數(shù)據(jù)庫BLSH中創(chuàng)建用戶sa1,命令如下:
USE BLSH CREATE USER sa1
方式2:使用SSMS創(chuàng)建
選擇要創(chuàng)建用戶的數(shù)據(jù)庫--【安全性】--【用戶】--右鍵--【新建用戶】
例如,在數(shù)據(jù)庫test中創(chuàng)建用戶sa1,操作如下:


三、給用戶授權(quán)
方式1:SQL命令
使用 GRANT 命令來授予相應(yīng)的權(quán)限,使用REVOKE命令來撤銷相應(yīng)的權(quán)限
授權(quán)對表的 SELECT, INSERT, UPDATE 和 DELETE 權(quán)限格式:
USE [數(shù)據(jù)庫名稱];
GRANT [權(quán)限] ON [表名] TO [用戶名];
-- 授權(quán)對表的 SELECT, INSERT, UPDATE 和 DELETE 權(quán)限
GRANT SELECT, INSERT, UPDATE, DELETE ON dt_users TO sa1;
-- 對存儲過程授予執(zhí)行權(quán)限
GRANT EXECUTE ON YourStoredProcedure TO sa1;
-- 撤銷對表的 SELECT, INSERT, UPDATE 和 DELETE 權(quán)限
REVOKE SELECT, INSERT, UPDATE, DELETE ON dt_users FROM sa1;
-- 撤銷對存儲過程的執(zhí)行權(quán)限
REVOKE EXECUTE ON YourStoredProcedure FROM sa1;
-- 撤銷創(chuàng)建表的權(quán)限
REVOKE CREATE TABLE FROM sa1;
-- 撤銷創(chuàng)建視圖的權(quán)限
REVOKE CREATE VIEW FROM sa1;
-- 撤銷連接數(shù)據(jù)庫的權(quán)限
REVOKE CONNECT FROM sa1;
-- 查詢用戶當(dāng)前權(quán)限
SELECT * FROM sys.database_permissions WHERE grantee_principal_id = USER_ID('sa1');方式2:使用SSMS創(chuàng)建
* 對整個數(shù)據(jù)庫授權(quán)
選擇管理員用戶--【安全性】--【登錄名】--在要授權(quán)的登錄名上右鍵--【屬性】
例如,給sa1賬戶授予test數(shù)據(jù)庫所有用戶表的查詢權(quán)限,操作如下:



注:public為可以連接該數(shù)據(jù)庫,db_datareader為可以讀取該數(shù)據(jù)庫的數(shù)據(jù),其他數(shù)據(jù)庫角色含義請點擊查看數(shù)據(jù)庫角色含義
* 對數(shù)據(jù)庫表單獨授權(quán)
選擇要授權(quán)的數(shù)據(jù)庫--【安全性】--【用戶】--在要授權(quán)的用戶上右鍵--【屬性】
例如,給sa1_1用戶授予test數(shù)據(jù)庫CRM_Shops表的查詢權(quán)限,操作如下:



查詢表時出現(xiàn)以下提示表示沒有查詢權(quán)限:

操作數(shù)據(jù)庫時出現(xiàn)以下提示表示沒有給該用戶開通此數(shù)據(jù)庫的任何權(quán)限:

總結(jié)
到此這篇關(guān)于SQL Server創(chuàng)建用戶并授權(quán)的文章就介紹到這了,更多相關(guān)SQLServer創(chuàng)建用戶授權(quán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
動態(tài)SQL中返回數(shù)值的實現(xiàn)代碼
最近在做一個paypal抓取數(shù)據(jù)的程序,由于所有字段和paypal之間存在對應(yīng)映射的關(guān)系,所以所有的sql語句必須得拼接傳到存儲過程里去執(zhí)行2011-12-12
SQL?Server使用SELECT?INTO實現(xiàn)表備份的代碼示例
在數(shù)據(jù)庫管理過程中,有時我們需要對表進(jìn)行備份,以防數(shù)據(jù)丟失或修改錯誤,在?SQL?Server?中,可以使用?SELECT?INTO?語句將數(shù)據(jù)從一個表備份到另一個表,本文通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01
拯救你的數(shù)據(jù) 通過日志恢復(fù)MSSQL數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何通過日志恢復(fù)MSSQL數(shù)據(jù)的具體步驟,感興趣的小伙伴們可以參考一下2016-05-05
SQL性能優(yōu)化之定位網(wǎng)絡(luò)性能問題的方法(DEMO)
這篇文章主要介紹了SQL性能優(yōu)化之定位網(wǎng)絡(luò)性能問題的方法的相關(guān)資料,需要的朋友可以參考下2016-04-04
SQL 中 CASE WHEN 及 SELECT CASE&
CASE WHEN是SQL中非常實用的條件表達(dá)式,它允許你在查詢中實現(xiàn)條件邏輯,本文給大家介紹SQL中CASE WHEN及SELECT CASE WHEN的用法,感興趣的朋友一起看看吧2025-10-10
SQL SERVER中各類觸發(fā)器的完整語法及參數(shù)說明
這篇文章主要介紹了SQL SERVER中各類觸發(fā)器的完整語法及參數(shù),需要的朋友可以收藏下2013-08-08

