月亮代表我的心

个人博客,跟月亮无关,跟代表无关,无关谁的心

Sql Server 复习笔记(3)

创建登陆
SQL:
sp_addlogin
创建新的 Microsoft® SQL Server™ 登录,使用户得以连接使用 SQL Server 身份验证的 SQL Server 实例。
NT:
sp_grantlogin
使 Microsoft® Windows NT® 用户或组帐户得以使用 Windows 身份验证连接到 Microsoft SQL Server™。
格式为”域\用户”,例如 London\Joeb。

创建数据库用户

sp_grantdbaccess
为 Microsoft® SQL Server™ 登录或 Microsoft Windows NT® 用户或组在当前数据库中添加一个安全帐户,并使其能够被授予在数据库中执行活动的权限。
示例
下面的示例在当前数据库中为 Windows NT 用户 Corporate\GeorgeW 添加帐户,并取名为 Georgie。
EXEC sp_grantdbaccess ‘Corporate\GeorgeW’, ‘Georgie’

权限(ON 表 TO 用户/角色)

GRANT
在安全系统中创建项目,使当前数据库中的用户得以处理当前数据库中的数据或执行特定的 Transact-SQL 语句。

REVOKE
删除以前在当前数据库内的用户上授予或拒绝的权限。

DENY
在安全系统中创建一项,以拒绝给当前数据库内的安全帐户授予权限并防止安全帐户通过其组或角色成员资格继承权限。

注意:权限可以叠加,如果某用户所属的一个角色的某种权限已拒绝,但该角色从属的另外一角色有一样的权限,对于该角色来说该权限仍有效.

角色

sp_addrole
在当前数据库创建新的 Microsoft® SQL Server™ 角色。

sp_addrolemember
将安全帐户作为当前数据库中现有 Microsoft® SQL Server™ 数据库角色的成员进行添加。

示例
A. 添加 Windows NT 用户
下面的示例将 Windows NT 用户 Corporate\JeffL 添加到 Sales 数据库,使其成为用户 Jeff。然后,再将 Jeff 添加到 Sales 数据库的 Sales_Managers 角色中。
说明 由于 Corporate\JeffL 在 Sales 数据库中被当作是用户 Jeff,所以必须使用 sp_addrolemember 来指定用户名 Jeff。
USE Sales
GO
EXEC sp_grantdbaccess ‘Corporate\JeffL’, ‘Jeff’
GO
EXEC sp_addrolemember ‘Sales_Managers’, ‘Jeff’

B. 添加 SQL Server 用户
下面的示例将 SQL Server 用户 Michael 添加到当前数据库中的 Engineering 角色。
EXEC sp_addrolemember ‘Engineering’, ‘Michael’

索引与全文索引

使用索引:
1.该列频繁用于搜索
2.该列用于对数据排顺
不使用:
1.列中仅包含几个不同的值
2.表中仅有几行.

索引类型:
1.聚集索引
表中各行的物理顺序与键值的逻辑(索引)顺序相同
每表只能有一个,一般应选择主键列
2.非聚集索引
指定表的逻辑顺序。
一个表可以有多个(最多249个)

创建索引
create [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,…n ] )
.索引可以包含多个数据列(<=16)

删除索引
drop INDEX ‘table.index | view.index’ [ ,…n ]

强制查询优化器选择某个特定的索引
select * FROM sales (INDEX =nclindx_ordnum) where ord_num = ‘P3087a’

全文搜索(先定义,后填充)

全文索引跟踪表中的重要词语。
该索引用于包含索引词的搜索和高级搜索选项,如短语搜索。
全文索引需要一个包含唯一键值的数据列。
添加、修改或删除表中数据时,必须手动更新全文索引。
全文查询使用CONTAINS和FREETEXT这两个谓词。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注