SQLServer創建用戶登錄

来源:https://www.cnblogs.com/vuenote/archive/2018/12/19/10143434.html
-Advertisement-
Play Games

創建用戶登錄註意事項 密碼是區分大小寫的。 只有創建SQL Server登錄時,才支持對密碼預先進行哈希運算。 如果指定MUST_CHANGE,則CHECK_EXPIRATION和 CHECK_POLICY必須設置為 ON。 否則,該語句將失敗。 不支持CHECK_POLICY=OFF和 CHECK ...


創建用戶登錄註意事項

密碼是區分大小寫的。

只有創建SQL Server登錄時,才支持對密碼預先進行哈希運算。

如果指定MUST_CHANGE,則CHECK_EXPIRATION和 CHECK_POLICY必須設置為 ON。 否則,該語句將失敗。

不支持CHECK_POLICY=OFF和 CHECK_EXPIRATION=ON的組合。

如果CHECK_POLICY設置為OFF,將對lockout_time進行重置,並將CHECK_EXPIRATION設置為OFF。

只有在Windows Server 2003及更高版本上才會強制執行CHECK_EXPIRATION 和 CHECK_POLICY。 

從證書或非對稱密鑰創建的登錄名僅用於代碼簽名。不能用於連接到 SQL Server。僅當master中已存在證書或非對稱密鑰時,才能從證書或非對稱密鑰創建登錄名。

有關用於傳輸登錄名的腳本,請參閱如何在 SQL Server 2005 和 SQL Server 2008 的實例之間傳輸登錄名和密碼。

自動創建登錄名將啟用新的登錄名,並授予它伺服器級CONNECT SQL 許可權。

伺服器的身份驗證模式必須匹配登錄名類型才能允許訪問。

有關設計許可權系統的信息,請參閱 Getting Started with Database Engine Permissions。

只有具有針對伺服器的ALTER ANY LOGIN許可權或securityadmin固定伺服器角色的成員身份的用戶才可創建登錄。

如果使用CREDENTIAL選項,則還需要對此伺服器的ALTER ANY CREDENTIAL許可權。

使用SSMS資料庫管理工具創建用戶登錄

1、連接資料庫-》展開安全性-》選擇登錄名-》選擇新建登錄名。

2、在登錄名-新建彈出框-》點擊常規-》輸入登錄名-》選擇sqlserver身份驗證-》輸入密碼-》選擇不強制實施密碼過期策略-》選擇預設資料庫-》選擇預設語言。

3、在登錄名-新建彈出框-》點擊伺服器角色-》選擇要向角色授予的安全特權。

4、在登錄名-新建彈出框-》點擊用戶映射-》選擇用戶可以登錄的資料庫-》選擇用戶擁有的登錄資料庫的許可權。

5、在登錄名-新建彈出框-》點擊安全對象-》點擊搜索添加安全對象-》安全對象添加完成後選擇安全對象許可權。

6、在登錄名-新建彈出框-》點擊狀態-》選擇預設即可。

7、點擊確定-》查看添加結果。

使用T-SQL腳本創建用戶登錄

語法

--聲明資料庫引用
use testss;
go

創建用戶登錄
create login login_name
with
password={ 'password' | hashed_password hashed }
[must_change][,]
[sid=0x14585E90117152449347750164BA00A7][,]
[default_database=database_name][,]
[default_language=language][,]
[check_expiration={ on | off }][,]
[check_policy={ on | off }][,]
[credential=credential_name]

語法註釋

--login_name
--指定創建的登錄名。有四種類型的登錄:SQLServer登錄、Windows登錄、證書映射登錄和非對稱密鑰映射登錄。
--在創建從Windows域帳戶映射的登錄名時,必須以[<domainName>\<login_name>]格式使用Windows 2000之前的用戶登錄名。
--不能使用login_name@DomainName格式的UPN。
--有關示例,請參閱本文後面的示例D。身份驗證登錄的類型為sysname,它必須符合標識符規則,且不能包含“\”。
--Windows登錄名可以包含“\”。Active Directory用戶的登錄名需少於21個字元。

--password='password*'
--僅適用於SQL Server登錄。指定正在創建的登錄名的密碼。應使用強密碼。
--有關詳細信息,請參閱強密碼和密碼策略。從SQL Server 2012 (11.x)開始,存儲的密碼信息使用 SHA-512 加鹽密碼進行計算。
--密碼是區分大小寫的。密碼應始終至少包含 8 個字元,並且不能超過128個字元。
--密碼可以包含 a-z、A-Z、0-9 和大多數非字母數字字元。 密碼不能包含單引號或 login_name。

--password=hashed_password
--僅適用於hashed關鍵字。指定要創建的登錄名的密碼的哈希值。
--hashed僅適用於SQL Server登錄。指定在password參數後輸入的密碼已經過哈希運算。
--如果未選擇此選項,則在將作為密碼輸入的字元串存儲到資料庫中之前,對其進行哈希運算。
--此選項應僅用於在伺服器之間遷移資料庫。切勿使用hashed選項創建新的登錄名。hashed選項不能用於SQL 7或更早版本創建的哈希。

--must_change
--僅適用於SQL Server登錄。如果包括此選項,則SQL Server將在首次使用新登錄時提示用戶輸入新密碼。

--sid=sid
--用於重新創建登錄名。僅適用於SQL Server身份驗證登錄,不適用於Windows身份驗證登錄。指定新SQL Server身份驗證登錄的sid。
--如果未使用此選項,SQL Server將自動分配sid。sid結構取決於SQL Server版本。 QL Server登錄sid:基於GUID的16 位元組(binary(16))文本值。 例如,sid 0x14585E90117152449347750164BA00A7。

--default_database=database
--指定將指派給登錄名的預設資料庫。如果未包括此選項,則預設資料庫將設置為master。

--default_language=language
--指定將指派給登錄名的預設語言。如果未包括此選項,則預設語言將設置為伺服器的當前預設語言。即使將來伺服器的預設語言發生更改,登錄名的預設語言也仍保持不變。

--check_expiration={ on | off }
--僅適用於SQL Server登錄。 指定是否應對此登錄帳戶強制實施密碼過期策略。 預設值為off。

--check_policy={ on | off }
--僅適用於SQL Server登錄。 指定應對此登錄強制實施運行SQL Server 電腦的 Windows 密碼策略。 預設值為on。
--如果 Windows 策略要求強密碼,密碼必須至少包含以下四個特點中的三個:
--大寫字元 (A-Z)。
--小寫字元 (a-z)。
--數字 (0-9)。
--一個非字母數字字元,如空格、、@、*、^、%、!、$、# 或 &。

--credential=credential_name
--將映射到新SQL Server登錄的憑據名稱。 該憑據必須已存在於伺服器中。當前此選項只將憑據鏈接到登錄名。憑據不能映射到系統管理員(sa)登錄名。

示例

--聲明資料庫引用
use testss;
go

--創建登錄用戶
create login testuser
with
password='123456',
--must_change,
--sid=0x14585E90117152449347750164BA00A7,
default_database=master,
--default_language=language,
check_expiration=off,
check_policy=off
--credential=[sysadmin]
go

--可以添加多個伺服器角色
--創建伺服器角色, 伺服器角色用於向用戶授權伺服器範圍內的安全特權
--alter server role [bulkadmin] add member testuser;
--go
--alter server role [dbcreator] add member testuser;
--go
--alter server role [diskadmin] add member testuser;
--go
--alter server role [processadmin] add member testuser;
--go
--alter server role [securityadmin] add member testuser;
--go
--alter server role [serveradmin] add member testuser;
--go
--alter server role [setupadmin] add member testuser;
--go
alter server role [sysadmin] add member testuser;
go


--創建用戶映射,映射到此登錄名的用戶
use [model]
go
create user testuser for login testuser;
go

--use [msdb]
--go
--create user testuser for login testuser;
--go

--use [ReportServer]
--go
--create user testuser for login testuser;
--go

--use [ReportServerTempDB]
--go
--create user testuser for login testuser;
--go

--use [tempdb]
--go
--create user testuser for login testuser;
--go

use [testss]
go
create user testuser for login testuser;
go

----創建用戶登錄資料庫
--use [master]
--go
--create user [testuser] for login [testuser];
--go

----創建用戶登錄多個資料庫
--use [testss]
--go
--create user [testuser] for login [testuser];
--go

----聲明資料庫應用
--use [testss]
--go

----授予不安全的程式集
--grant unsafe assembly to testuser;
--go

----授予查看伺服器狀態
--grant view server state to testuser;
--go

----授予查看任意定義
--grant view any definttion to testuser;
--go

----授予查看任意資料庫
--grant view any database to testuser;
--go

----授予創建DDL事件通知
--grant create ddl event notification to testuser;
--go

----授予創建端點
--grant create endpoint to testuser;
--go

----授予創建伺服器角色
--grant create server role to testuser;
--go

----授予創建跟蹤事件通知
--grant create trace event notification to testuser;
--go

----授予創建可用性組
--grant create availability group to testuser;
--go

----授予創建任意資料庫
--grant create any database to testuser;
--go

----授予更改伺服器狀態
--grant alter server state to testuser;
--go

----授予更改跟蹤
--grant alter trace to testuser;
--go

----授予更改任何伺服器角色
--grant alter any server role to testuser;
--go

----授予更改任何可用性組
--grant alter any availability group to testuser;
--go

----授予更改任意登錄名
--grant alter any login to testuser;
--go

----授予更改任意端點
--grant alter any endpoint to testuser;
--go

----授予更改任意伺服器審核
--grant alter any server audit to testuser;
--go

----授予更改任意許可權
--grant alter any connection to testuser;
--go

----授予更改任意連接伺服器
--grant alter any linked server to testuser;
--go

----授予更改任意憑據
--grant alter any credential to testuser;
--go

----授予更改任意事件會話
--grant alter any event session to testuser;
--go

----授予更改任意事件通知
--grant alter any event notification to testuser;
--go

----授予更改任意資料庫
--grant alter any database to testuser;
--go

----授予更改設置
--grant alter settings to testuser;
--go

----授予更改資源
--grant alter resources to testuser;
--go

----授予關閉
--grant shutdown to testuser;
--go

----授予管理大容量操作
--grant administer bulk operations to testuser;
--go

----授予控制伺服器
--grant control server to testuser;
--go

----授予連接SQL
--grant connect sql to testuser;
--go

----授予外部訪問程式集
--grant external access assembly to testuser;
--go

----授予驗證伺服器
--grant authenticate server to testuser;
--go

--設置是否允許連接到資料庫引擎
--deny connect sql to testuser;
--go
--是否允許登錄
--alter login testuser disable;
--go


----用戶狀態
----聲明預設資料庫引用
--use [testuser]
--go
----是否允許用戶連接到資料庫引擎
--deny connect sql to [testuser];
--go
----是否允許登錄
--alter login [testuser] disable
--go

示例結果

使用新創建的用戶名登錄

1、在對象資源管理器中-》點擊新建連接。

2、在連接到伺服器彈出框-》選擇sqlserver身份驗證-》輸入用戶名和密碼-》點擊連接。

3、查看結果。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • #配置完雙網卡後可以進行雙網卡綁定 mode是ifenslave的工作狀態(綁定模式) 模式0:平衡掄迴圈策略:傳輸數據包順序是依次傳輸,直到最後一個傳輸完畢,此模式提供負載平衡和容錯能力 模式1:主-備份策略:只有一個設備處於活動狀態。一個宕掉另一個馬上由備份轉換為主設備。MAC地址是外部可見的。 ...
  • . 在chrome 商店中搜索 secure shell , 安裝 Secure Shell Extension 2. 安裝完成後,就可以在應用程式中找到Secure Shell App 3.點擊 Secure Shell App ,就可以進入登陸界面。 4. 輸入賬號,地址就可以登陸了。 5.如果 ...
  • 一、命令介紹 chmod 命令,是Linux管理員最常用的命令之一,用於修改文件或目錄的訪問許可權。 Linux系統中,每一個文件都有文件所有者和所屬群組,並且規定文件的所有者,所屬群組,以及其他人隊問價有讀取(r), 可寫(w),執行(x)等許可權, 亦可分別用數字4、2、1 表示。 文件的可讀、可寫 ...
  • 1. root用戶查看防火牆狀態(非root用戶無許可權查看) 2.開啟和關閉防火牆 3.查看iptables 是否安裝 4.查看防火牆是否關閉 ...
  • #下載寶刷LEDE版系統後, 在上面安裝git包 opkg update opkg install git #安裝好後在將git倉庫裝到SD(TF)卡上 #用fdisk對SD 卡分區 #fdisk /dev/mmcblk0 #用mkfs.ext4 格式化分區, 這裡是第三個分區. 第一個分區設為了e ...
  • 1.按照同一順序訪問資料庫資源,上述例子就不會發生死鎖啦2.保持是事務的簡短,儘量不要讓一個事務處理過於複雜的讀寫操作。事務過於複雜,占用資源會增多,處理時間增長,容易與其它事務衝突,提升死鎖概率。3.儘量不要在事務中要求用戶響應,比如修改新增數據之後在完成整個事務的提交,這樣延長事務占用資源的時間 ...
  • Ubuntu 12.04上安裝 MongoDB並運行 作者:凱魯嘎吉 - 博客園 http://www.cnblogs.com/kailugaji/ 在Terminal輸入 結果顯示如下: 下載完成後,查看版本號 如果不行,執行下麵操作 然後在查看版本號即可。以下命令為啟動與關閉MongoDB。 以 ...
  • 公眾號:SAP Technical 本文作者:matinal 原文出處:http://www.cnblogs.com/SAPmatinal/ 原文鏈接:【HANA系列】SAP HANA XS的JavaScript API詳解 前言部分 本文介紹SAP HANA XS使用伺服器端JavaScript ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...