SQL如何创建用户

SQL如何创建用户,第1张

1 首先在 SQL Server 服务器级别,创建登陆帐户(create login)

--创建登陆帐户(create login)

create login dba with password='abcd1234@', default_database=mydb

登陆帐户名为:“dba”,登陆密码:abcd1234@”,默认连接到的数据库:“mydb”。 这时候,dba 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能 访问数据库中的对象(严格的说,此时 dba 帐户默认是 guest 数据库用户身份, 可以访问 guest 能够访问的数据库对象)。

要使 dba 帐户能够在 mydb 数据库中访问自己需要的对象, 需要在数据库 mydb 中建立一个“数据库用户”,赋予这个“数据库用户” 某些访问权限,并且把登陆帐户“dba” 和这个“数据库用户” 映射起来。 习惯上,“数据库用户” 的名字和 “登陆帐户”的名字相同,即:“dba”。 创建“数据库用户”和建立映射关系只需要一步即可完成:

2 创建数据库用户(create user):

--为登陆账户创建数据库用户(create user),在mydb数据库中的security中的user下可以找到新创建的dba

create user dba for login dba with default_schema=dbo

并指定数据库用户“dba” 的默认 schema 是“dbo”。这意味着 用户“dba” 在执行“select from t”,实际上执行的是 “select from dbot”。

3 通过加入数据库角色,赋予数据库用户“dba”权限:

--通过加入数据库角色,赋予数据库用户“db_owner”权限

exec sp_addrolemember 'db_owner', 'dba'

此时,dba 就可以全权管理数据库 mydb 中的对象了。

CREATE USER user_name

[ { { FOR | FROM }

{

LOGIN login_name

}

| WITHOUT LOGIN

}

]

[ WITH DEFAULT_SCHEMA = schema_name ]

[;]

-- SQL Database syntax when connected to a federation member

CREATE USER user_name

[;]

参数说明:

user_name

指定在此数据库中用于识别该用户的名称。 user_name 的数据类型为 sysname。 它的长度最多是 128 个字符。 在创建基于 Windows 主体的用户时,除非指定其他用户名,否则 Windows 主体名称将成为用户名。

LOGIN login_name

指定要为其创建数据库用户的登录名。 login_name 必须是服务器中的有效登录名。 可以是基于 Windows 主体(用户或组)的登录名,也可以是使用 SQL Server 身份验证的登录名。 当此 SQL Server 登录名进入数据库时,它将获取正在创建的这个数据库用户的名称和 ID。 在创建从 Windows 主体映射的登录名时,请使用格式 [<domainName>\<loginName>]。 有关示例,请参阅语法摘要。

如果 CREATE USER 语句是 SQL 批处理中唯一的语句,则 Windows Azure SQL Database 将支持 WITH LOGIN 子句。 如果 CREATE USER 语句不是 SQL 批处理中唯一的语句或在动态 SQL 中执行,则不支持 WITH LOGIN 子句。

WITH DEFAULT_SCHEMA = schema_name

指定服务器为此数据库用户解析对象名时将搜索的第一个架构。

windows_principal'

指定正为其创建数据库用户的 Windows 主体。 windows_principal 可以是 Windows 用户或 Windows 组。 即使 windows_principal 没有登录名,也将创建该用户。 连接 SQL Server 时,如果 windows_principal 没有登录名,Windows 主体必须通过有登录名的 Windows 组中的成员身份在数据库引擎中进行身份验证,或者连接字符串必须将包含数据库指定为初始目录。 在从 Windows 主体创建用户时,请使用格式 [<domainName>\<loginName>]。

楼主你好,你犯了一个错误,在SQL server中创建用户是这样的,create user database_user_name from sql_login_name。当你指定的sql_login_name与database_user_name 一样时才可以省略from字句,如果你没有创建sql_login_name而直接create user database_user_name 时就会提示错误'u1' 是无效登录名或您没有相应的权限。

解决方案,先创建一个登录名为u1,再用create user u1创建用户就可以了。

DBA用CREATE USER语句创建用户格式:CREATE USER userIDENTIFIED BY password范例:CREATE USER scottIDENTIFIED BY tiger使用系统权限一旦一个用户被创建,DBA能够授予指定的系统权限给一个用户格式:GRANT privileg [,privilege]TO user [,user |role ,PUBLIC];应用程序的开发者,例如,可能有下面典型的用户权限CREATE SESSIOIN 连接到数据库CREATE TABLE 在用户的方案中创建表CREATE SEQUENCE 在用户的方案中创建序列CREATE VIEW 在用户的方案中创视图CREATE PROCEDURE在用户的方案中创建存储过程,函数或包授予系统权限DBA能够授予用户指定的系统权限GRANT create session,create table, create sequence,create viewTO scott;创建角色并且授予权限给角色示例1、创建角色CREATE ROLE manager;2、授予权限给一个角色GRANT create table,create view TO manager;3、授予一个角色给用户GRANT manager TO DEHAAN,KOCHHAR;

用如下语句创建用户:

create user shopping identified by shopping--用户名为shopping,密码为shopping

default tablespace shopping --默认表空间为shopping

temporary tablespace shopping_temp; --默认临时表空间为shopping_temp

但一般创建用户后,需要赋予一定的权限:下边语句则是给shopping用户赋予connect,resource及dba权限。

grant connect,resource,dba to shopping;

Transact-SQL参考sp_adduser为当前数据库中的新用户添加安全帐户。包括此过程是为了向后兼容。请使用sp_grantdbaccess。语法sp_adduser[@loginame=]'login'[,[@name_in_db=]'user'][,[@grpname=]'group']参数[@loginame=]'login'用户的登录名称。login的数据类型是sysname,没有默认值。login必须是现有Microsoft®SQLServer™登录或MicrosoftWindowsNT®用户。[@name_in_db=]'user'新用户的名称。user的数据类型为sysname,其默认值为NULL。如果没有指定user,则用户的名称默认为login名称。指定user即为新用户在数据库中给予一个不同于SQLServer上的登录ID的名称。[@grpname=]'group'组或角色,新用户自动地成为其成员。group的数据类型为sysname,默认值为NULL。group必须是当前数据库中有效的组或角色。MicrosoftSQLServer70使用角色而不是组。返回代码值0(成功)或1(失败)注释SQLServer用户名可以包含1到128个字符,包括字母、符号和数字。但是,用户名不能:含有反斜线符号(/)。为NULL,或为空字符串('')。在添加完用户之后,可以使用GRANT、DENY和REVOKE语句来定义权限,这些权限控制着用户进行的活动。使用sp_helplogin可显示有效登录名的列表。使用sp_helprole可显示有效角色名的列表。当指定一个角色时,用户会自动地获得为该角色定义的那些权限。如果没有指定角色,则用户获得的权限将是授予默认public角色的权限。若要将用户添加到角色,必须提供username的值(username可与login_id相同)。为了访问数据库,必须使用sp_adduser或sp_grantdbaccess对登录授予访问权,或者数据库中必须存在guest安全帐户。不能在用户定义的事务内执行sp_adduser。权限只有sysadmin固定服务器角色的dbo和成员才能执行sp_adduser。示例A添加用户下面的示例使用现有的登录Victoria,将用户Victoria添加到当前数据库中现有的fort_mudge角色中。EXECsp_adduser'Victoria','Victoria','fort_mudge'B添加用户名(使用相同的登录ID)EXECsp_adduser'Margaret'C添加用户(使用不同的用户名)EXECsp_adduser'Haroldq','Harold','fort_mudge'sp_adduser[@loginame=]'login'

以上就是关于SQL如何创建用户全部的内容,包括:SQL如何创建用户、在sql server数据库新建用户的脚本怎么写、SQL创建用户create user等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9502056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存