如何在sql server中新建数据库用户账户

作者&投稿:顾薛 (若有异议请与网页底部的电邮联系)
~ 2.2 登录名
2.2.1 登录名
登录名是服务器级别的一个实体,用于登录到 SQL Server 实例。登录名的元数据保存在 master 数据库的 syslogins 表。
登录名包括以下2类:
(1) Windows 登录
SQL Server 将为 Windows 帐户创建一个 SID。客户端在登录 SQL Server 时使用的是 SQL Server 的登录名,而不是 Windows 帐户。当使用集成身份验证时,SQL Server 会自动查询当前实例中是否存在对应的登录名,验证通过后才完成连接。
(2) SQL 登录
如果 SQL Server 实例处于混合身份验证模式,那么可以创建当前实例自有的登录名。
2.2.2 新建 Windows 登录
在 SSMS 中展开“安全性”、“登录名”。在右键菜单中选择“新建登录名”。
默认的新建登录名是基于 Windows 身份验证。单击“登录名”文本框右侧的“搜索”按钮,搜索一个用户或组。
在“选择用户或组”对话窗口,默认的“对象类型”只有“内置安全主体”和“用户”两类。可以单击“对象类型”按钮并需要添加“组”类型。
可以单击“位置”按钮,从而在本地计算机或域(以及受信任的域)中进行搜索 Windows 对象。
在“输入要选择的对象名称”文本框中输入一个 Windows 对象名称。建议单击“检查名称”按钮,检查对象名称是否存在。如果同时有多个对象的名称都匹配了输入的字符,则需要从弹出的选择窗口中选择其中的一个对象。
T-SQL 语句示例如下:
USE [master]
GO
CREATE LOGIN [SQLSVR2014\LocalSqlUser] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
最佳实践:
对于域帐户,建议从域级别使用 AGDLP 策略可简化帐户管理。即使用 Windows 身份验证,在域级别创建 Windows 组(全局组、域本地组),然后在 SQL Server 上为整个组创建登录名。
2.2.3 新建 SQL 登录
如果新建的登录名是基本 SQL Server 身份验证,需要为新的登录名设置新的密码,同时为其指定密码策略。
密码策略有3个选项:
(1)强制实施密码策略
对 SQL Server 登录名强制实施计算机的 Windows 密码策略。这包括密码长度和密码复杂性。此功能仅在 Windows Server 2003 和更高版本中提供。在数据库实例所在的计算机打开“管理工具”中的“本地安全策略”,依次展开“安全设置”“帐户策略”,然后单击“密码策略”,密码策略将在结果窗格中所示。
如果取消了“强制实施密码策略”,则“强制密码过期”和“用户在下次登录时必须更改密码”选项都不可用。
(2)强制密码过期
对 SQL Server 登录名强制实施计算机的密码最长使用期限策略。
(3)用户在下次登录时必须更改密码
要求用户在下次连接时更改密码。更改密码的功能由 SSMS 提供。如果启用了“用户在下次登录时必须更改密码”选项,则第三方软件开发人员应提供此功能。
新建 SQL 登录名的 T-SQL 语句示例如下:
USE [master]
GO
CREATE LOGIN [SqlUser1] WITH PASSWORD=N'Password123' MUST_CHANGE, DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO
2.2.4 修改密码
对于 SQL 登录名,可以在 SSMS 中重置密码。
T-SQL 语句示例如下:
USE [master]
GO
Alter Login [sa] with password='newpassword'
GO
如果指定旧密码,T-SQL 语句示例如下:
USE [master]
GO
Alter Login [sa] with password='newpassword' old_password='oldpassword'
GO
可以使用 HASHED 参数加密密码字符。
ALTER LOGIN [SqlUser1] WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO
提示:
不推荐执行 sp_password 存储过程修改密码。
2.2.5 修改登录名的状态
状态包括了两类设置:是否允许连接到数据库引擎;是否已启用登录。
如果在安装过程中选择 Windows 身份验证,则安装程序仍然会为 SQL Server 身份验证创建 sa 帐户,但会禁用该帐户。如果稍后更改为混合模式身份验证,则 sa 登录名仍处于禁用状态。如果需要使用 sa 帐户,则必须启用 sa 登录名并分配一个新密码。
USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD = 'Password123'
GO
ALTER LOGIN [sa] ENABLE
GO
提示:
由于 sa 帐户广为人知且经常成为恶意用户的攻击目标,因此除非应用程序需要使用 sa 帐户,否则请勿启用该帐户。切勿为 sa 帐户设置空密码或弱密码。
2.2.6 解锁登录名
如果为SQL 登录名启用了“强制密码策略”,可能会在某些场景中被锁住该登录名导致无法登录。
可以为该登录名在重设密码后再解锁。
ALTER LOGIN [SqlUser1] WITH PASSWORD = 'P@ssw0rd' UNLOCK ;
GO
如果不需要更改密码,则可以通过关闭密码策略并再次打开的方法解锁该登录名。
ALTER LOGIN [SqlUser1] WITH CHECK_POLICY = OFF;
ALTER LOGIN [SqlUser1] WITH CHECK_POLICY = ON;
GO
2.2.7 删除登录名
在 SSMS 中可以直接删除某个登录名。在删除之前,请确保该登录名当前没有登录到数据库引擎,否则删除登录名失败。
T-SQL 语句示例如下:
USE [master]
GO
DROP LOGIN [SqlUser1]
GO
2.4 数据库用户
2.4.1 数据库用户
用户是数据库级别的安全主体,用于对数据库对象进行授权。
登录名仅用于登录到 SQL Server 实例,用户则是一个或多个登录名在数据库中的映射以便为登录名提供对数据库的访问。创建登录名时会默认将其映射为数据库的用户。
在安装 SQL Server 后,数据库有以下4个默认的用户,不可以修改或删除这些默认的用户。
(1) dbo
通常 sa 登录名、sysadmin 角色的成员、数据库的拥有者被映射为 dbo 用户。
(2) guest
数据库的 guest 用户默认为 public 服务器角色。仅允许登录到 SQL Server 实例,但不能访问数据库。这个用户类似于 Windows 的 everyone 帐户。在用户数据库中,默认被禁用。如果为其授予 CONNECT 权限,则可以启用 guest 用户。
(3) INFORMATION_SCHEMA
在用户数据库中,默认被禁用。
(4) sys
在用户数据库中,默认被禁用。
2.4.2 基于登录名的用户
最常见的用户是基于 master 数据库中登录名的用户,有以下一些具体的类型。
(1)基于 Windows 用户的登录名的用户。
(2)基于 Windows 组的登录名的用户。
(3)基于 Windows 组成员的登录名的用户。这类 Windows 主体可以没有登录名,但可以通过 Windows 组(包括嵌套的组)中的成员身份连接到数据库引擎。
(4)基于使用 SQL Server 身份验证的登录名的用户。
通过 SSMS 可以创建“Windows 用户”(必须带登录名)或者“带登录名的 SQL 用户”。
T-SQL 语法示例如下:
CREATE USER [Domain1\WindowsUser1]
CREATE USER [Domain1\WindowsUserBarry] FOR LOGIN Domain1\WindowsUser1
CREATE USER [Domain1\WindowsGroupManagers]
CREATE USER [Domain1\WindowsGroupManagers] FOR LOGIN [Domain1\WindowsGroupManagers]
CREATE USER SQLAUTHLOGIN1
CREATE USER SQLAUTHLOGIN1 FOR LOGIN SQLAUTHLOGIN1
CREATE USER 语句中, FOR 子句与 FROM 子句可以相互替代。以下语句具有相同的作用。
CREATE USER [Domain1\WindowsUser1] FOR LOGIN Domain1\WindowsUser1
CREATE USER [Domain1\WindowsUser1] FROM LOGIN Domain1\WindowsUser1
2.4.3 包含数据库的用户
SQL Server 2012 引入了包含数据库。在包含数据库中,可以直接在数据库级别进行身份验证(绕过服务器级别),而无需在服务器级别创建登录名。包括基于无登录名的 “Windows 用户”(或 Windows 组用户)、“带密码的 SQL 用户”。
T-SQL 语法示例如下:
CREATE USER [Domain1\WindowsUser1]
CREATE USER [Domain1\WindowsGroupManagers]
CREATE USER DbUser1 WITH PASSWORD = 'Password123'
在创建此类用户时,不仅授予用户对当前数据库的访问权限,并且还将授予对数据库引擎的新访问权限。但是在登录到数据库引擎时必须指定连接的数据库名称,否则登录失败。例如,在 SSMS 的“连接到服务器”对话窗口,必须单击“选项”按钮,然后在“连接属性”选项卡中为“连接到数据库”指定数据库名称。

添加一个管理员账户,在控制面板用户类型改为管理员账户类型就行。




渭滨区19593777061: 怎样使用SQL SERVER新建立一个数据库 -
郭狠富马: 方法/步骤1 首先我们打开SQL SERVER自带的数据库管理工具,从开始菜单中可以找到,如图点击进去;2 开始连接SQL SERVER服务器,就是我们装好的SQL SERVER 服务器;3 右击数据库,选择第一个,新建一个数据库;4 填写数据库的...

渭滨区19593777061: SQL Server 2008中怎么创建数据库 -
郭狠富马: 创建步骤如下: 1,选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接. 2,在【对象资...

渭滨区19593777061: 怎样实用程序在SQl server 中创建数据库 -
郭狠富马: 1、选择开始菜单中→程序→【Management SQLServer 2008】→【SQL ServerManagement Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接.2、在【对象资源管理器】窗口中...

渭滨区19593777061: 如何在Microsoft SQL Server 2000里创建数据库 -
郭狠富马: 在SQL企业管理器中,选择数据库,点击右键'新建数据库' 填写数据库名称 设置数据库及日志存储路径 即可完成新建数据库

渭滨区19593777061: 如何在SQL server2005中新建数据库 -
郭狠富马: 启动Management Studio,登录服务器.方法1在Management Studio对象窗口中,找到数据库右击,选择“新建数据库”.方法2在查询窗口中输入建库命令执行,最简单的建库命令是:“create database 库名”.此命令是参照系统数据msdb建立数据库.

渭滨区19593777061: 怎么在SQL SERVER2000中新建一个数据库??? -
郭狠富马: 【开始】-【程序】-【SQL数据库】-【企业管理器】打开SQL的企业管理器,打开树目录,在“数据库”点击右键,再点击-新建数据库,然后按要求一步步进行.

渭滨区19593777061: 用SQL server怎么来建立一个新库. -
郭狠富马: 方法一:点击SQL企业管理器,然后单击左边控制台根栏目中的加号,让其一直展开到显示“数据库”,右键点击“数据库”,选择新建数据库,然后根据提示进行就行.方法二: 在代码中使用SQL的脚本建库:可以将SQL语句写于资源文...

渭滨区19593777061: sql如何新建数据库 -
郭狠富马: SQL2000 在开始-程序- MICROSOFT SQLSERVER- 企业管理器 界面下打开控制台根目录下的所有+号展开到(LOCAL)(WINDOWS NT),它下面有+数据库,+数据转换服务...等等,你在“数据库”右键点“新建数据库” 就可以了 SQL2005 》...

渭滨区19593777061: 如何在sqlserver建立新用户并关联相应的数据库 -
郭狠富马: --SQLServer:一、操作步骤首先进入数据库级别的【安全性】-【登录名】-【新建登录名】(图1:新建登录名)2.在【常规】选项卡中,如下图所示,创建登陆名,并设置默认的数据库.(图2:设置选项)3.在【用户映射】选项卡中,如下图...

渭滨区19593777061: 怎样在sql server中建表 -
郭狠富马: 首先要打开“服务管理器”(“开始”->“Microsoft SQL Server”默认安装路径)然后打开“企业管理器”.“操作”--新建数据库.依次展开左侧的目录,点击“表”,”.“操作”--新建表.最后填写字段名称就可以了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网