TransactSQL 命令Word文件下载.docx

上传人:b****4 文档编号:8244775 上传时间:2023-05-10 格式:DOCX 页数:8 大小:18.99KB
下载 相关 举报
TransactSQL 命令Word文件下载.docx_第1页
第1页 / 共8页
TransactSQL 命令Word文件下载.docx_第2页
第2页 / 共8页
TransactSQL 命令Word文件下载.docx_第3页
第3页 / 共8页
TransactSQL 命令Word文件下载.docx_第4页
第4页 / 共8页
TransactSQL 命令Word文件下载.docx_第5页
第5页 / 共8页
TransactSQL 命令Word文件下载.docx_第6页
第6页 / 共8页
TransactSQL 命令Word文件下载.docx_第7页
第7页 / 共8页
TransactSQL 命令Word文件下载.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

TransactSQL 命令Word文件下载.docx

《TransactSQL 命令Word文件下载.docx》由会员分享,可在线阅读,更多相关《TransactSQL 命令Word文件下载.docx(8页珍藏版)》请在冰点文库上搜索。

TransactSQL 命令Word文件下载.docx

参数

[@loginame=]'

登录的名称。

login的数据类型为sysname,没有默认设置。

[@passwd=]'

登录密码。

password的数据类型为sysname,默认设置为NULL。

sp_addlogin执行后,password被加密并存储在系统表中。

[@defdb=]'

登录的默认数据库(登录后登录所连接到的数据库)。

database的数据类型为sysname,默认设置为master。

[@deflanguage=]'

用户登录到SQLServer时系统指派的默认语言。

language的数据类型为sysname,默认设置为NULL。

如果没有指定language,那么language被设置为服务器当前的默认语言(由sp_configure配置变量defaultlanguage定义)。

更改服务器的默认语言不会更改现有登录的默认语言。

language保持与添加登录时所使用的默认语言相同。

[@sid=]sid

安全标识号(SID)。

sid的数据类型为varbinary(16),默认设置为NULL。

如果sid为NULL,则系统为新登录生成SID。

尽管使用varbinary数据类型,非NULL的值也必须正好为16个字节长度,且不能事先存在。

SID很有用,例如,如果要编写SQLServer登录脚本,或要将SQLServer登录从一台服务器移动到另一台,并且希望登录在服务器间具有相同的SID时。

[@encryptopt=]'

指定当密码存储在系统表中时,密码是否要加密。

encryption_option的数据类型为varchar(20),可以是下列值之一。

描述

NULL

加密密码。

这是默认设置。

skip_encryption

密码已加密。

SQLServer应该存储值而且不用重新对其加密。

skip_encryption_old

已提供的密码由SQLServer较早版本加密。

此选项只供升级使用。

返回代码值

0(成功)或1(失败)

注释

SQLServer登录和密码可包含1到128个字符,包括任何字母、符号和数字。

但是,登录不能:

∙含有反斜线(\)。

∙是保留的登录名称,例如sa或public,或者已经存在。

∙为NULL,或为空字符串('

'

)。

如果提供默认数据库的名称,则不用执行USE语句就可以连接到指定的数据库。

但是,不能使用默认的数据库,直到数据库所有者(使用sp_adduser或sp_addrolemember)或sp_addrole授予对该数据库的访问权限为止。

SID号是唯一的MicrosoftWindowsNT®

用户标识号。

必须保证每个用户的SID号在WindowsNT域中的唯一性。

SQLServer自动使用WindowsNTSID标识WindowsNT用户和组,并为SQLServer登录生成一个SID。

将登录添加到SQLServer时,如果密码已经是加密的形式,则使用skip_encryption取消密码加密是有用的。

如果此密码由以前的SQLServer版本加密,则使用skip_encryption_old。

不能从用户定义的事务中执行sp_addlogin。

下表显示了几个与sp_addlogin一起使用的存储过程。

存储过程

sp_grantlogin

添加WindowsNT用户或组。

sp_password

更改用户密码。

sp_defaultdb

更改用户的默认数据库。

sp_defaultlanguage

更改用户的默认语言。

权限

只有sysadmin和securityadmin固定服务器角色的成员才可以执行sp_addlogin。

示例

A.创建没有密码和主默认数据库的登录ID

下面的示例为用户Victoria创建一个SQLServer登录名,没有指定密码或默认数据库。

Victoria'

B.创建登录ID和默认数据库

此示例为用户Albert创建一个SQLServer登录,并指定密码food以及名为corporate的默认数据库。

Albert'

'

food'

corporate'

C.创建使用其它默认语言的登录ID

下面的示例为用户ClairePicard创建一个SQLServer登录名,密码为"

caniche"

,默认数据库为public_db,默认语言为French。

ClairePicard'

caniche'

public_db'

french'

D.创建带有特定SID的登录ID

下面的示例为用户Michael创建一个SQLServer登录名,密码为"

chocolate"

,默认数据库为pubs,默认语言为us_english,SID为0xABCDEFABCDEF。

Michael'

chocolate'

pubs'

us_english'

0xABCDEFABCDEF

E.创建登录ID并且不加密密码

下例在Server1上为用户Margaret创建了一个密码为"

Rose"

的SQLServer登录,再析取此加密密码,然后使用前面加密的密码将用户登录Margaret添加到Server2,但不对此密码进一步加密。

之后,用户Margaret即可使用密码"

登录到Server2。

--Server1

EXECsp_addloginMargaret,Rose

--Results

Newlogincreated.

添加数据库新用户

sp_adduser

为当前数据库中的新用户添加安全帐户。

包括此过程是为了向后兼容。

请使用sp_grantdbaccess。

sp_adduser[@loginame=]'

[,[@name_in_db=]'

user'

[,[@grpname=]'

group'

usestudent_course_sc

EXECsp_adduser'

用户的登录名称。

login的数据类型是sysname,没有默认值。

login必须是现有Microsoft®

SQLServer™登录或MicrosoftWindowsNT®

用户。

[@name_in_db=]'

新用户的名称。

user的数据类型为sysname,其默认值为NULL。

如果没有指定user,则用户的名称默认为login名称。

指定user即为新用户在数据库中给予一个不同于SQLServer上的登录ID的名称。

[@grpname=]'

组或角色,新用户自动地成为其成员。

group的数据类型为sysname,默认值为NULL。

group必须是当前数据库中有效的组或角色。

MicrosoftSQLServer7.0使用角色而不是组。

SQLServer用户名可以包含1到128个字符,包括字母、符号和数字。

但是,用户名不能:

∙含有反斜线符号(\)。

在添加完用户之后,可以使用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角色中。

fort_mudge'

B.添加用户名(使用相同的登录ID)

下面的示例为登录Margaret将默认用户名Margaret添加到当前数据库,该用户名属于默认的public角色。

Margaret'

C.添加用户(使用不同的用户名)

下面的示例将Haroldq登录添加到当前的数据库中并使用Harold用户名,该用户名属于fort_mudge角色。

Haroldq'

Harold'

创建角色

sp_addrole

在当前数据库创建新的Microsoft®

SQLServer™角色。

sp_addrole[@rolename=]'

role'

[,[@ownername=]'

owner'

Execsp_addroler3

[@rolename=]'

新角色的名称。

role的数据类型为sysname,没有默认值。

role必须是有效标识符,并且不能已经存在于当前数据库中。

[@ownername=]'

新角色的所有者,owner的数据类型为sysname,默认值为dbo。

owner必须是当前数据库中的某个用户或角色。

当指定MicrosoftWindowsNT®

用户时,请指定该WindowsNT用户在数据库中可被识别的名称(用sp_grantdbaccess添加)。

SQLServer角色可以包含1到128个字符,包括字母、符号及数字。

但是,角色不能:

在添加角色之后,可以使用sp_addrolemember添加安全帐户,使其成为该角色的成员。

当使用GRANT、DENY或REVOKE语句将权限应用于角色时,角色的成员将继承这些权限,就好像将权限直接应用于其帐户一样。

说明 

无法创建新的固定服务器角色。

只能在数据库级别上创建角色。

不能在用户定义的事务内使用sp_addrole。

只有sysadmin固定服务器角色及db_securityadmin和db_owner固定数据库角色的成员才能执行sp_addrole。

下面的示例将名为Managers的新角色添加到当前数据库中。

EXECsp_addrole'

Managers'

将用户增加到角色中

sp_addrolemember

将安全帐户作为当前数据库中现有Microsoft®

SQLServer™数据库角色的成员进行添加。

sp_addrolemember[@rolename=]'

[@membername=]'

security_account'

execsp_addrolemember'

r3'

当前数据库中SQLServer角色的名称。

[@membername=]'

添加到角色的安全帐户。

security_account的数据类型为sysname,没有默认值。

security_account可以是所有有效的SQLServer用户、SQLServer角色或是所有已授权访问当前数据库的MicrosoftWindowsNT®

用户或组。

当添加WindowsNT用户或组时,请指定在数据库中用来识别该WindowsNT用户或组的名称(使用sp_grantdbaccess添加)。

当使用sp_addrolemember将安全帐户添加到角色时,新成员将继承所有应用到角色的权限。

在添加SQLServer角色,使其成为另一个SQLServer角色的成员时,不能创建循环角色。

例如,如果YourRole已经是MyRole的成员,就不能将MyRole添加成为YourRole的成员。

此外,也不能将固定数据库或固定服务器角色,或者dbo添加到其他角色。

例如,不能将db_owner固定数据库角色添加成为用户定义的角色YourRole的成员。

只能使用sp_addrolemember将成员添加到SQLServer角色。

使用sp_addsrvrolemember将成员添加到固定服务器角色。

在SQLServer中,将成员添加到WindowsNT®

组是不可能的。

在用户定义的事务中不能使用sp_addrolemember。

只有sysadmin固定服务器角色和db_owner固定数据库角色中的成员可以执行sp_addrolemember,以将成员添加到固定数据库角色。

角色所有者可以执行sp_addrolemember,将成员添加到自己所拥有的任何SQLServer角色。

db_securityadmin固定数据库角色的成员可以将用户添加到任何用户定义的角色。

A.添加WindowsNT用户

下面的示例将WindowsNT用户Corporate\JeffL添加到Sales数据库,使其成为用户Jeff。

然后,再将Jeff添加到Sales数据库的Sales_Managers角色中。

由于Corporate\JeffL在Sales数据库中被当作是用户Jeff,所以必须使用sp_addrolemember来指定用户名Jeff。

USESales

GO

EXECsp_grantdbaccess'

Corporate\JeffL'

Jeff'

EXECsp_addrolemember'

Sales_Managers'

B.添加SQLServer用户

下面的示例将SQLServer用户Michael添加到当前数据库中的Engineering角色。

Engineering'

请参见

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2