SQL SERVER 2008 更改跟踪

东那个升 2010-05-21 07:42:59
加精
SQL SERVER 2008 更改跟踪
/*
看书,看联机期间。。。顺带把看到的写下

与SQL SERVER 2008 CDC 异步捕获数据变更的不同,更改跟踪是同步进程,
是DML(INSERT/UPDATE/DELETE)事务的一部分,它可以使用最小的C盘存储
开销来侦测数据行的净变更.那么它也就不能像CDC那样可以提供用户表的
历史更改信息. 更改是使用异步进程捕获的,此进程读取事务日志,并
且对系统造成的影响很小.

更改跟踪捕获更改了表行这一事实,但不会捕获更改的数据.这样,应用程
序就可以确定使用从用户表中直接获取的最新行数据更改的行.因此,与变
更数据捕获相比,更改跟踪可以解答的历史问题比较有限.但是,对于不需
要历史信息的那些应用程序,更改跟踪产生的存储开销要小得多,因为它不
需要捕获更改的数据(不需要触发器和表时间戳).它使用同步跟踪机制来
跟踪更改.此功能旨在最大限度地减少 DML 操作开销.





总的来说有以下几点:


1 减少了开发时间: 由于 SQL Server 2008 中提供了更改跟踪功能,因此无需开发自定义解决方案.

2 不需要架构更改: 使用更改跟踪不需要执行以下任务:添加列;添加触发器;如果无法将列添加到用
户表,则需要创建要在其中跟踪已删除的行或存储更改跟踪信息的端表.

3 内置清除机制: 更改跟踪的清除操作在后台自动执行.不需要端表中存储的数据的自定义清除.

4 提供更改跟踪功能的目的是获取更改信息: 使用更改跟踪功能可使信息查询和使用更方便.列跟踪
记录提供与更改的数据相关的详细信息.

5 降低了 DML 操作的开销: 同步更改跟踪始终会有一些开销.但是,使用更改跟踪有助于使开销最小
化.开销通常会低于使用其他解决方案,对于需要使用触发器的解决方案
,尤其如此.

6 更改跟踪是基于提交的事务进行的: 更改的顺序基于事务提交时间.在存在长时间运行和重叠事务的
情况下,这样可获得可靠的结果.必须专门设计使用 timestamp
值的自定义解决方案,以处理这些情况.

7 配置和管理更改跟踪的标准工具: SQL Server 2008 提供标准的 DDL 语句、SQL Server Management
Studio、目录视图和安全权限.
*/


/*
建立测试数据库
*/
IF NOT EXISTS (SELECT NAME FROM SYS.databases WHERE name='CHANGE_TRACK_DB')

BEGIN
CREATE DATABASE CHANGE_TRACK_DB
END


/*
要启用数据库更改跟踪功能,需要配置CHANGE_TRACKING数据库选项.也可以配置跟踪的数据在
数据库保留多久,以及是否启用自动清除.配置保留期将会影响到需要维护的跟踪数据的大小.
该值过高可能会影响存储.太低的话在远程应用程序同步不够的情况下,会引发通另一应用程序
的同步问题.


配置更改跟踪
*/
ALTER DATABASE CHANGE_TRACK_DB
SET CHANGE_TRACKING= ON
(CHANGE_RETENTION=36 HOURS,
AUTO_CLEANUP=ON)

/*
使用更改跟踪时的最佳实践是为数据库启用快照隔离.不使用快照隔离会引发事务不一致的
变更信息.对有显著DML活动的数据库和表,以一致的方式捕获更改跟踪的信息很重要(抓取最
新版本并使用该版本号来获取适当的数据)

由于行版本的生成,启用快照隔离会在tempdb中增加额外的使用空间.会带来I/O开销的增加.


启用快照隔离
*/

ALTER DATABASE CHANGE_TRACK_DB
SET ALLOW_SNAPSHOT_ISOLATION ON
GO


/*
通过查询sys.change_tracking_databases来确认数据库是否以正确启用更改跟踪.
*/

SELECT DB_NAME(DATABASE_ID) AS [DB_NAME]
,IS_AUTO_CLEANUP_ON
,RETENTION_PERIOD
,RETENTION_PERIOD_UNITS_DESC
FROM sys.change_tracking_databases

/*结果

DB_NAME IS_AUTO_CLEANUP_ON RETENTION_PERIOD RETENTION_PERIOD_UNITS_DESC
--------------- ------------------ ---------------- ----------------------------
CHANGE_TRACK_DB 1 36 HOURS

(1 行受影响)
*/


/*
创建测试表
*/


USE CHANGE_TRACK_DB
GO

CREATE TABLE CHANGE_TRACKING_USER
(USERID INT NOT NULL PRIMARY KEY IDENTITY(1,1)
,NAME VARCHAR(20) NOT NULL
,ADDRESS VARCHAR(100) NOT NULL)

/*
对于要打开更改跟踪以及要跟踪哪些列被跟新了的表,需要打开表的CHANGE_TRACKING选项
和TRACK_COLUMNS_UPDATED选项.
*/

ALTER TABLE CHANGE_TRACKING_USER
ENABLE CHANGE_TRACKING
WITH (TRACK_COLUMNS_UPDATED= ON)

/*
查询sys.change_tracking_tables目录视图可以获得启用跟踪更改的详细信息.
*/

SELECT OBJECT_NAME(OBJECT_ID) AS [TB_NAME]
,IS_TRACK_COLUMNS_UPDATED_ON
FROM sys.change_tracking_tables

/*结果
TB_NAME IS_TRACK_COLUMNS_UPDATED_ON
-------------------- ---------------------------
CHANGE_TRACKING_USER 1

(1 行受影响)
*/


/*
对表进行插入数据来捕获更改跟踪.
*/

INSERT CHANGE_TRACKING_USER(NAME,ADDRESS) VALUES
('香蕉','dss省fdfd市'),
('鸽子','山东省青岛市'),
('水哥','江苏省苏州市'),
('土豆','XX省XX市');

/*
用来查看正在同步的是一个函数CHANGE_TRACKING_CURRENT_VERSION(),返回的是最后提交的事务的版本号
.所有发生在启用更改跟踪表中的DML操作都会照成版本号的增长.版本号用来确定更改.
*/

SELECT CHANGE_TRACKING_CURRENT_VERSION()

/*结果
--------------------
1

(1 行受影响)
*/

/*
函数CHANGE_TRACKING_MIN_VALID_VERSION()可以获得表的最小可用版本号.如果断开连接的程序不同步的时
间超过了更改跟踪保留期限.那么就要对应用程序的数据进行彻底的刷新.
*/

SELECT CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID('CHANGE_TRACKING_USER'))

/*结果
--------------------
0

(1 行受影响)
*/


/*
对于更改的侦测我们可以用函数CHANGETABLE.该函数有2种用法:使用CHANGES关键字来检测从指定的同步
版本以来发生的更改;或者使用VERSION关键字来返回最新的更改跟踪版本.
*/

SELECT USERID --返回的是主键
,SYS_CHANGE_OPERATION --I 代表INSERT,U代表UPDATE,D代表DELETE
,SYS_CHANGE_VERSION --返回的是版本号,因为这4条数据是在同一个INSERT中添加的
--,所以下面的结果版本号相同
--以下的函数返回的是自版本0以来的更改.第一个参数是表名称
FROM CHANGETABLE(CHANGES CHANGE_TRACKING_USER,0) A

/*结果
USERID SYS_CHANGE_OPERATION SYS_CHANGE_VERSION
----------- -------------------- --------------------
1 I 1
2 I 1
3 I 1
4 I 1

(4 行受影响)
*/


/*
当收集同步信息时,使用SET TRANSACTION ISOLATION LEVEL SNAPSHOT 和BEGIN TRAN..COMMIT TRAN
来封装收集的更改信息和相关的当前更改跟踪版本以及最小的可用版本.使用快照隔离允许更改跟踪
的数据具有事务一致性的形式.
*/

UPDATE CHANGE_TRACKING_USER
SET NAME='柯少'
WHERE USERID=1

UPDATE CHANGE_TRACKING_USER
SET ADDRESS='火星'
WHERE USERID=4

DELETE FROM CHANGE_TRACKING_USER WHERE USERID=2


--检查最新的版本号

SELECT CHANGE_TRACKING_CURRENT_VERSION()

/*结果
--------------------
4

(1 行受影响)
*/



/*
当程序收集了自数据版本1后的数据.下面可以检测自版本1起发生的所有更改
*/


SELECT USERID
,SYS_CHANGE_VERSION
,SYS_CHANGE_OPERATION
,SYS_CHANGE_COLUMNS
FROM CHANGETABLE(CHANGES CHANGE_TRACKING_USER,1) AS T

/*结果
USERID SYS_CHANGE_VERSION SYS_CHANGE_OPERATION SYS_CHANGE_COLUMNS
----------- -------------------- -------------------- -------------------
1 2 U 0x0000000002000000
2 4 D NULL
4 3 U 0x0000000003000000

(3 行受影响)



SYS_CHANGE_COLUMNS列式包含从最新版本开始更新过的列的VARBINARY值,可以使用
CHANGE_TRACKING_IS_COLUMN_IN_MASK函数来解释它.该函数接受2个参数:表的列ID和VARBINARY
值.

下面使用这个函数来检查NAME列和ADDRESS列是否被修改过.
*/


SELECT USERID
,CHANGE_TRACKING_IS_COLUMN_IN_MASK(
COLUMNPROPERTY(OBJECT_ID('CHANGE_TRACKING_USER'),'NAME','COLUMNID')--该函数返回对应的列ID
,SYS_CHANGE_COLUMNS) NAME_IS_CHANGED
,CHANGE_TRACKING_IS_COLUMN_IN_MASK(
COLUMNPROPERTY(OBJECT_ID('CHANGE_TRACKING_USER'),'ADDRESS','COLUMNID')
,SYS_CHANGE_COLUMNS) ADDRESS_IS_CHANGED
FROM CHANGETABLE(CHANGES CHANGE_TRACKING_USER,1) AS T
WHERE SYS_CHANGE_OPERATION='U'--确定修改的列

/*结果
USERID NAME_IS_CHANGED ADDRESS_IS_CHANGED
----------- --------------- ------------------
1 1 0
4 0 1

(2 行受影响)
*/


/*
CHANGETABLE 通过VERSION 参数来返回最新的版本.
*/

SELECT A.USERID
,NAME
,ADDRESS
,SYS_CHANGE_VERSION
FROM CHANGE_TRACKING_USER A
CROSS APPLY CHANGETABLE(VERSION CHANGE_TRACKING_USER,(USERID),(A.USERID)) T

/*
USERID NAME ADDRESS SYS_CHANGE_VERSION
----------- ------- --------------- --------------------
1 柯少 dss省fdfd市 2
3 水哥 江苏省苏州市 1
4 土豆 火星 3

(3 行受影响)


下面再演示一个UPDATE来演示版本的不同.
*/

UPDATE CHANGE_TRACKING_USER
SET ADDRESS='冥王星'
WHERE USERID=3

SELECT CHANGE_TRACKING_CURRENT_VERSION() --检查最新的版本号
/*
--------------------
5

(1 行受影响)
*/

SELECT A.USERID
,NAME
,ADDRESS
,SYS_CHANGE_VERSION
FROM CHANGE_TRACKING_USER A
CROSS APPLY CHANGETABLE(VERSION CHANGE_TRACKING_USER,(USERID),(A.USERID)) T



/*
USERID NAME ADDRESS SYS_CHANGE_VERSION
----------- -------------------- ------------- --------------------
1 柯少 dss省fdfd市 2
3 水哥 冥王星 5
4 土豆 火星 3

(3 行受影响)

可以看到USERID=3的版本号为5,这是因为版本号是一致递增的,上面执行过如下代码:

UPDATE CHANGE_TRACKING_USER
SET NAME='柯少'
WHERE USERID=1

UPDATE CHANGE_TRACKING_USER
SET ADDRESS='火星'
WHERE USERID=4

DELETE FROM CHANGE_TRACKING_USER WHERE USERID=2

检查最新的版本号

SELECT CHANGE_TRACKING_CURRENT_VERSION()

/*结果
--------------------
4

(1 行受影响)
*/

所以现在最新的版本号位5.没有修改的行版本号不变.
*/


/*
最后测试如何通过DML操作提供更改跟踪应用程序上下文信息,可以确定是哪一应用程序对那些行
进行了数据修改.它的作用是如果有多个应用程序对数据源进行数据同步,这将会是有用的信息.

使用CHANGE_TRACKING_CONTEXT函数来查询,函数只有一个输入参数CONTEXT,它是VARBINARY数据
类型.

首先要保存上下文信息的变量,然后在CHANGE_TRACKING_CONTEXT函数中使用变量,再向更改跟踪表
中插入一条新行
*/


DECLARE @CONTEXT VARBINARY(128)=CAST('DS_ALEX' AS VARBINARY(128))
;WITH CHANGE_TRACKING_CONTEXT(@CONTEXT)
INSERT CHANGE_TRACKING_USER(NAME,ADDRESS) VALUES
('ALEX','水星')


--现在查询从版本5发生的所有更改.

SELECT USERID
,SYS_CHANGE_OPERATION
,SYS_CHANGE_VERSION
,CAST(SYS_CHANGE_CONTEXT AS VARCHAR(50)) AppContext
FROM CHANGETABLE(CHANGES CHANGE_TRACKING_USER,5) AS T

/* 结果
USERID SYS_CHANGE_OPERATION SYS_CHANGE_VERSION AppContext
----------- -------------------- -------------------- ------------
5 I 6 DS_ALEX

(1 行受影响)
*/

/*
到此结束!


以上主要涉及了建库建表,
ALTER DATABASE ....ENABLE CHANGE_TRACKING. 启用数据库更改跟踪
CHANGE_RETENTION 和 AUTO_CLEANUP 指定更改跟踪保留期限和自动清除.
查询SYS.CHANGE_TRACKING_DATABASES目录视图检查数据库更改跟踪的状态.

ALTER TABLE ...ENABLE CHANGE_TRACKING
TRACK_COLUMNS_UPDATED 指定列级别更改也会被跟踪.
SYS.CHANGE_TRACKING_TABLES目录视图确认表的更改跟踪状态

一些检测更改跟踪数据的不同函数:

CHANGE_TRACKING_CURRENT_VERSION() 返回最后提交的事务版本号.
CHANGE_TRACKING_MIN_VALID_VERSION() 返回更改跟踪表的最小可用版本号
CHANGETABLE :VERSION 返回最新的更改版本
CHANGES 检测自指定同步版本以来的更改
CHANGE_TRACKING_IS_COLUMN_IN_MASK 检测更改跟踪表中那些列被更新
CHANGE_TRACKING_CONTEXT 通过DML操作存储更改上下文,从而可以跟踪哪一应用程序
修改了什么数据.


*/

博文地址:http://blog.csdn.net/ldslove/archive/2010/05/21/5615010.aspx

...全文
2030 130 打赏 收藏 转发到动态 举报
写回复
用AI写文章
130 条回复
切换为时间正序
请发表友善的回复…
发表回复
liubang200707 2012-07-19
  • 打赏
  • 举报
回复
推荐使用Foglight Performance Suite for SQL Server,实现对SQL Server的更改自动跟踪,对服务器的更改如实例, 数据库, schema 环境, 以及应用程序的SQL降级等确定并发送通知, 关于Foglight ,可参考:
http://www.innovatedigital.com/Foglight
vivianqing 2012-07-10
  • 打赏
  • 举报
回复
学习了
daihua_1113 2010-06-09
  • 打赏
  • 举报
回复
学习 !@
cww0404 2010-05-30
  • 打赏
  • 举报
回复
看看!
smtgreen 2010-05-30
  • 打赏
  • 举报
回复
受益匪浅。。。。
smtgreen 2010-05-30
  • 打赏
  • 举报
回复
受益匪浅。。。。
smtgreen 2010-05-30
  • 打赏
  • 举报
回复
受益匪浅。。。。
gaudgun 2010-05-30
  • 打赏
  • 举报
回复
谢谢分享,学习
jieror 2010-05-29
  • 打赏
  • 举报
回复
顶......
Teng_s2000 2010-05-29
  • 打赏
  • 举报
回复
wuhui329 2010-05-29
  • 打赏
  • 举报
回复
学习了
peenyking 2010-05-29
  • 打赏
  • 举报
回复
jszhao824 2010-05-28
  • 打赏
  • 举报
回复
谢谢了。。。。。。。学习中。
六六木木 2010-05-28
  • 打赏
  • 举报
回复
牛啊!!!
天王 2010-05-27
  • 打赏
  • 举报
回复
路过 学习了
zj801025 2010-05-27
  • 打赏
  • 举报
回复
gong
yijiulove 2010-05-27
  • 打赏
  • 举报
回复
非常详细 分享
xxhhjt20 2010-05-27
  • 打赏
  • 举报
回复
学习下
dsl2496052 2010-05-27
  • 打赏
  • 举报
回复
分享快乐,收藏。。。。
lurenjia321 2010-05-27
  • 打赏
  • 举报
回复
fen xiang le
加载更多回复(104)
由于文件太大,被分成3部分,当前第2部分,请下载完三部分,并放在同一目录,否则无法解压。 内容简介 《SQL Server 2008管理员必备指南》按照由浅入深的逻辑共分为4部分,即管理基础、系统管理、数据管理以及优化与维护。这种分类方法不仅从理论上环环相扣,全面介绍数据库管理人员需要掌握的相关理论知识和工作技能,也从不同层次上体现了数据库管理员的工作内容及工作的要点和难点,能够科学地指导数据库管理员的日常工作。《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server 2008日常管理的工作。使用快速参考表、指令和列表聚焦核心的支持与维护任务。无论您是学生还是数据库领域的从业人员,都可从《SQL Server 2008管理员必备指南》获得解决问题和完成工作所需的信息。 《SQL Server 2008管理员必备指南》重要主题: 规划、部署和配置SQL Server 2008 管理服务器,管理外围安全、访问及网络配置 导入、导出、转换和复制数据 使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下几个子系列 从入门到精通 适舍新手程序员的实用教程 侧重于基础技术和特征 提供范例文件 技术内幕 权威必备的参考大全 包含丰富、实用的范例代码 帮助读者熟练掌握微软技术 高级编程 侧重于高级特性、技术和解决问题 包含丰富适用性强的范倒代码 帮助读者精通微软技术 精通&宝典 着重剖析应用技巧以帮助提高工作效率 主题包括办公应用和开发工具 认证考试教材 完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 作者简介 作者:(美国)斯坦里克 (William R.Stanek) 译者:贾洪峰 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows Server 2008 InsideOut。他也是“管理员必备指南”系列丛书的编辑。 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理概况 1.1 SQL Server 2008与硬件 1.2 SQL Server 2008的版本 1.3 SQL Server和Windows 1.3.1 SQL Server的服务 1.3.2 SQL Server登录和身份验证 1.3.3 SQL Server的服务帐户 1.4 使用图形化管理工具 1.5 使用命令行工具 1.5.1 BCP 1.5.2 SQLCMD 1.5.3 其他命令行工具 1.6 使用SQL Server PowerShell 1.6.1 运行和使用cmdlet 1.6.2 运行和使用SQL Server PowerShell 1.6.3 使用SQL Server cmdlet 第2章 部署SQL Server 2008 2.1 SQL Server集成角色 2.1.1 使用SQL Server集成服务 2.1.2 使用SQL Server 2008的关系数据仓库 2.1.3 使用SQL Server 2008的多维数据库和数据挖掘 2.1.4 使用SQL Server 2008管理报表 2.2 规划SQL Server 2008的部署 2.2.1 建立服务器的性能系统 2.2.2 配置I/O子系统 2.2.3 确保可用性和可伸缩性 2.2.4 确保连接性和数据访问 2.2.5 管理SQL Server配置和安全性 2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及网络配置 3.1 管理SQL Server的组件功能 3.2 配置SQL Server服务 3.2.1 管理服务配置 3.2.2 管理服务的状态和启动模式 3.2.3 设置启动的服务帐户 3.2.4 配置文件流 3.2.5 配置服务转储目录、错误报告和客户反馈报告 3.3 管理网络和SQL本地客户端配置 3.3.1 管理连接配置 3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名管道的本地客户端配置 3.3.9 设置TCP/IP本地客户端配置 第4章 配置和优化SQL Server 2008 4.1 访问SQL Server的配置数据 4.1.1 使用系统目录和目录视图 4.1.2 使用系统存储过程 4.2 管理SQL Server配置选项的技巧 4.2.1 设置配置选项 4.2.2 使用SET选项 4.2.3 使用服务器选项 4.2.4 使用数据库选项 4.2.5 管理数据库的兼容性 4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 管理企业 5.1 使用SQL Server Management Studio 5.1.1 开始使用SQL Server Management Studio 5.1.2 连接到特定的服务器实例 5.1.3 连接到特定数据库 5.2 管理SQL Server组 5.2.1 介绍SQL Server组 5.2.2 创建服务器组 5.2.3 删除服务器组 5.2.4 编辑和移动服务器组 5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和注册信息复制到另一台计算机 5.3.6 编辑注册属性 5.3.7 连接到服务器 5.3.8 从服务器断开连接 5.3.9 移动服务器到新的组 5.3.10 删除服务器注册 5.4 启动、停止和配置SQL Server代理 5.5 启动、停止和配置Microsoft分布式事务处理协调器 5.6 管理SQL Server启动 5.6.1 启用或防止SQL Server的自动启动 5.6.2 设置数据库引擎的启动参数 5.6.3 从命令行管理服务 5.6.4 管理SQL Server命令行的可执行文件 5.7 管理服务器活动 5.7.1 检查进程信息 5.7.2 跟踪资源等待和阻塞 5.7.3 检测修复死锁和阻塞连接 5.7.4 在SQL Server跟踪命令的执行 5.7.5 终止服务器进程 第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或禁用C2审核登录 6.3.4 启用或禁用“符合公共标准” 6.4 调节内存的使用 6.4.1 动态配置内存 6.4.2 使用固定内存 6.4.3 启用AWE内存的支持 6.4.4 为索引优化内存 6.4.5 为查询分配内存 6.5 配置处理器和并行处理 6.5.1 优化CPU的使用 6.5.2 设置并行处理 6.6 配置线程、优先级和纤程 6.7 配置用户和远程连接 6.7.1 设置最大用户连接 6.7.2 设置默认连接选项 6.7.3 配置远程服务器连接 6.8 管理服务器设置 6.8.1 启用或禁用文件流 6.8.2 设置SQL Server的默认语言 6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩备份媒体 6.10 添加和删除活动目录的信息 6.11 修复配置故障 6.11.1 从损坏的配置中恢复 6.11.2 更改排序规则和重新生成master数据库 第7章 数据库管理的核心任务 7.1 数据库文件和日志 7.2 数据库管理基础 7.2.1 在SQL Server Management Studio中查看数据库的信息 7.2.2 使用T-SQL查看数据库信息 7.2.3 检查系统和示例数据库 7.2.4 检查数据库对象 7.3 创建数据库 7.3.1 在SQL Server Management Studio中创建数据库 7.3.2 使用T-SQL创建数据库 7.4 修改数据库及其选项 7.4.1 在SQL Server Management Studio中设置数据库选项 7.4.2 使用ALTER DATABASE修改数据库 7.4.3 配置自动选项 7.4.4 在数据库级别上控制ASNI的兼容性 7.4.5 配置参数化 7.4.6 配置游标选项 7.4.7 控制用户访问和数据库状态 7.4.8 设置联机、脱机或紧急模式 7.4.9 管理跨数据库链接和外部访问选项 7.4.10 配置恢复、日志记录和磁盘I/O错误检查选项 7.4.11 查看、更改和覆盖数据库选项 7.5 管理数据库和日志大小 7.5.1 配置SQL Server自动管理文件大小 7.5.2 手动扩展数据库和日志 7.5.3 手动压缩和收缩数据库 7.6 操作数据库 7.6.1 重命名数据库 7.6.2 清除和删除数据库 7.6.3 附加和分离数据库 7.7 提示和技巧 7.7.1 复制和移动数据库 7.7.2 移动数据库 7.7.3 移动tempdb和改变tempdb的大小 7.7.4 创建辅助数据和日志文件 7.7.5 防止事务日志错误 7.7.6 防止文件组充满的错误 7.7.7 创建新的数据库模板 7.7.8 配置数据库加密 第8章 全文搜索的管理 8.1 全文目录和索引 8.2 管理全文目录 8.2.1 查看目录属性 8.2.2 创建目录 8.2.3 启用表和视图的索引 8.2.4 编辑表和视图的索引 8.2.5 从表或视图中禁用和删除全文索引 8.2.6 填充全文目录 8.2.7 重新生成当前目录 8.2.8 清除旧的目录 8.2.9 删除目录 8.3 管理全文搜索 8.3.1 设置全文搜索的默认语言 8.3.2 使用非索引字表 8.3.3 创建非索引字表 8.3.4 管理非索引字表 8.3.5 创建和使用同义词库文件 第9章 管理SQL Server 2008的安全性 9.1 SQL Server 2008安全性概况 9.1.1 使用安全主体和安全对象 9.1.2 理解安全对象的权限 9.1.3 检查授予安全对象的权限 9.2 SQL Server 2008的身份验证模式 9.2.1 Windows身份验证 9.2.2 混合模式和SQL Server登录 9.3 特殊目的的登录和用户 9.3.1 使用管理员组 9.3.2 使用管理员用户帐户 9.3.3 使用sa登录 9.3.4 使用NETWORK SERVICE和SYSTEM登录 9.3.5 使用guest用户 9.3.6 使用dbo用户 9.3.7 使用sys和INFORMATION_SCHEMA用户 9.4 权限 9.4.1 对象权限 9.4.2 语句权限 9.4.3 隐含权限 9.5 角色 9.5.1 服务器角色 9.5.2 数据库角色 9.6 管理服务器登录 9.6.1 查看和编辑现有的登录 9.6.2 创建登录 9.6.3 用T-SQL编辑登录 9.6.4 允许或拒绝访问服务器 9.6.5 启用、禁用和解锁登录 9.6.6 删除登录 9.6.7 更改密码 9.7 配置服务器角色 9.7.1 为登录分配角色 9.7.2 为多个登录分配角色 9.7.3 撤销服务器登录的访问权限和授予的角色 9.8 控制数据库访问和管理 9.8.1 为登录分配访问权限和角色 9.8.2 为多个登录分配角色 9.8.3 创建标准的数据库角色 9.8.4 创建应用程序数据库角色 9.8.5 删除数据库用户的角色成员关系 9.8.6 删除用户定义的角色 9.8.7 管理访问和角色的Transact-SQL命令 9.9 管理数据库权限 9.9.1 为语句分配数据库权限 9.9.2 登录的对象权限 9.9.3 多个登录的对象权限 第Ⅲ部分 SQL Server 2008的数据管理 第10章 操作架构、表、索引和视图 10.1 处理架构 10.1.1 创建架构 10.1.2 修改架构 10.1.3 将对象移动到新架构 10.1.4 删除架构 10.2 表的概况 10.3 表的实质 10.3.1 了解数据页 10.3.2 了解区 10.3.3 了解表的分区 10.4 处理表 10.4.1 创建表 10.4.2 修改现有的表 10.4.3 查看表的行和大小的信息 10.4.4 显示表属性和权限 10.4.5 显示表中当前的值 10.4.6 复制表 10.4.7 重命名和删除表 10.4.8 在一个表中添加和删除列 10.4.9 编写表脚本 10.5 管理表的值 10.5.1 使用原始数据类型 10.5.2 使用固定长度、可变长度 和最大长度的字段 10.5.3 使用用户定义的数据类型 10.5.4 允许和不允许Null值 10.5.5 使用默认值 10.5.6 使用稀疏列 10.5.7 使用标识和全局唯一标识符 10.5.8 使用用户定义的表类型 10.6 使用视图 10.6.1 操作视图 10.6.2 创建视图 10.6.3 修改视图 10.6.4 使用可更新视图 10.6.5 管理视图 10.7 创建和管理索引 10.7.1 了解索引 10.7.2 使用聚集索引 10.7.3 使用非聚集索引 10.7.4 使用XML索引 10.7.5 使用筛选索引 10.7.6 确定应当索引哪些列 10.7.7 索引计算列和视图 10.7.8 查看索引属性 10.7.9 创建索引 10.7.10 管理索引 10.7.11 使用数据库引擎优化顾问 10.8 列约束和规则 10.8.1 使用约束 10.8.2 使用规则 10.9 创建已分区表和索引 10.9.1 创建分区函数 10.9.2 创建分区方案 10.9.3 创建分区 10.9.4 查看和管理分区 10.10 压缩表、索引和分区 10.10.1 使用行和页压缩 10.10.2 设置或改变压缩设置 第11章 数据的导入和导出及转换 11.1 使用集成服务 11.1.1 集成服务简介 11.1.2 集成服务工具 11.1.3 集成服务和数据提供程序 11.1.4 集成服务包 11.2 使用SQL Server导入和导出向导创建包 11.2.1 阶段1:数据源和目标的配置 11.2.2 阶段2:复制或查询 11.2.3 阶段3:格式化和转换 11.2.4 阶段4:保存和执行 11.3 了解BCP 11.3.1 BCP 基础 11.3.2 BCP 语法 11.3.3 BCP 权限和模式 11.3.4 使用BCP导入数据 11.3.5 使用BCP导出数据 11.4 BCP脚本 11.5 使用BULK INSERT 命令 第12章 链接服务器与分布式事务 12.1 使用链接服务器和分布式数据 12.1.1 使用分布式查询 12.1.2 使用分布式事务 12.1.3 运行分布式事务处理协调器服务 12.2 管理链接服务器 12.2.1 添加链接服务器 12.2.2 配置链接服务器的安全性 12.2.3 设置远程和链接服务器的服务器选项 12.2.4 删除链接服务器 第13章 实施快照、合并和事务复制 13.1 复制的概况 13.1.1 复制组件 13.1.2 复制代理和作业 13.1.3 复制的类型 13.2 复制的计划 13.2.1 复制模式 13.2.2 复制的预备任务 13.3 分发服务器的管理 13.3.1 设置新的分发服务器 13.3.2 更新分发服务器 13.3.3 创建分发数据库 13.3.4 启用和更新发布服务器 13.3.5 启用发布数据库 13.3.6 删除分发数据库 13.3.7 禁用发布和分发 13.4 创建和管理发布 13.4.1 创建发布 13.4.2 查看和更新发布 13.4.3 设置发布属性 13.4.4 设置代理安全性和进程帐户 13.4.5 控制订阅访问发布 13.4.6 为发布创建脚本 13.4.7 删除发布 13.5 订阅发布 13.5.1 订阅的实质 13.5.2 创建订阅 13.5.3 查看订阅属性 13.5.4 更新、维护和删除订阅 13.5.5 验证订阅 13.5.6 重新初始化订阅 第Ⅳ部分 SQL Server 2008的优化与维护 第14章 分析和监视SQL Server 2008 14.1 监视服务器的性能和活动 14.1.1 监视SQL Server的原因 14.1.2 为监视做准备 14.1.3 监视工具和资源 14.2 使用复制监视器 14.2.1 启动并使用复制监视器 14.2.2 添加发布服务器和发布服务器组 14.3 使用事件日志 14.3.1 检查应用程序日志 14.3.2 检查SQL Server事件日志 14.3.3 检查SQL Server代理事件日志 14.4 监视SQL Server的性能 14.4.1 选择要监视的计数器 14.4.2 创建性能日志 14.4.3 查看数据收集器报告 14.4.4 配置性能计数器警报 14.5 配置管理数据仓库 14.5.1 了解管理数据仓库 14.5.2 创建管理数据仓库 14.5.3 设置数据收集 14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原计划 15.1.1 开始备份和还原计划 15.1.2 规划镜像与镜像数据库的备份 15.1.3 规划被复制数据库的备份 15.1.4 规划大型数据库的备份 15.1.5 规划备份压缩 15.2 选择备份设备和媒体 15.3 使用备份策略 15.4 创建备份设备 15.5 执行备份 15.5.1 在SQL Server Management Studio中创建备份 15.5.2 使用多个设备的条带 备份 15.5.3 使用Transact-SQL备份 15.5.4 执行事务日志备份 15.6 还原数据库 15.6.1 数据库损坏及解决方法 15.6.2 从正常备份还原数据库 15.6.3 还原文件和文件组 15.6.4 将数据库还原到不同位置 15.6.5 还原丢失的数据 15.6.6 创建备用服务器 15.6.7 使用Transact-SQL还原命令 15.7 还原master数据库 第16章 数据库自动化和维护 16.1 数据库自动化和维护概述 16.2 使用数据库邮件 16.2.1 执行初始数据库邮件配置 16.2.2 管理数据库邮件配置文件和帐户 16.2.3 查看和更改数据库邮件系统参数 16.3 使用SQL Server代理 16.3.1 访问警报、操作员和作业 16.3.2 配置SQL Server代理服务 16.3.3 设置SQL Server代理邮件配置文件 16.3.4 使用SQL Server代理重新启动服务 16.4 管理警报 16.4.1 使用默认警报 16.4.2 创建错误消息警报 16.4.3 处理警报响应 16.4.4 删除、启用和禁用警报 16.5 管理操作员 16.5.1 注册操作员 16.5.2 删除和禁用对操作员的通知 16.5.3 配置防故障操作员 16.6 计划作业 16.6.1 创建作业 16.6.2 指定或更改作业定义 16.6.3 设置执行步骤 16.6.4 配置作业计划 16.6.5 处理作业警报 16.6.6 处理通知消息 16.6.7 管理现有作业 16.6.8 管理作业类别 16.7 自动完成服务器到服务器的 日常管理任务 16.7.1 在数据库之间复制用户、表、视图和其他对象 16.7.2 在数据库之间复制警报、操作员和计划作业 16.8 多服务器管理 16.8.1 事件转发 16.8.2 多服务器作业计划 16.9 数据库维护 16.9.1 数据库维护清单 16.9.2 使用维护计划 16.9.3 检查和维护数据库完整性 第17章 管理日志传送与数据库镜像 17.1 日志传送 17.1.1 日志传送:如何工作 17.1.2 为日志传送做准备 17.1.3 将SQL Server 2000 日志传送升级到 SQL Server 2008日志传送 17.1.4 在主数据库上启用日志传送 17.1.5 添加日志传送辅助数据库 17.1.6 改变事务日志备份的时间间隔 17.1.7 改变复制和还原的时间间隔 17.1.8 监视日志传送 17.1.9 故障转移到辅助数据库 17.1.10 禁用和删除日志传送 17.2 数据库镜像 17.2.1 数据库镜像基础知识 17.2.2 配置数据库镜像 17.2.3 管理和监视镜像 17.2.4 使用故障转移进行恢复 17.2.5 删除数据库镜像 17.3 使用镜像和日志传送 第18章 实施基于策略的管理 18.1 基于策略的管理简介 18.2 使用基于策略的管理 18.3 在整个企业内管理策略 18.3.1 导入和导出策略 18.3.2 配置中央管理服务器 18.3.3 针对多个服务器执行语句 18.3.4 配置和管理策略方面 18.3.5 创建和管理策略条件 18.3.6 创建和管理策略 18.3.7 管理策略目标和托管策略 18.3.8 评估策略 18.3.9 基于策略的管理策略疑难解答
由于文件太大,被分为3部分,当前第3部分,请下载完总共的3部分,并放在同一目录,否则无解压。 内容简介 《SQL Server 2008管理员必备指南》按照由浅入深的逻辑共分为4部分,即管理基础、系统管理、数据管理以及优化与维护。这种分类方法不仅从理论上环环相扣,全面介绍数据库管理人员需要掌握的相关理论知识和工作技能,也从不同层次上体现了数据库管理员的工作内容及工作的要点和难点,能够科学地指导数据库管理员的日常工作。《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server 2008日常管理的工作。使用快速参考表、指令和列表聚焦核心的支持与维护任务。无论您是学生还是数据库领域的从业人员,都可从《SQL Server 2008管理员必备指南》获得解决问题和完成工作所需的信息。 《SQL Server 2008管理员必备指南》重要主题: 规划、部署和配置SQL Server 2008 管理服务器,管理外围安全、访问及网络配置 导入、导出、转换和复制数据 使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下几个子系列 从入门到精通 适舍新手程序员的实用教程 侧重于基础技术和特征 提供范例文件 技术内幕 权威必备的参考大全 包含丰富、实用的范例代码 帮助读者熟练掌握微软技术 高级编程 侧重于高级特性、技术和解决问题 包含丰富适用性强的范倒代码 帮助读者精通微软技术 精通&宝典 着重剖析应用技巧以帮助提高工作效率 主题包括办公应用和开发工具 认证考试教材 完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 作者简介 作者:(美国)斯坦里克 (William R.Stanek) 译者:贾洪峰 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows Server 2008 InsideOut。他也是“管理员必备指南”系列丛书的编辑。 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理概况 1.1 SQL Server 2008与硬件 1.2 SQL Server 2008的版本 1.3 SQL Server和Windows 1.3.1 SQL Server的服务 1.3.2 SQL Server登录和身份验证 1.3.3 SQL Server的服务帐户 1.4 使用图形化管理工具 1.5 使用命令行工具 1.5.1 BCP 1.5.2 SQLCMD 1.5.3 其他命令行工具 1.6 使用SQL Server PowerShell 1.6.1 运行和使用cmdlet 1.6.2 运行和使用SQL Server PowerShell 1.6.3 使用SQL Server cmdlet 第2章 部署SQL Server 2008 2.1 SQL Server集成角色 2.1.1 使用SQL Server集成服务 2.1.2 使用SQL Server 2008的关系数据仓库 2.1.3 使用SQL Server 2008的多维数据库和数据挖掘 2.1.4 使用SQL Server 2008管理报表 2.2 规划SQL Server 2008的部署 2.2.1 建立服务器的性能系统 2.2.2 配置I/O子系统 2.2.3 确保可用性和可伸缩性 2.2.4 确保连接性和数据访问 2.2.5 管理SQL Server配置和安全性 2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及网络配置 3.1 管理SQL Server的组件功能 3.2 配置SQL Server服务 3.2.1 管理服务配置 3.2.2 管理服务的状态和启动模式 3.2.3 设置启动的服务帐户 3.2.4 配置文件流 3.2.5 配置服务转储目录、错误报告和客户反馈报告 3.3 管理网络和SQL本地客户端配置 3.3.1 管理连接配置 3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名管道的本地客户端配置 3.3.9 设置TCP/IP本地客户端配置 第4章 配置和优化SQL Server 2008 4.1 访问SQL Server的配置数据 4.1.1 使用系统目录和目录视图 4.1.2 使用系统存储过程 4.2 管理SQL Server配置选项的技巧 4.2.1 设置配置选项 4.2.2 使用SET选项 4.2.3 使用服务器选项 4.2.4 使用数据库选项 4.2.5 管理数据库的兼容性 4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 管理企业 5.1 使用SQL Server Management Studio 5.1.1 开始使用SQL Server Management Studio 5.1.2 连接到特定的服务器实例 5.1.3 连接到特定数据库 5.2 管理SQL Server组 5.2.1 介绍SQL Server组 5.2.2 创建服务器组 5.2.3 删除服务器组 5.2.4 编辑和移动服务器组 5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和注册信息复制到另一台计算机 5.3.6 编辑注册属性 5.3.7 连接到服务器 5.3.8 从服务器断开连接 5.3.9 移动服务器到新的组 5.3.10 删除服务器注册 5.4 启动、停止和配置SQL Server代理 5.5 启动、停止和配置Microsoft分布式事务处理协调器 5.6 管理SQL Server启动 5.6.1 启用或防止SQL Server的自动启动 5.6.2 设置数据库引擎的启动参数 5.6.3 从命令行管理服务 5.6.4 管理SQL Server命令行的可执行文件 5.7 管理服务器活动 5.7.1 检查进程信息 5.7.2 跟踪资源等待和阻塞 5.7.3 检测修复死锁和阻塞连接 5.7.4 在SQL Server跟踪命令的执行 5.7.5 终止服务器进程 第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或禁用C2审核登录 6.3.4 启用或禁用“符合公共标准” 6.4 调节内存的使用 6.4.1 动态配置内存 6.4.2 使用固定内存 6.4.3 启用AWE内存的支持 6.4.4 为索引优化内存 6.4.5 为查询分配内存 6.5 配置处理器和并行处理 6.5.1 优化CPU的使用 6.5.2 设置并行处理 6.6 配置线程、优先级和纤程 6.7 配置用户和远程连接 6.7.1 设置最大用户连接 6.7.2 设置默认连接选项 6.7.3 配置远程服务器连接 6.8 管理服务器设置 6.8.1 启用或禁用文件流 6.8.2 设置SQL Server的默认语言 6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩备份媒体 6.10 添加和删除活动目录的信息 6.11 修复配置故障 6.11.1 从损坏的配置中恢复 6.11.2 更改排序规则和重新生成master数据库 第7章 数据库管理的核心任务 7.1 数据库文件和日志 7.2 数据库管理基础 7.2.1 在SQL Server Management Studio中查看数据库的信息 7.2.2 使用T-SQL查看数据库信息 7.2.3 检查系统和示例数据库 7.2.4 检查数据库对象 7.3 创建数据库 7.3.1 在SQL Server Management Studio中创建数据库 7.3.2 使用T-SQL创建数据库 7.4 修改数据库及其选项 7.4.1 在SQL Server Management Studio中设置数据库选项 7.4.2 使用ALTER DATABASE修改数据库 7.4.3 配置自动选项 7.4.4 在数据库级别上控制ASNI的兼容性 7.4.5 配置参数化 7.4.6 配置游标选项 7.4.7 控制用户访问和数据库状态 7.4.8 设置联机、脱机或紧急模式 7.4.9 管理跨数据库链接和外部访问选项 7.4.10 配置恢复、日志记录和磁盘I/O错误检查选项 7.4.11 查看、更改和覆盖数据库选项 7.5 管理数据库和日志大小 7.5.1 配置SQL Server自动管理文件大小 7.5.2 手动扩展数据库和日志 7.5.3 手动压缩和收缩数据库 7.6 操作数据库 7.6.1 重命名数据库 7.6.2 清除和删除数据库 7.6.3 附加和分离数据库 7.7 提示和技巧 7.7.1 复制和移动数据库 7.7.2 移动数据库 7.7.3 移动tempdb和改变tempdb的大小 7.7.4 创建辅助数据和日志文件 7.7.5 防止事务日志错误 7.7.6 防止文件组充满的错误 7.7.7 创建新的数据库模板 7.7.8 配置数据库加密 第8章 全文搜索的管理 8.1 全文目录和索引 8.2 管理全文目录 8.2.1 查看目录属性 8.2.2 创建目录 8.2.3 启用表和视图的索引 8.2.4 编辑表和视图的索引 8.2.5 从表或视图中禁用和删除全文索引 8.2.6 填充全文目录 8.2.7 重新生成当前目录 8.2.8 清除旧的目录 8.2.9 删除目录 8.3 管理全文搜索 8.3.1 设置全文搜索的默认语言 8.3.2 使用非索引字表 8.3.3 创建非索引字表 8.3.4 管理非索引字表 8.3.5 创建和使用同义词库文件 第9章 管理SQL Server 2008的安全性 9.1 SQL Server 2008安全性概况 9.1.1 使用安全主体和安全对象 9.1.2 理解安全对象的权限 9.1.3 检查授予安全对象的权限 9.2 SQL Server 2008的身份验证模式 9.2.1 Windows身份验证 9.2.2 混合模式和SQL Server登录 9.3 特殊目的的登录和用户 9.3.1 使用管理员组 9.3.2 使用管理员用户帐户 9.3.3 使用sa登录 9.3.4 使用NETWORK SERVICE和SYSTEM登录 9.3.5 使用guest用户 9.3.6 使用dbo用户 9.3.7 使用sys和INFORMATION_SCHEMA用户 9.4 权限 9.4.1 对象权限 9.4.2 语句权限 9.4.3 隐含权限 9.5 角色 9.5.1 服务器角色 9.5.2 数据库角色 9.6 管理服务器登录 9.6.1 查看和编辑现有的登录 9.6.2 创建登录 9.6.3 用T-SQL编辑登录 9.6.4 允许或拒绝访问服务器 9.6.5 启用、禁用和解锁登录 9.6.6 删除登录 9.6.7 更改密码 9.7 配置服务器角色 9.7.1 为登录分配角色 9.7.2 为多个登录分配角色 9.7.3 撤销服务器登录的访问权限和授予的角色 9.8 控制数据库访问和管理 9.8.1 为登录分配访问权限和角色 9.8.2 为多个登录分配角色 9.8.3 创建标准的数据库角色 9.8.4 创建应用程序数据库角色 9.8.5 删除数据库用户的角色成员关系 9.8.6 删除用户定义的角色 9.8.7 管理访问和角色的Transact-SQL命令 9.9 管理数据库权限 9.9.1 为语句分配数据库权限 9.9.2 登录的对象权限 9.9.3 多个登录的对象权限 第Ⅲ部分 SQL Server 2008的数据管理 第10章 操作架构、表、索引和视图 10.1 处理架构 10.1.1 创建架构 10.1.2 修改架构 10.1.3 将对象移动到新架构 10.1.4 删除架构 10.2 表的概况 10.3 表的实质 10.3.1 了解数据页 10.3.2 了解区 10.3.3 了解表的分区 10.4 处理表 10.4.1 创建表 10.4.2 修改现有的表 10.4.3 查看表的行和大小的信息 10.4.4 显示表属性和权限 10.4.5 显示表中当前的值 10.4.6 复制表 10.4.7 重命名和删除表 10.4.8 在一个表中添加和删除列 10.4.9 编写表脚本 10.5 管理表的值 10.5.1 使用原始数据类型 10.5.2 使用固定长度、可变长度 和最大长度的字段 10.5.3 使用用户定义的数据类型 10.5.4 允许和不允许Null值 10.5.5 使用默认值 10.5.6 使用稀疏列 10.5.7 使用标识和全局唯一标识符 10.5.8 使用用户定义的表类型 10.6 使用视图 10.6.1 操作视图 10.6.2 创建视图 10.6.3 修改视图 10.6.4 使用可更新视图 10.6.5 管理视图 10.7 创建和管理索引 10.7.1 了解索引 10.7.2 使用聚集索引 10.7.3 使用非聚集索引 10.7.4 使用XML索引 10.7.5 使用筛选索引 10.7.6 确定应当索引哪些列 10.7.7 索引计算列和视图 10.7.8 查看索引属性 10.7.9 创建索引 10.7.10 管理索引 10.7.11 使用数据库引擎优化顾问 10.8 列约束和规则 10.8.1 使用约束 10.8.2 使用规则 10.9 创建已分区表和索引 10.9.1 创建分区函数 10.9.2 创建分区方案 10.9.3 创建分区 10.9.4 查看和管理分区 10.10 压缩表、索引和分区 10.10.1 使用行和页压缩 10.10.2 设置或改变压缩设置 第11章 数据的导入和导出及转换 11.1 使用集成服务 11.1.1 集成服务简介 11.1.2 集成服务工具 11.1.3 集成服务和数据提供程序 11.1.4 集成服务包 11.2 使用SQL Server导入和导出向导创建包 11.2.1 阶段1:数据源和目标的配置 11.2.2 阶段2:复制或查询 11.2.3 阶段3:格式化和转换 11.2.4 阶段4:保存和执行 11.3 了解BCP 11.3.1 BCP 基础 11.3.2 BCP 语法 11.3.3 BCP 权限和模式 11.3.4 使用BCP导入数据 11.3.5 使用BCP导出数据 11.4 BCP脚本 11.5 使用BULK INSERT 命令 第12章 链接服务器与分布式事务 12.1 使用链接服务器和分布式数据 12.1.1 使用分布式查询 12.1.2 使用分布式事务 12.1.3 运行分布式事务处理协调器服务 12.2 管理链接服务器 12.2.1 添加链接服务器 12.2.2 配置链接服务器的安全性 12.2.3 设置远程和链接服务器的服务器选项 12.2.4 删除链接服务器 第13章 实施快照、合并和事务复制 13.1 复制的概况 13.1.1 复制组件 13.1.2 复制代理和作业 13.1.3 复制的类型 13.2 复制的计划 13.2.1 复制模式 13.2.2 复制的预备任务 13.3 分发服务器的管理 13.3.1 设置新的分发服务器 13.3.2 更新分发服务器 13.3.3 创建分发数据库 13.3.4 启用和更新发布服务器 13.3.5 启用发布数据库 13.3.6 删除分发数据库 13.3.7 禁用发布和分发 13.4 创建和管理发布 13.4.1 创建发布 13.4.2 查看和更新发布 13.4.3 设置发布属性 13.4.4 设置代理安全性和进程帐户 13.4.5 控制订阅访问发布 13.4.6 为发布创建脚本 13.4.7 删除发布 13.5 订阅发布 13.5.1 订阅的实质 13.5.2 创建订阅 13.5.3 查看订阅属性 13.5.4 更新、维护和删除订阅 13.5.5 验证订阅 13.5.6 重新初始化订阅 第Ⅳ部分 SQL Server 2008的优化与维护 第14章 分析和监视SQL Server 2008 14.1 监视服务器的性能和活动 14.1.1 监视SQL Server的原因 14.1.2 为监视做准备 14.1.3 监视工具和资源 14.2 使用复制监视器 14.2.1 启动并使用复制监视器 14.2.2 添加发布服务器和发布服务器组 14.3 使用事件日志 14.3.1 检查应用程序日志 14.3.2 检查SQL Server事件日志 14.3.3 检查SQL Server代理事件日志 14.4 监视SQL Server的性能 14.4.1 选择要监视的计数器 14.4.2 创建性能日志 14.4.3 查看数据收集器报告 14.4.4 配置性能计数器警报 14.5 配置管理数据仓库 14.5.1 了解管理数据仓库 14.5.2 创建管理数据仓库 14.5.3 设置数据收集 14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原计划 15.1.1 开始备份和还原计划 15.1.2 规划镜像与镜像数据库的备份 15.1.3 规划被复制数据库的备份 15.1.4 规划大型数据库的备份 15.1.5 规划备份压缩 15.2 选择备份设备和媒体 15.3 使用备份策略 15.4 创建备份设备 15.5 执行备份 15.5.1 在SQL Server Management Studio中创建备份 15.5.2 使用多个设备的条带 备份 15.5.3 使用Transact-SQL备份 15.5.4 执行事务日志备份 15.6 还原数据库 15.6.1 数据库损坏及解决方法 15.6.2 从正常备份还原数据库 15.6.3 还原文件和文件组 15.6.4 将数据库还原到不同位置 15.6.5 还原丢失的数据 15.6.6 创建备用服务器 15.6.7 使用Transact-SQL还原命令 15.7 还原master数据库 第16章 数据库自动化和维护 16.1 数据库自动化和维护概述 16.2 使用数据库邮件 16.2.1 执行初始数据库邮件配置 16.2.2 管理数据库邮件配置文件和帐户 16.2.3 查看和更改数据库邮件系统参数 16.3 使用SQL Server代理 16.3.1 访问警报、操作员和作业 16.3.2 配置SQL Server代理服务 16.3.3 设置SQL Server代理邮件配置文件 16.3.4 使用SQL Server代理重新启动服务 16.4 管理警报 16.4.1 使用默认警报 16.4.2 创建错误消息警报 16.4.3 处理警报响应 16.4.4 删除、启用和禁用警报 16.5 管理操作员 16.5.1 注册操作员 16.5.2 删除和禁用对操作员的通知 16.5.3 配置防故障操作员 16.6 计划作业 16.6.1 创建作业 16.6.2 指定或更改作业定义 16.6.3 设置执行步骤 16.6.4 配置作业计划 16.6.5 处理作业警报 16.6.6 处理通知消息 16.6.7 管理现有作业 16.6.8 管理作业类别 16.7 自动完成服务器到服务器的 日常管理任务 16.7.1 在数据库之间复制用户、表、视图和其他对象 16.7.2 在数据库之间复制警报、操作员和计划作业 16.8 多服务器管理 16.8.1 事件转发 16.8.2 多服务器作业计划 16.9 数据库维护 16.9.1 数据库维护清单 16.9.2 使用维护计划 16.9.3 检查和维护数据库完整性 第17章 管理日志传送与数据库镜像 17.1 日志传送 17.1.1 日志传送:如何工作 17.1.2 为日志传送做准备 17.1.3 将SQL Server 2000 日志传送升级到 SQL Server 2008日志传送 17.1.4 在主数据库上启用日志传送 17.1.5 添加日志传送辅助数据库 17.1.6 改变事务日志备份的时间间隔 17.1.7 改变复制和还原的时间间隔 17.1.8 监视日志传送 17.1.9 故障转移到辅助数据库 17.1.10 禁用和删除日志传送 17.2 数据库镜像 17.2.1 数据库镜像基础知识 17.2.2 配置数据库镜像 17.2.3 管理和监视镜像 17.2.4 使用故障转移进行恢复 17.2.5 删除数据库镜像 17.3 使用镜像和日志传送 第18章 实施基于策略的管理 18.1 基于策略的管理简介 18.2 使用基于策略的管理 18.3 在整个企业内管理策略 18.3.1 导入和导出策略 18.3.2 配置中央管理服务器 18.3.3 针对多个服务器执行语句 18.3.4 配置和管理策略方面 18.3.5 创建和管理策略条件 18.3.6 创建和管理策略 18.3.7 管理策略目标和托管策略 18.3.8 评估策略 18.3.9 基于策略的管理策略疑难解答
由于文件太大,分成了3部分,当前第1部分,请下载完3个部分,并放在同一目录,否则无法解压! 内容简介 《SQL Server 2008管理员必备指南》按照由浅入深的逻辑共分为4部分,即管理基础、系统管理、数据管理以及优化与维护。这种分类方法不仅从理论上环环相扣,全面介绍数据库管理人员需要掌握的相关理论知识和工作技能,也从不同层次上体现了数据库管理员的工作内容及工作的要点和难点,能够科学地指导数据库管理员的日常工作。《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server 2008日常管理的工作。使用快速参考表、指令和列表聚焦核心的支持与维护任务。无论您是学生还是数据库领域的从业人员,都可从《SQL Server 2008管理员必备指南》获得解决问题和完成工作所需的信息。 《SQL Server 2008管理员必备指南》重要主题: 规划、部署和配置SQL Server 2008 管理服务器,管理外围安全、访问及网络配置 导入、导出、转换和复制数据 使用SQL Server Management Studio执行主要的管理任务 操作架构、表、索引和视图 进行自动化维护和实现基于策略的管理 监视服务器活动并优化性能 管理日志传送和数据库镜像 执行备份和还原 《微软技术丛书》包括以下几个子系列 从入门到精通 适舍新手程序员的实用教程 侧重于基础技术和特征 提供范例文件 技术内幕 权威必备的参考大全 包含丰富、实用的范例代码 帮助读者熟练掌握微软技术 高级编程 侧重于高级特性、技术和解决问题 包含丰富适用性强的范倒代码 帮助读者精通微软技术 精通&宝典 着重剖析应用技巧以帮助提高工作效率 主题包括办公应用和开发工具 认证考试教材 完全根据考试要求来阐述每一个知识点 提供可供搜索的Ebook(英文版)和训练题 提供实际场景案例分析和故障诊断实验 SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 作者简介 作者:(美国)斯坦里克 (William R.Stanek) 译者:贾洪峰 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows Server 2008 InsideOut。他也是“管理员必备指南”系列丛书的编辑。 目录 第Ⅰ部分 SQL Server 2008管理基础 第1章 SQL Server 2008管理概况 1.1 SQL Server 2008与硬件 1.2 SQL Server 2008的版本 1.3 SQL Server和Windows 1.3.1 SQL Server的服务 1.3.2 SQL Server登录和身份验证 1.3.3 SQL Server的服务帐户 1.4 使用图形化管理工具 1.5 使用命令行工具 1.5.1 BCP 1.5.2 SQLCMD 1.5.3 其他命令行工具 1.6 使用SQL Server PowerShell 1.6.1 运行和使用cmdlet 1.6.2 运行和使用SQL Server PowerShell 1.6.3 使用SQL Server cmdlet 第2章 部署SQL Server 2008 2.1 SQL Server集成角色 2.1.1 使用SQL Server集成服务 2.1.2 使用SQL Server 2008的关系数据仓库 2.1.3 使用SQL Server 2008的多维数据库和数据挖掘 2.1.4 使用SQL Server 2008管理报表 2.2 规划SQL Server 2008的部署 2.2.1 建立服务器的性能系统 2.2.2 配置I/O子系统 2.2.3 确保可用性和可伸缩性 2.2.4 确保连接性和数据访问 2.2.5 管理SQL Server配置和安全性 2.3 运行安装程序和修改SQL Server安装 2.3.1 创建新的SQL Server实例 2.3.2 添加组件和实例 2.3.3 修复SQL Server 2008安装 2.3.4 升级SQL Server 2008版本 2.3.5 卸载SQL Server 第3章 管理外围安全、访问以及网络配置 3.1 管理SQL Server的组件功能 3.2 配置SQL Server服务 3.2.1 管理服务配置 3.2.2 管理服务的状态和启动模式 3.2.3 设置启动的服务帐户 3.2.4 配置文件流 3.2.5 配置服务转储目录、错误报告和客户反馈报告 3.3 管理网络和SQL本地客户端配置 3.3.1 管理连接配置 3.3.2 配置Shared Memory网络配置 3.3.3 配置Named Pipes网络配置 3.3.4 配置TCP/IP网络配置 3.3.5 配置本地客户端配置的安全性 3.3.6 配置本地客户端协议的顺序 3.3.7 设置共享内存的本地客户端配置 3.3.8 设置命名管道的本地客户端配置 3.3.9 设置TCP/IP本地客户端配置 第4章 配置和优化SQL Server 2008 4.1 访问SQL Server的配置数据 4.1.1 使用系统目录和目录视图 4.1.2 使用系统存储过程 4.2 管理SQL Server配置选项的技巧 4.2.1 设置配置选项 4.2.2 使用SET选项 4.2.3 使用服务器选项 4.2.4 使用数据库选项 4.2.5 管理数据库的兼容性 4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 管理企业 5.1 使用SQL Server Management Studio 5.1.1 开始使用SQL Server Management Studio 5.1.2 连接到特定的服务器实例 5.1.3 连接到特定数据库 5.2 管理SQL Server组 5.2.1 介绍SQL Server组 5.2.2 创建服务器组 5.2.3 删除服务器组 5.2.4 编辑和移动服务器组 5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和注册信息复制到另一台计算机 5.3.6 编辑注册属性 5.3.7 连接到服务器 5.3.8 从服务器断开连接 5.3.9 移动服务器到新的组 5.3.10 删除服务器注册 5.4 启动、停止和配置SQL Server代理 5.5 启动、停止和配置Microsoft分布式事务处理协调器 5.6 管理SQL Server启动 5.6.1 启用或防止SQL Server的自动启动 5.6.2 设置数据库引擎的启动参数 5.6.3 从命令行管理服务 5.6.4 管理SQL Server命令行的可执行文件 5.7 管理服务器活动 5.7.1 检查进程信息 5.7.2 跟踪资源等待和阻塞 5.7.3 检测修复死锁和阻塞连接 5.7.4 在SQL Server跟踪命令的执行 5.7.5 终止服务器进程 第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或禁用C2审核登录 6.3.4 启用或禁用“符合公共标准” 6.4 调节内存的使用 6.4.1 动态配置内存 6.4.2 使用固定内存 6.4.3 启用AWE内存的支持 6.4.4 为索引优化内存 6.4.5 为查询分配内存 6.5 配置处理器和并行处理 6.5.1 优化CPU的使用 6.5.2 设置并行处理 6.6 配置线程、优先级和纤程 6.7 配置用户和远程连接 6.7.1 设置最大用户连接 6.7.2 设置默认连接选项 6.7.3 配置远程服务器连接 6.8 管理服务器设置 6.8.1 启用或禁用文件流 6.8.2 设置SQL Server的默认语言 6.8.3 允许和禁止嵌套触发器 6.8.4 控制查询的执行 6.8.5 配置2000年的支持 6.9 管理数据库设置 6.9.1 设置索引填充 6.9.2 配置备份和还原超时选项 6.9.3 配置备份和还原保持选项 6.9.4 用检查点清空缓存 6.9.5 压缩备份媒体 6.10 添加和删除活动目录的信息 6.11 修复配置故障 6.11.1 从损坏的配置中恢复 6.11.2 更改排序规则和重新生成master数据库 第7章 数据库管理的核心任务 7.1 数据库文件和日志 7.2 数据库管理基础 7.2.1 在SQL Server Management Studio中查看数据库的信息 7.2.2 使用T-SQL查看数据库信息 7.2.3 检查系统和示例数据库 7.2.4 检查数据库对象 7.3 创建数据库 7.3.1 在SQL Server Management Studio中创建数据库 7.3.2 使用T-SQL创建数据库 7.4 修改数据库及其选项 7.4.1 在SQL Server Management Studio中设置数据库选项 7.4.2 使用ALTER DATABASE修改数据库 7.4.3 配置自动选项 7.4.4 在数据库级别上控制ASNI的兼容性 7.4.5 配置参数化 7.4.6 配置游标选项 7.4.7 控制用户访问和数据库状态 7.4.8 设置联机、脱机或紧急模式 7.4.9 管理跨数据库链接和外部访问选项 7.4.10 配置恢复、日志记录和磁盘I/O错误检查选项 7.4.11 查看、更改和覆盖数据库选项 7.5 管理数据库和日志大小 7.5.1 配置SQL Server自动管理文件大小 7.5.2 手动扩展数据库和日志 7.5.3 手动压缩和收缩数据库 7.6 操作数据库 7.6.1 重命名数据库 7.6.2 清除和删除数据库 7.6.3 附加和分离数据库 7.7 提示和技巧 7.7.1 复制和移动数据库 7.7.2 移动数据库 7.7.3 移动tempdb和改变tempdb的大小 7.7.4 创建辅助数据和日志文件 7.7.5 防止事务日志错误 7.7.6 防止文件组充满的错误 7.7.7 创建新的数据库模板 7.7.8 配置数据库加密 第8章 全文搜索的管理 8.1 全文目录和索引 8.2 管理全文目录 8.2.1 查看目录属性 8.2.2 创建目录 8.2.3 启用表和视图的索引 8.2.4 编辑表和视图的索引 8.2.5 从表或视图中禁用和删除全文索引 8.2.6 填充全文目录 8.2.7 重新生成当前目录 8.2.8 清除旧的目录 8.2.9 删除目录 8.3 管理全文搜索 8.3.1 设置全文搜索的默认语言 8.3.2 使用非索引字表 8.3.3 创建非索引字表 8.3.4 管理非索引字表 8.3.5 创建和使用同义词库文件 第9章 管理SQL Server 2008的安全性 9.1 SQL Server 2008安全性概况 9.1.1 使用安全主体和安全对象 9.1.2 理解安全对象的权限 9.1.3 检查授予安全对象的权限 9.2 SQL Server 2008的身份验证模式 9.2.1 Windows身份验证 9.2.2 混合模式和SQL Server登录 9.3 特殊目的的登录和用户 9.3.1 使用管理员组 9.3.2 使用管理员用户帐户 9.3.3 使用sa登录 9.3.4 使用NETWORK SERVICE和SYSTEM登录 9.3.5 使用guest用户 9.3.6 使用dbo用户 9.3.7 使用sys和INFORMATION_SCHEMA用户 9.4 权限 9.4.1 对象权限 9.4.2 语句权限 9.4.3 隐含权限 9.5 角色 9.5.1 服务器角色 9.5.2 数据库角色 9.6 管理服务器登录 9.6.1 查看和编辑现有的登录 9.6.2 创建登录 9.6.3 用T-SQL编辑登录 9.6.4 允许或拒绝访问服务器 9.6.5 启用、禁用和解锁登录 9.6.6 删除登录 9.6.7 更改密码 9.7 配置服务器角色 9.7.1 为登录分配角色 9.7.2 为多个登录分配角色 9.7.3 撤销服务器登录的访问权限和授予的角色 9.8 控制数据库访问和管理 9.8.1 为登录分配访问权限和角色 9.8.2 为多个登录分配角色 9.8.3 创建标准的数据库角色 9.8.4 创建应用程序数据库角色 9.8.5 删除数据库用户的角色成员关系 9.8.6 删除用户定义的角色 9.8.7 管理访问和角色的Transact-SQL命令 9.9 管理数据库权限 9.9.1 为语句分配数据库权限 9.9.2 登录的对象权限 9.9.3 多个登录的对象权限 第Ⅲ部分 SQL Server 2008的数据管理 第10章 操作架构、表、索引和视图 10.1 处理架构 10.1.1 创建架构 10.1.2 修改架构 10.1.3 将对象移动到新架构 10.1.4 删除架构 10.2 表的概况 10.3 表的实质 10.3.1 了解数据页 10.3.2 了解区 10.3.3 了解表的分区 10.4 处理表 10.4.1 创建表 10.4.2 修改现有的表 10.4.3 查看表的行和大小的信息 10.4.4 显示表属性和权限 10.4.5 显示表中当前的值 10.4.6 复制表 10.4.7 重命名和删除表 10.4.8 在一个表中添加和删除列 10.4.9 编写表脚本 10.5 管理表的值 10.5.1 使用原始数据类型 10.5.2 使用固定长度、可变长度 和最大长度的字段 10.5.3 使用用户定义的数据类型 10.5.4 允许和不允许Null值 10.5.5 使用默认值 10.5.6 使用稀疏列 10.5.7 使用标识和全局唯一标识符 10.5.8 使用用户定义的表类型 10.6 使用视图 10.6.1 操作视图 10.6.2 创建视图 10.6.3 修改视图 10.6.4 使用可更新视图 10.6.5 管理视图 10.7 创建和管理索引 10.7.1 了解索引 10.7.2 使用聚集索引 10.7.3 使用非聚集索引 10.7.4 使用XML索引 10.7.5 使用筛选索引 10.7.6 确定应当索引哪些列 10.7.7 索引计算列和视图 10.7.8 查看索引属性 10.7.9 创建索引 10.7.10 管理索引 10.7.11 使用数据库引擎优化顾问 10.8 列约束和规则 10.8.1 使用约束 10.8.2 使用规则 10.9 创建已分区表和索引 10.9.1 创建分区函数 10.9.2 创建分区方案 10.9.3 创建分区 10.9.4 查看和管理分区 10.10 压缩表、索引和分区 10.10.1 使用行和页压缩 10.10.2 设置或改变压缩设置 第11章 数据的导入和导出及转换 11.1 使用集成服务 11.1.1 集成服务简介 11.1.2 集成服务工具 11.1.3 集成服务和数据提供程序 11.1.4 集成服务包 11.2 使用SQL Server导入和导出向导创建包 11.2.1 阶段1:数据源和目标的配置 11.2.2 阶段2:复制或查询 11.2.3 阶段3:格式化和转换 11.2.4 阶段4:保存和执行 11.3 了解BCP 11.3.1 BCP 基础 11.3.2 BCP 语法 11.3.3 BCP 权限和模式 11.3.4 使用BCP导入数据 11.3.5 使用BCP导出数据 11.4 BCP脚本 11.5 使用BULK INSERT 命令 第12章 链接服务器与分布式事务 12.1 使用链接服务器和分布式数据 12.1.1 使用分布式查询 12.1.2 使用分布式事务 12.1.3 运行分布式事务处理协调器服务 12.2 管理链接服务器 12.2.1 添加链接服务器 12.2.2 配置链接服务器的安全性 12.2.3 设置远程和链接服务器的服务器选项 12.2.4 删除链接服务器 第13章 实施快照、合并和事务复制 13.1 复制的概况 13.1.1 复制组件 13.1.2 复制代理和作业 13.1.3 复制的类型 13.2 复制的计划 13.2.1 复制模式 13.2.2 复制的预备任务 13.3 分发服务器的管理 13.3.1 设置新的分发服务器 13.3.2 更新分发服务器 13.3.3 创建分发数据库 13.3.4 启用和更新发布服务器 13.3.5 启用发布数据库 13.3.6 删除分发数据库 13.3.7 禁用发布和分发 13.4 创建和管理发布 13.4.1 创建发布 13.4.2 查看和更新发布 13.4.3 设置发布属性 13.4.4 设置代理安全性和进程帐户 13.4.5 控制订阅访问发布 13.4.6 为发布创建脚本 13.4.7 删除发布 13.5 订阅发布 13.5.1 订阅的实质 13.5.2 创建订阅 13.5.3 查看订阅属性 13.5.4 更新、维护和删除订阅 13.5.5 验证订阅 13.5.6 重新初始化订阅 第Ⅳ部分 SQL Server 2008的优化与维护 第14章 分析和监视SQL Server 2008 14.1 监视服务器的性能和活动 14.1.1 监视SQL Server的原因 14.1.2 为监视做准备 14.1.3 监视工具和资源 14.2 使用复制监视器 14.2.1 启动并使用复制监视器 14.2.2 添加发布服务器和发布服务器组 14.3 使用事件日志 14.3.1 检查应用程序日志 14.3.2 检查SQL Server事件日志 14.3.3 检查SQL Server代理事件日志 14.4 监视SQL Server的性能 14.4.1 选择要监视的计数器 14.4.2 创建性能日志 14.4.3 查看数据收集器报告 14.4.4 配置性能计数器警报 14.5 配置管理数据仓库 14.5.1 了解管理数据仓库 14.5.2 创建管理数据仓库 14.5.3 设置数据收集 14.5.4 管理收集和生成报表 14.6 使用事件探查器解决性能问题 14.6.1 使用事件探查器 14.6.2 新建跟踪 14.6.3 使用跟踪 14.6.4 保存跟踪 14.6.5 重播跟踪 第15章 备份和还原SQL Server 2008 15.1 创建备份和还原计划 15.1.1 开始备份和还原计划 15.1.2 规划镜像与镜像数据库的备份 15.1.3 规划被复制数据库的备份 15.1.4 规划大型数据库的备份 15.1.5 规划备份压缩 15.2 选择备份设备和媒体 15.3 使用备份策略 15.4 创建备份设备 15.5 执行备份 15.5.1 在SQL Server Management Studio中创建备份 15.5.2 使用多个设备的条带 备份 15.5.3 使用Transact-SQL备份 15.5.4 执行事务日志备份 15.6 还原数据库 15.6.1 数据库损坏及解决方法 15.6.2 从正常备份还原数据库 15.6.3 还原文件和文件组 15.6.4 将数据库还原到不同位置 15.6.5 还原丢失的数据 15.6.6 创建备用服务器 15.6.7 使用Transact-SQL还原命令 15.7 还原master数据库 第16章 数据库自动化和维护 16.1 数据库自动化和维护概述 16.2 使用数据库邮件 16.2.1 执行初始数据库邮件配置 16.2.2 管理数据库邮件配置文件和帐户 16.2.3 查看和更改数据库邮件系统参数 16.3 使用SQL Server代理 16.3.1 访问警报、操作员和作业 16.3.2 配置SQL Server代理服务 16.3.3 设置SQL Server代理邮件配置文件 16.3.4 使用SQL Server代理重新启动服务 16.4 管理警报 16.4.1 使用默认警报 16.4.2 创建错误消息警报 16.4.3 处理警报响应 16.4.4 删除、启用和禁用警报 16.5 管理操作员 16.5.1 注册操作员 16.5.2 删除和禁用对操作员的通知 16.5.3 配置防故障操作员 16.6 计划作业 16.6.1 创建作业 16.6.2 指定或更改作业定义 16.6.3 设置执行步骤 16.6.4 配置作业计划 16.6.5 处理作业警报 16.6.6 处理通知消息 16.6.7 管理现有作业 16.6.8 管理作业类别 16.7 自动完成服务器到服务器的 日常管理任务 16.7.1 在数据库之间复制用户、表、视图和其他对象 16.7.2 在数据库之间复制警报、操作员和计划作业 16.8 多服务器管理 16.8.1 事件转发 16.8.2 多服务器作业计划 16.9 数据库维护 16.9.1 数据库维护清单 16.9.2 使用维护计划 16.9.3 检查和维护数据库完整性 第17章 管理日志传送与数据库镜像 17.1 日志传送 17.1.1 日志传送:如何工作 17.1.2 为日志传送做准备 17.1.3 将SQL Server 2000 日志传送升级到 SQL Server 2008日志传送 17.1.4 在主数据库上启用日志传送 17.1.5 添加日志传送辅助数据库 17.1.6 改变事务日志备份的时间间隔 17.1.7 改变复制和还原的时间间隔 17.1.8 监视日志传送 17.1.9 故障转移到辅助数据库 17.1.10 禁用和删除日志传送 17.2 数据库镜像 17.2.1 数据库镜像基础知识 17.2.2 配置数据库镜像 17.2.3 管理和监视镜像 17.2.4 使用故障转移进行恢复 17.2.5 删除数据库镜像 17.3 使用镜像和日志传送 第18章 实施基于策略的管理 18.1 基于策略的管理简介 18.2 使用基于策略的管理 18.3 在整个企业内管理策略 18.3.1 导入和导出策略 18.3.2 配置中央管理服务器 18.3.3 针对多个服务器执行语句 18.3.4 配置和管理策略方面 18.3.5 创建和管理策略条件 18.3.6 创建和管理策略 18.3.7 管理策略目标和托管策略 18.3.8 评估策略 18.3.9 基于策略的管理策略疑难解答
几天前在盒子看到绿色Sql server很高兴,现将本人对绿色SQL Server的现实思路作一说明,不正确的地方还请指教。1. Sqlservr.exe 运行参数。 Sql Server的启动可以为Windows服务方式(默认),也可以以应用程序方式启动。下面介绍sqlservr.exe以应用程序方式启动时的参数问题。sqlservr 应用程序用法:sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f] [-eerror_log_path] [-lmaster_log_path] [-m] [-n] [-Ttrace#] [-v] [-x] [-g number] [-O] [-y number]-sinstance_name 指定要连接到的 SQL Server 实例。如果未指定命名实例,sqlservr 将启动 SQL Server 默认实例。重要 启动 SQL Server 实例时,必须从实例所在的适当目录使用 sqlservr 应用程序。对于默认实例,从 MSSQLBinn 目录运行 sqlservr。对于命名实例,在 MSSQL$instance_nameBinn 目录运行 sqlservr。-c 表示以独立于 Windows NT 服务控制管理器的方式启动 SQL Server 实例。当从命令提示符下启动 SQLServer 时,可使用该选项缩短启动 SQL Server 的时间。(注意:当使用该选项时,无法通过使用 SQLServer 服务管理器或 net stop 命令停止 SQL Server,而且如果已从 Microsoft Windows NT? 系统注销,则 SQL Server 将停止运行。)-dmaster_path指出 master 数据库文件的完全合法路径。在 -d 和 master_path 之间没有空格。-f以最小配置模式启动服务器。然后,系统管理员可对配置选项重新配置(使用 sp_configure 系统存储过程)。-eerror_log_path表示错误日志文件的完全合法路径。如果未指定路径,则默认实例的默认位置是 x:Program FilesMicrosoft SQL ServerMSSQLLogErrorlog,命名实例的默认位置是 x:Program FilesMicrosoft SQL ServerMSSQL$instance_nameLogErrorlog。在 -e 和 error_log_path 之间没有空格。-lmaster_log_path指示 master 数据库事务日志文件的完全合法路径。在 -l 和 master_log_path 之间没有空格。-m表示在单用户模式下启动 SQL Server 实例。如果 SQL Server 是以单用户模式启动的,则只能连接一个用户。CHECKPOINT 机制(它确保完成的事务定期从磁盘高速缓存写入数据库设备中)将不启动。(一般情况下,如果您遇到需要修复的系统数据库问题时,可使用此选项。)-n表示您不想使用 Windows NT 应用程序日志来记录 SQL Server 事件。如果用 -n 选项启动 SQL Server 实例,则最好也使用 -e 选项,否则将不会记录 SQL Server 事件。-Ttrace#表示应使用指定的有效跟踪标记 (trace#) 来启动 SQL Server 实例。跟踪标志用来启动具有非标准行为的服务器。有关可用跟踪标记 (trace#) 的更多信息,请参见跟踪标记。重要 当指定跟踪标志时,请使用 –T 来传递跟踪标志号。SQL Server 接受小写字母 t (-t);然而,-t 还设置 SQL Server 支持工程师所需的其它内部跟踪标记。-v显示服务器的版本号。-x禁用维护 CPU 统计。-g memory_to_reserve指定内存的兆字节整数,该内存被保留下来用于 SQL Server 2000 内部(进程内)运行的其它应用程序。-O指定不需要分布式 COM (DCOM),从而禁用异类查询。-y error_number如果 SQL Server 2000 遇到在该选项中指定的错误信息,它将把表象堆栈跟踪写入错误日志。可以使用多个 –y 参数指定多个错误。2. 系统数据库路径问题. 一般情况下,正常安装sql server之后,master等系统数据库的路径都是被设置为绝对路径,如果要改正数据库的路径为相对路径,可以使用以下SQl语句: sql:=format(' update sysaltfiles set filename='%s' where filename='%s' ', ['...data'+extractfilename(MDFFile),MDFFile]); ADOQuery1.Close; ADOQuery1.SQL.Text:=sql; ADOQuery1.ExecSQL; sql:=format(' update sysaltfiles set filename='%s' where filename='%s' ', ['...data'+extractfilename(LogFile),LogFile]); ADOQuery1.Close; ADOQuery1.SQL.Text:=sql; ADOQuery1.ExecSQL; sql:=Format('update sysdatabases set filename='%s' where name='%s'', ['...data'+extractfilename(MDFFile),Edit1.text]); ADOQuery1.Close; ADOQuery1.SQL.Text:=sql; ADOQuery1.ExecSQL;大家打开sysaltfiles 表和sysdatabases 一看就知道了,不多说了。除了系统数据库,其它的数据库也可以使用这种方法修改为相对路径。 使用相对路径的好处是可以让你的绿色Sql server随时copy到任意目录或是任意其它机器上启动,并且原来的数据库全部可以使用,如果是绝对路径到了其它机器就不行了。3. 注册表问题: 大家可以看下面的注册表文件Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$name][HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServer]"AuditLevel"=dword:00000000"DefaultLogin"="guest""ListenOn"=hex(7):53,00,53,00,4d,00,53,00,53,00,48,00,37,00,30,00,00,00,53,00, 53,00,4e,00,45,00,54,00,4c,00,49,00,42,00,00,00,00,00"LoginMode"=dword:00000000"Map_"="""Map#"="-""Map$"="""SetHostName"=dword:00000000"Tapeloadwaittime"=dword:ffffffff"uptime_pid"=dword:00001044"uptime_time_utc"=hex:26,57,c8,b3,fb,bb,c5,01[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerCurrentVersion]"CurrentVersion"="8.00.194""RegisteredOwner"="""SerialNumber"="""CSDVersionNumber"=dword:00000300"CSDVersion"="8.00.761""Language"=dword:00000804"checksum"=hex:37,35,32,32,63,31,35,38,61,65,37,64,34,63,64,37,35,30,64,61,30, 33,34,62,37,64,63,32,30,61,36,36,39,37,62,34,61,35,65,36,63,66,62,61,38,37, 39,36,37,31,66,33,39,61,36,65,35,64,30,33,37,36,37,65,64,36,33,30,61,39,63, 36,66,37,36,30,35,65,32,66,34,66,31,33,63,39,33,63,34,66,62,66,34,66,64,38, 64,65,36,64,35,34,37,33,35,39,35,32,36,63,61,32,36,63,33,32,64,34,36,33,65, 36,39,34,30,65,61,37,64,35,30,61,66,34,64,32,66,38,37,36,30,61,39,64,30,61, 32,36,64,65,66,66,00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerParameters][HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerSuperSocketNetLib]"ProtocolList"=hex(7):74,00,63,00,70,00,00,00,6e,00,70,00,00,00,00,00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerSuperSocketNetLibNp]"PipeName"="\.pipeMSSQL$$namesqlquery"[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameMSSQLServerSuperSocketNetLibTcp]"TcpHideFlag"=dword:00000000"TcpDynamicPorts"="$port""TcpPort"="$port"[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server$nameSetup]"FeatureName"="SqlRun""FirstStart"=dword:00000000"ProductCode"="{E09B48B5-E141-427A-AB0C-D3605127224A}""SQLDataRoot"="$path""SQLPath"="$path"这是注册一个Sql Server实例所要使用的注册表,把里面的$name,$path,$port替换成你定义的实例名,当前程序所有路径,监听端口,然后导入注册表就可以了。4. 启动Sql Server iPath:=ExtractFilePath(Application.ExeName); CommandLine:=PChar(iPath+'binnsqlservr.exe -d...datamaster.mdf -l...datamastlog.ldf -e...Loglog.txt+Edit1.Text); CreateProcess( nil, CommandLine, nil, nil, true, CREATE_NO_WINDOW, nil, PChar(iPath+'binn'), StartupInfo, ProcessInformation )也可以直接写个.bat运行就ok了.5. 启动日志问题。 这个问题最简单,因为在执行sqlservr.exe时指定的有log文件,你只用用个定时器(50ms)读文件,就可以在程序中显示出来启动日志了,呵呵,这只是个思想,具体的自已想办法吧. 6. 停止服务 用CreateProcess可以得到进程ID,TerminateProcess就关了sql server进程,服务就停了,简单吧。根据上面的6个步骤,你就可以自已搞定一个绿色的Sql Server了.并且你可以根据不同的sql server版本,整理出所有版本的绿色sql server。绿色 sql server 企业版绿色 sql server 个人版绿色 MSDE... ...这样以后遇到什么操作系统都全部搞定。 最后说一句,只要你能把几个Sql server版本的数据整理好(主要是系统数据库的路径问题(好像现在盒子已经有绿色企业版的文件了),DLL全部copy就OK了),都可以使用我的管理工具进行管理,呵呵,当然你也可以作出自已的管理器。我的管理器,主要是为了我自已用,大家如果用着可以,请多提意见。由于sql server数据太大,并且盒子上已经有了,这次只上传了exe和目录结构。不知道说的是否正确,如果还有什么问题,我们一起交流. Email: 11826088@163.com

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧