文档库 最新最全的文档下载
当前位置:文档库 › 课题_SQL Server的还原

课题_SQL Server的还原

课题_SQL Server的还原
课题_SQL Server的还原

SQL Server的还原

1.差异备份的还原

不备份结尾日志的情况下还原数据

创建差异备份的放在我们已经在前面一篇博客SQL Server的备份中提到了,这里我们不再赘述,下面我们给出差异备份与还原的T-SQL方法,代码如下:

--创建备份设备

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_1', 'd:\backup\MyAdvWorks_1.bak';

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_diff1', 'd:\backup\MyAdvWorks_diff1.bak';

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_log1', 'd:\backup\MyAdvWorks_log1.bak';

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_log2', 'd:\backup\MyAdvWorks_log2.bak';

--数据库备份阶段

-- 创建完整备份

BACKUP DATABASE MyAdvWorks

TO MyAdvWorks_1

WITH INIT;

GO

-- 在完整备份之后创建差异备份

BACKUP DATABASE MyAdvWorks

TO MyAdvWorks_diff1

WITH DIFFERENTIAL;

GO

--数据库还原阶段

-- 完整还原

RESTORE DATABASE MyAdvWorks

FROM MyAdvWorks_1

WITH NORECOVERY;

GO

-- 在完整还原之后差异还原

RESTORE DATABASE MyAdvWorks

FROM MyAdvWorks_diff1

WITH RECOVERY;

GO

在执行上述完整还原的时候,SSMS报错,错误内容如下:

Msg 3159, Level16, State 1, Line 2

The tail of the log for the database "MyAdvWorks" has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do not want to lose. Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the contents of the log.

Msg 3013, Level16, State 1, Line 2

RESTORE DATABASE is terminating abnormally.

这是因为,对于使用完全恢复模式或大容量日志恢复模式的数据库,在大多数情况下,您必须在还原数据库前备份日志的结尾。还原数据库而不首先备份日志的末尾将导致错误,除非RESTORE DATABASE 语句包含WITH REPLACE 或WITH STOPAT 子句,此子句必须指定数据备份的结束时间或在数据备份结束之后发生的事务。有关结尾日志备份的详细信息,请参阅结尾日志备份(SQL Server)。RESTORE的语法可以参考RESTORE (Transact-SQL)。为了解决上述错误,我们将完整还原的TSQL语句修改如下:

-- 完整还原

RESTORE DATABASE MyAdvWorks

FROM MyAdvWorks_1

WITH REPLACE,NORECOVERY;

GO

REPLACE 选项的影响

应尽可能避免使用REPLACE,而且在使用该选项之前必须仔细考虑。还原一般会防止意外使用一个数据库覆盖另一个数据库。如果RESTORE 语句中指定的数据库已存在于当前服务器上,并且指定的数据库系列GUID 与备份集中记录的数据库系列GUID 不同,则不还原该数据库。这是一项重要的安全保护措施。

使用REPLACE 选项后,就会忽略还原时通常执行的几项重要安全检查。忽略的检查如下:

?还原时使用其他数据库的备份覆盖现有数据库。

使用REPLACE 选项后,即使指定的数据库名称与备份集中记录的数据库名称不同,还原也允许您使用备份集中任何一个数据库覆盖现有数据库。这会导致一个

数据库意外覆盖另一个数据库。

?在没有获取结尾日志备份并也没有使用STOPAT 选项的情况下,使用完整恢复模式或大容量日志恢复模式对数据库进行还原。

使用REPLACE 选项后,由于没有备份最近写入的日志,您会丢失提交的作业。

?覆盖现有文件。

例如,可能会错误地覆盖错误类型的文件,如 .xls 文件或非联机状态的其他数据库正在使用的文件等。如果覆盖现有文件,则即使所还原的数据库是完整的,也

有可能丢失某些数据。

RECOVERY 和NORECOVERY 的比较

仔细观察上述完整还原和差异还原的TSQL语句,我们可以看到在完整还原阶段,使用了WITH NORECOVERY,而差异还原,则是使用了RECOVERY。

?NORECOVERY 指定不发生回滚。从而使前滚按顺序在下一条语句中继续进行。在这种情况下,还原顺序可还原其他备份,并执行前滚。

?RECOVERY(默认值)表示,应在完成当前备份前滚之后执行回滚。恢复数据库要求要还原的整个数据集(“前滚集”)必须与数据库一致。如果前滚集尚未前滚

到与数据库保持一致的地步,并且指定了RECOVERY,则数据库引擎将发出错误。

?因此RESTORE...WITH RECOVERY状态就表明此时数据库已经处于一致性状态了。一般都是数据库还原的最后一步才会使用RESTORE...WITH RECOVERY,其他时候都是使用RESTORE...WITH NORECOVERY。

前滚与回滚的区别

前滚和回滚是SQL Server中的两个事务操作。

?前滚用于恢复之前的操作。

比如:执行一个删除一条记录的命令,刚刚把该操作的日志写完(即在日志中已经commit),并准备执行删除操作时,但是此时停电了,因此这条记录的删除工作没有完成。在下次启动SQL Server时,数据库会读取日志最近的一个检查点(checkpoint),然后重做所有已经commit的事务,这就包括之前删除记录的操作。

?回滚用于撤销之前的操作。

比如:我要执行一个银行转账的事务,从账户A中转出1000元到账户B中,在我执行完A-1000的时候,数据库down掉了,此时整个事务还没有执行完,因此事uncommitted的。所以在下次启动SQL Server 的时候,数据库会读取日志最近的一个检查点(checkpoint),回滚所有那些uncommitted的事务。比如在这里会撤销A-1000的操作,也就是会往A账户中加回去1000元。

2.事务日志的还原

在数据库中,使用最频繁的应该是事务日志的备份,那么下面就讲讲事务日志的备份与还原。TSQL代码如下:

--开始:实验2:事务日志备份与---------------------------------------------

--创建备份设备

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_1', 'd:\backup\MyAdvWorks_1.bak';

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_diff1', 'd:\backup\MyAdvWorks_diff1.bak';

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_log1', 'd:\backup\MyAdvWorks_log1.bak';

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_log2', 'd:\backup\MyAdvWorks_log2.bak';

--数据库备份阶段

-- 创建完整备份

BACKUP DATABASE MyAdvWorks

TO MyAdvWorks_1

WITH INIT;

GO

-- 在完整备份之后创建差异备份

BACKUP DATABASE MyAdvWorks

TO MyAdvWorks_diff1

WITH DIFFERENTIAL;

GO

--事务日志备份

BACKUP LOG MyAdvWorks

TO MyAdvWorks_log1;

GO

--数据库还原阶段----------

--结尾日志备份,结尾日志备份在还原阶段,在restore之前先进行结尾日志备份

use master

BACKUP LOG MyAdvWorks

TO MyAdvWorks_log2

WITH INIT,

NORECOVERY;

GO

-- 完整还原

RESTORE DATABASE MyAdvWorks

FROM MyAdvWorks_1

WITH NORECOVERY;

GO

-- 差异还原

RESTORE DATABASE MyAdvWorks

FROM MyAdvWorks_diff1

WITH NORECOVERY;

GO

--事务日志还原

RESTORE LOG MyAdvWorks

FROM MyAdvWorks_log1

WITH NORECOVERY;

GO

--结尾日志还原

RESTORE LOG MyAdvWorks

FROM MyAdvWorks_log2

WITH RECOVERY;

GO

--结束:实验2---------------------------------------------

3.备份到一个逻辑设备中

观察上面的备份我们可以发现,我们创建了四个逻辑备份设备,分别用户存储完整备份,差异备份,事务日志备份和结尾日志备份。然后恢复的时候也是指定到这四个不同的备份设备,但是当我们只创建一个备份设备,并且备份到同样一个备份设备的时候。备份工作可以完成,还原工作就不能完成了。比如如何区分差异还原和完全还原,如何区分事务日志还原和结尾日志还原。因此无法通过TSQL进行精确还原。

但是使用SSMS的话,我们可以在一个逻辑设备,并且进行精确还原。

解决问题(PS:2012-7-9)

今天在使用restore stopat的时候看到了restore中有file关键字,并且在备份的时候在message中看到了file 1等字段,所以我就想这个file是不是就是备份集呢?后来验证是的,因此也就找到了使用一个逻辑设备进行备份还原的方法。代码示例如下

--开始:实验2:事务日志备份与---------------------------------------------

--创建备份设备

EXEC sp_addumpdevice 'disk', 'MyAdvWorks_1', 'd:\backup\MyAdvWorks_1.bak';

--数据库备份阶段

-- 创建完整备份

BACKUP DATABASE MyAdvWorks

TO MyAdvWorks_1

WITH INIT;

GO

/*

Processed 280 pages for database 'MyAdvWorks', file 'MyAdvWorks' on file 1.

Processed 2 pages for database 'MyAdvWorks', file 'MyAdvWorks_log' on file 1.

BACKUP DATABASE successfully processed 282 pages in 0.257 seconds (8.568 MB/sec).

*/

-- 在完整备份之后创建差异备份

BACKUP DATABASE MyAdvWorks

TO MyAdvWorks_1

WITH DIFFERENTIAL;

GO

/*

Processed 40 pages for database 'MyAdvWorks', file 'MyAdvWorks' on file 2.

Processed 1 pages for database 'MyAdvWorks', file 'MyAdvWorks_log' on file 2.

BACKUP DATABASE WITH DIFFERENTIAL successfully processed 41 pages in 0.108 seconds (2.965 MB/sec).

*/

--事务日志备份

BACKUP LOG MyAdvWorks

TO MyAdvWorks_1;

GO

/*

Processed 4 pages for database 'MyAdvWorks', file 'MyAdvWorks_log' on file 3.

BACKUP LOG successfully processed 4 pages in 0.078 seconds (0.338 MB/sec).

*/

--数据库还原阶段----------

--结尾日志备份,结尾日志备份在还原阶段,在restore之前先进行结尾日志备份

BACKUP LOG MyAdvWorks

TO MyAdvWorks_1

WITH NORECOVERY;

GO

/*

Processed 1 pages for database 'MyAdvWorks', file 'MyAdvWorks_log' on file 4. BACKUP LOG successfully processed 1 pages in 0.059 seconds (0.041 MB/sec).

*/

-- 完整还原

RESTORE DATABASE MyAdvWorks

FROM MyAdvWorks_1

WITH FILE=1,

NORECOVERY;

GO

/*

Processed 280 pages for database 'MyAdvWorks', file 'MyAdvWorks' on file 1. Processed 2 pages for database 'MyAdvWorks', file 'MyAdvWorks_log' on file 1. RESTORE DATABASE successfully processed 282 pages in 0.363 seconds (6.066 MB/sec). */

-- 差异还原

RESTORE DATABASE MyAdvWorks

FROM MyAdvWorks_1

WITH FILE=2,

NORECOVERY;

GO

/*

Processed 40 pages for database 'MyAdvWorks', file 'MyAdvWorks' on file 2.

Processed 1 pages for database 'MyAdvWorks', file 'MyAdvWorks_log' on file 2. RESTORE DATABASE successfully processed 41 pages in 0.129 seconds (2.483 MB/sec). */

--事务日志还原

RESTORE LOG MyAdvWorks

FROM MyAdvWorks_1

WITH FILE=3,

NORECOVERY;

GO

/*

Processed 0 pages for database 'MyAdvWorks', file 'MyAdvWorks' on file 3.

Processed 4 pages for database 'MyAdvWorks', file 'MyAdvWorks_log' on file 3. RESTORE LOG successfully processed 4 pages in 0.044 seconds (0.599 MB/sec).

*/

--结尾日志还原

RESTORE LOG MyAdvWorks

FROM MyAdvWorks_1

WITH FILE=4,

RECOVERY;

GO

/*

Processed 0 pages for database 'MyAdvWorks', file 'MyAdvWorks' on file 4.

Processed 1 pages for database 'MyAdvWorks', file 'MyAdvWorks_log' on file 4. RESTORE LOG successfully processed 1 pages in 0.019 seconds (0.128 MB/sec).

*/

--结束:实验2---------------------------------------------

在备份的时候,message中显示文件被备份到了哪一个file中,所以在restore的时候,指定file序号就可以执行还原了。

SQLServer数据库试题九及答案

SQL Server数据库试题九及答案 一、选择题(每题2分,共30分) 1、下面不属于数据定义功能的SQL语句是:() A.CREAT TABLE B.CREAT CURSOR C.UPDA TE D.ALTER TABLE 2、SQL数据库中的视图与下列哪项是对应的()。 A.关系模式 B.存储模式 C.子模式 D.以上都不是 3、下列选项中不是数据库复制类型的是()。 A.快照复制 B.差异复制 C.事务复制 D.合并复制 4、下列说法错误的是: ()。 A.一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应 5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。 A.Echo B.Message C.Warn D.MsgBox 6、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是()。 A.聚集索引 B.非聚集索引 C.主键索引 D.唯一索引 7. SQL Server的字符型系统数据类型主要包括()。 A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int 8、以下选项中哪一项不是访问数据库系统的接口()。 A.ODBC B.OLE DB C.API D.ADO 9、在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是() A.* B.% C.- D.? 10、SELECT语句中与HA VING子句同时使用的是()子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 11~15题使用如下数据: 当前盘当前目录下有数据库db_stock,其中有表stock的内容是: 股票代码股票名称单价交易所 600600 青岛啤酒7.48 上海 600601 方正科技15.20 上海 600602 广电电子10.40 上海 600603 兴业房产12.76 上海 600604 二纺机9.96 上海 600605 轻工机械14.59 上海 000001 深发展7.48 深圳 000002 深万科12.50 深圳 11、有如下SQL语句 create view stock_view as select * from stock where 交易所=”深圳” 执行该语句后产生的视图包含的记录个数是() A.1 B.2 C.3 D.4 12、有如下SQL语句

SQLServer选择题含答案去原题

第一套选择题 1.下列说法错误的是()。 A.内嵌表值函数没有函数主体,返回的表是单个SELECT语句的结果集B.多语句表值函数的调用与内嵌表值函数的调用方法相同 C.多语句表值函数的功能可以用标量函数来实现 D.在内嵌表值函数的定义中,不使用BEGIN…END块定义函数主体2.以下哪个事件不能激活DML触发器的执行()。 A.SELECT B. UPDATE C. INSERT D. DELETE 3.以下哪个数据库实例不属于系统数据库()。 A.master B.model C.msdb D.temp 4.执行以下语句: DECLARE @n int Set @n=3 WHILE @n<5 Begin IF @n=4 Print ltrim(@n)+‘的平方数为’+ltrim(@n*@n) Set @n=@n+1 End 执行完成后循环次数为()。

A.0次B.1次 C.2次D.死循环 5.利用游标来操纵数据时,所用的FOR UPDATE子句充分利用了事务的哪个特性()。 A.原子性B.一致性 C.永久性D.隔离性 6.关于触发器的描述,下列说法正确的是()。 A.触发器是在数据修改前被触发,约束是在数据修改后被触发 B.触发器是一个能自动执行的特殊的存储过程 C.触发器作为一个独立的对象存在,与数据库中其他对象无关D.inserted表和deleted表是数据库中的物理表 7.关于服务器角色与数据库角色,说法正确的是()。 A.只能将一个登录名添加为某个固定服务器角色的成员 B.只能将一个登录名添加为某个固定数据库角色的成员 C.sysadmin是固定数据库角色 D.db_owner是固定服务器角色 8.关于创建永久备份设备,下列说法错误的是()。 A.执行系统存储过程sp_addumpdevice创建永久备份设备 B.执行系统存储过程sp_dropdevice删除永久备份设备 C.若被删除的“命名备份设备”的类型为磁盘,那么必须指定DELFILE选项D.只须指定该命名备份设备的物理名,无须指定该命名备份设备的逻辑名9.能够将‘java’课的学分赋值给变量的语句是哪一个()。

sqlserver习题及答案

S Q L S e r v e r习题及答 案 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

1. 有个用户的计算机不能连接到中心机房的SQL Server 2000上。你在调试过程中发现这个用户的计算机的网络功能是正常的,而且其他用户都能正常地连接到SQL Server 2000。下面的哪些工具有助于你诊断和解决该问题(多选)A. Enterprise Manager B. Server Network Utility C. Profiler D. Query Analyzer E. Client Network Utility 答:B和E 2. 你在SQL Server 2000创建了酒店管理系统的数据库HotelDB,并创建了表CustInfo。当下面的哪些数据库被删除的情况下,仍能正确地执行“SELECT * FROM CustInfo A. Model B. Tempdb C. Msdb D. Master E. Pubs 答:A、C、E 3. 你正在使用SQL Server 2000开发银行交易系统,为了保证商业数据在网络传输(用TCP/IP协议)时不会被窃取,你在SQL Server 2000中启用了网络加密功能。请问该功能在哪一层被实现? A. TCP/IP协议软件 B.超级套接字层 C.开放式数据服务 D.关系引擎 E.存储引擎 答:B 4. 你正在使用SQL Server 2000开发超市收银系统。在客户端编写软件时使用SQL语句“SELECT * FROM Products”来查询商品的信息,但是不小心把Products输入成Product。请问该错误在哪一层被发现? A.客户端的数据库API B.客户端的NET-LIBRARY C.服务器端的开放式数据服务 D.服务器端的关系引擎 E.服务器端的存储引擎

数据库技术(SQLServer)习题与参考答案

数据库技术(SQLServer)习题与参考答案 第一章: 1、SQL Server 2005有哪些新增特性? 答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性与可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强与SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务与数据挖掘。 2、SQL Server 2005安装的软件与硬件环境就是什么? 答:SQL Server 2005安装的软件与硬件环境参见教材6。 3、SQL Server 2005有哪些版本?有哪些服务组件? 答:SQL Server 2005包括企业版、标准版、工作组版、开发版与简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。 4、什么就是实例?经常提到的SQL Server 2005服务器与服务器实例就是否具有相同的含义? 答:实例就就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其她实例共享的系统及用户数据库。一个SQL Server服务器就就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为就是一个实例。 5、默认实例与命名实例有何差别?在安装与使用上有何不同? 答:实例又分为“默认实例”与“命名实例”,如果在一台计算机上安装第一个SQL SERVER 2005命名设置保持默认的话,那这个实例就就是默认实例。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。 6、SQL Server 2005的安全性验证分为哪两个阶段? 答:第1个阶段就是身份验证,验证用户就是否具有“连接权”;第2个阶段就是数据库的访问权,验证连接到服务器实例的用户,即已登录到服务器实例的用户,就是否具有“访问权”。 7、SQL Server 2005有哪些主要的实用工具?每个工具都有什么用途? 答:SQL Server Management Studio,就是Microsoft SQL Server 2005中的新组件,这就是一个用于访问、配置、管理与开发SQL Server的所有组件的集成环境,就是SQL Server 2005中最重要的管理工具。SQL Server Configuration Manager,用来管理SQL Server 2005所

(SQLServer)考试试题及答案

2013年(下)全国信息技术水平考试数据库应用系统设计技术水平证书 (SQL Server)考试试卷 第一大题:单选题(30 分) 1. (1分) 数据模型的三要素不包括()。 (A) 数据结构(B) 数据操作(C) 数据完整性约 束(D) 数据恢复 2. (1分) 数据的存储结构与数据逻辑结构之间的独立性称为数据的 ()。 (A) 结构独立性(B) 物理独立性(C) 逻辑独立 性(D) 分布独立性 3. (1分) 如果对于实体集A中的每一个实体,实体集B中可有多个实体与之联 系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。则称实体集A与B具有()。 (A) 1:1联系(B) 1:n联系(C) n:m联 系(D) 多种联系 4. (1分) 当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的()。 (A) 元组(B) 关键字(C) 记 录(D) 属性 5. (1分) 若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为()。 (A) R1(A,B,C,D) R2(A,E) (B) R1(A,B,C) R2(A,D,E) (C) R1(A,B,C) R2(D,E) (D) R1(A,B) R2(A,C,D,E) 6. (1分) SQL语言查询一次的结果是一个()。 (A) 元组(B) 表(C) 属性(D) 数据

库 7. (1分) 在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为()。 (A) 平凡函数依赖 (B) 部分函数依赖 (C) 完全 函数依赖 (D) 传递函数依赖 8 . (1分) 在Transact-SQL中,下列命令能让程序完全跳出循环的是( )。 (A) CASE (B) WAIT (C) BREAK (D) CONTINU E 9 . (1 分) 在Transact-SQL中,下列选项不属于数值型数据类型的是( )。 (A) NUMERIC (B) DECIMAL (C) INTEGER (D) DATE 10. (1分) 下列选项中,可以正确表达姓“张”的通配符是( )。 (A) 张 _ (B) 张 % (C) 张 ^ (D) 张& 1 1. (1 分) 下列聚合函数中正确的是( )。 (A) SUM (*) (B) MAX (*) (C) COUNT (*) (D) AVG (*) 12. (1 分) 如果某一列的数据类型是FLOAT,则不允许对该列使用的函数是( )。 (A) SUM (B) ABS (C) LEFT (D) ROUND 13 . (1 分 ) 在SQL的SELECT语句中,与投影运算对应的子句是( )。 (A) SELECT (B) FROM (C) WHERE (D) GROU P BY 14. (1 分) 在SQL语言中,给表起别名应使用( )。 (A) AS (B) RENAME (C) SET (D) FOR 15. (1分) 在SELECT语句中使用GROUP BY SNO时,SNO必须() 。 (A) 在WHERE中出现 (B) 在FROM中出现

SQLServer数据库管理-复习题

一、单选题 (说明:每题有且仅有一个正确答案,正确答案必须填入下表,否则不给分。) 1. 在Transcat-SQL语句中,一个select语句中,()。 A、最多可以使用六个表 B、最多可以使用四个表 C、最多可以使用二个表 D、对表的数目没有限制 2. 在SQL SERVER 2008中,要给查询出的结果集按照升序排序可以使用()子句。 A 、Having B、Order by C、distinct D、Group by 3.你使用以下T-SQL语句创建了一个数据库benet和一个表students, create database benetcreate table students(id int,stuname nchar(10))请问这两个语句是:( ) A、DDL(数据定义语言) B、DML(数据操纵语言) C、DCL(数据控制语言) 4.Northwind数据库中有一张Customers表用于存放公司的客户信息,现在数据库管理员想通过使用一条SQL语句列出所有客户所在的城市,而且列出的条目中没有重复项,那么他可以在SELECT City FROM Customers语句中使用()关键词。 A、TOP B、DISTINCT C、DESC D、ASC 5.关于创建数据库的说法正确的是:( ) A、新创建的数据库中不包含表对象 B、新创建的数据库中包含model数据库中的表对象 C、创建数据库应估算实际使用的大小,并一次性定义好需要的空间,否则数据增长将导致数据库不可 用 D、创建数据库时,应该将数据库文件分成多个,以实现冗余 6.数据库管理员创建了一个设备清单表格,包括以下几项:编号,名称,类型,价格,规格,数量。请问最适合做表格主键的是:( ) A、名称 B、类型,名称 C、编号,类型 D、规格,价格 7.SQL Server 2008的数据结构模型属于()模型。 A、网状 B、层次 C、树状 D、关系 8.以下关于SQL Server 2008中的视图和存储过程说法不正确的是:( ) A、存储过程可以比相同的T-SQL代码执行速度快 B、视图可以包含来自多个表中的列 C、视图中不包含任何存放在基表中的数据 D、存储过程中不能包含大量的T-SQL代码 9.执行语句:SELECT * from Item as a right outer join orderdetails as b on a.icode=b.itemcode将返回:( ) A、item 表和orderdetails表中的相关记录以及orderdetails表中其余的不相关记录 B、item 表和orderdetails表中的相关记录 C、item 表和orderdetails表中的相关记录以及item表中其余的不相关记录 10.引用完整性规则是针对()而言的。 A、外键 B、主键 C、非主属性 D、编号 11.SQLServer2008的组件中用来进行综合管理的是( ) A、事件探查器 B、联机丛书 C、查询分析器 D、企业管理器 12.主要用来执行Transact-SQL语句的是()。 A、事件探查器 B、联机丛书 C、查询分析器 D、企业管理器13.多表查询中定义表的别名的关键字是:() A、join B、on C、as D、where 14.你是公司的数据库管理员,数据库benet中有个员工表employees,该表中有职务列。你想检查哪些员工的信息中没有填写职务一栏,应该使用子句:( ) A、Select * from employees where 职务=NULL B、Select * from employees where 职务=’NULL’ C、Select * from employees where 职务IS NULL D、Select * from employees where 职务IS ‘NULL’ 15.数据库管理员小明希望将旧服务器上的数据库转移到新购置的服务器上,该如何做:( ) A、将原有服务器上的数据库文件剪切至移动硬盘上,再复制到新服务器上 B、将原有服务器上的数据库文件备份至移动硬盘上,再复制到新服务器上 C、将原有服务器上的数据库文件分离,再复制到新服务器上,在新服务器上执行附加的操作 D、将原有数据库服务器上的硬盘安装在新服务器上 16.执行语句select len(‘hello’)的结果是:( ) A、7 B、hello hai C、5 D、hello 17.下面哪一项不属于关系数据库中的完整性规则:( ) A、实体完整性规则 B、索引完整性规则 C、引用完整性规则 D、数据完整性规则 18.你是某软件公司的SQL Server 2008数据库管理员,一天公司一名开发工程师说他无法使用sa帐号连接到公司用于测试的SQL Server 2008数据库服务器上,当进行连接时出现如下图所示的错误信息: 但是当他使用自己的域用户帐时却可以登录到该服务器上,那么产生这种情况最有可能的原因是:( ) A、该SQL Server服务器上的sa帐户被禁用 B、管理员误删除了该SQL Server上的sa帐户 C、该SQL Server使用了仅Windows的身份验证模式 D、没有授予sa帐户登录该服务器的权限 19.使用SQL命令将教师表teacher中工资salary字段的值增加200,应该使用的命令是()。 A、Replace salary with salary+200 B、Update teacher salary with salary+200 C、Update teacher set salary=salary+200 D、Update set salary with salary+200 20 . 当今常用的数据库有()。 A、SQLServer B、Sysbase C、ACCESS D、OFFICE 21.主要用来执行Transact-SQL语句的是()。 A、事件探查器 B、查询分析器 C、联机丛书 D、企业管理器 22.SQLServer服务器组和SQLServer服务器之间的关系是() A、SQLServer服务器组可以包含SQLServer服务器和SQLServer服务器子组 B、SQLServer服务器组不能包含SQLServer服务器

使用脚本生成sqlserver作业的方法

使用脚本生成sqlserver作业的方法: CREATE PROCEDURE JB_name -- 存储过程名称 AS BEGIN TRANSACTION DECLARE @JobID BINARY(16) DECLARE @ReturnCode INT SELECT @ReturnCode = 0 IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1 EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]' -- —删除同名的警报(如果有的话)。 SELECT @JobID = job_id FROM msdb.dbo.sysjobs WHERE (name = N' JB_name ') IF (@JobID IS NOT NULL) BEGIN -- 检查此作业是否为多重服务器作业 IF (EXISTS (SELECT * FROM msdb.dbo.sysjobservers WHERE (job_id = @JobID) AND (server_id <> 0))) BEGIN -- 已经存在,因而终止脚本 RAISERROR (N'无法导入作业“JB_name”,因为已经有相同名称的多重服务器作业。', 16, 1) GOTO QuitWithRollback END ELSE -- 删除[本地]作业 EXECUTE msdb.dbo.sp_delete_job @job_name = N' JB_name ' SELECT @JobID = NULL END BEGIN --—添加作业 EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N' JB_name ', @owner_login_name = N'SERVER\Administrator', @description = N'没有可用的描述。', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

数据库技术SQLServer习题与参考答案样本

数据库技术( SQLServer) 习题与参考答案 第一章: 1、 SQL Server 有哪些新增特性? 答: SQL Server 的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性; 开发人员生产力体现在Common Language Runtime集成、集成XML、 Transact-SQL增强和SQL 服务代理; 商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。 2、 SQL Server 安装的软件和硬件环境是什么? 答: SQL Server 安装的软件和硬件环境参见教材6。 3、 SQL Server 有哪些版本?有哪些服务组件? 答: SQL Server 包括企业版、标准版、工作组版、开发版和简易版五个版本, 服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、 Integration Services等。 4、什么是实例? 经常提到的SQL Server 服务器和服务器实例是否具有相同的含义? 答: 实例就是SQL服务器引擎, 每个SQL Server数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。一个SQL Server 服务器就是一个实例, 一台计算机上, 能够安装多个SQL SERVER, 每个SQL SERVER就能够理解为是一个实例。

5、默认实例和命名实例有何差别? 在安装和使用上有何不同? 答: 实例又分为”默认实例”和”命名实例”, 如果在一台计算机上安装第一个SQL SERVER 命名设置保持默认的话, 那这个实例就是默认实例。一台计算机上最多只有一个默认实例, 也能够没有默认实例, 默认实例名与计算机名相同。除默认实例外, 所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。 6、 SQL Server 的安全性验证分为哪两个阶段? 答: 第1个阶段是身份验证, 验证用户是否具有”连接权”; 第2个阶段是数据库的访问权, 验证连接到服务器实例的用户, 即已登录到服务器实例的用户, 是否具有”访问权”。 7、 SQL Server 有哪些主要的实用工具? 每个工具都有什么用途? 答: SQL Server Management Studio, 是Microsoft SQL Server 中的新组件, 这是一个用于访问、配置、管理和开发SQL Server 的所有组件的集成环境, 是SQL Server 中最重要的管理工具。SQL Server Configuration Manager, 用来管理SQL Server 所提供的服务、服务器与客户端通信协议以及客户端的基本配置管理。SQL Server外围应用配置器用来启用、禁用、开始或停止SQL Server 的功能、服务和远程连接。Notification Services 命令提示是用来开发及部署应用程序以产生和传送通知的平台。Reporting Services配置用于配置和管理SQL Server 的报表服务器。SQL Server 错误和使用情况报告。SQL Server Profiler

SQLServer数据库期末复习试题试卷及答案

现有关系数据库如下: 数据库名:教学数据库(Teacher) 教师信息表(教师编号,姓名,性别,民族,职称,身份证号) 课程信息表(课程号,课程名,标准课时数) 任课信息表(教师编号,课程号,实际课时数) 一、用SQL语言实现下列功能 1.创建数据库。 要求:数据库名为Teacher,主数据文件名为Teacher_data.MDF,存放在C:\目录下,初始值大小为2MB,增长方式为按照10%的比例增长;日志文件名为Teacher_log.LDF,存放在C:\目录下,初始值大小为1MB,增长方式为按照1MB的增量增长。 2.创建教师信息表Teacherinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Teacher_Id char 6 主键教师编号 Teacher_Name nvarchar 8 不允许空姓名 Sex nchar 2 检查(男/女) 性别 Birth_Place nvarchar 20 默认值(汉族) 民族 Zhicheng nvarchar 20 不允许空职称 H_Id char 16 唯一身份证号 3.创建课程信息表Courseinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Course_Id char 5 主键课程号 Course_Name nvarchar 20 不允许空课程名 B_Hours Int 检查(0~200)标准课时数 4.创建任课信息表TCinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Id int 自动编号 Teacher_Id char 6 外键教师编号 Course_Id char 5 外键课程号 S_Hours Int 实际课时数 5.将下列课程信息添加到课程表中: 课号课程名称课时数 30001 SQL Server数据库 90 30002 数据结构 60 30003 VB程序设计 72

SQLServer数据库基础认证考试模拟题(总)

SQLServer数据库基础认证考试模拟题(总) 1. ()可以同一个表的不同字段进行联接。(选一项) * * [单选题] * A、内联接 B、自联接(正确答案) C、外联接 D、左联接 2. 在SQL Server数据库中,UNIQUE约束与PRIMARY KEY约束之间最主要的区别是()(选一项) * * [单选题] * A、UNIQUE约束要求数据库中至少存在一行数据,因此必须在创建数据库表之后 才能创建,而PRIMARY KEY约束无此限制 B、UNIQUE约束允许有空值,而PRIMARY KEY约束不允许有空值 C、创建UNIQUE约束后,该数据行允许被更改,而PRIMARY KEY约束的数据行不允许更改 D、UNIQUE约束列不能创建外键,而PRIMARY KEY约束可以创建外键引用(正确答案) 3. 查询student表中的所有非空email信息, 以下语句正确的是()(选一项) * * [单选题] * A、Select email from student where email !=null B、Select email from student where email not is null C、Select email from student where email <> null D、Select email from student where email is not null(正确答案) 4. SQL语句:select * from students where SNO like '010[^0]%[A,B,C]%',可能会查询出的SNO是( )(选两项) * * * A、01053090A(正确答案)

SQLServer数据库试题九及答案.doc

SQL Server 数据库试题九及答案 一、选择题 (每题 2 分,共 30 分 ) 1、下面不属于数据定义功能的SQL 语句是:() A.CREAT TABLE B.CREAT CURSOR C.UPDA TE D.ALTER TABLE 2、 SQL 数据库中的视图与下列哪项是对应的()。 A. 关系模式 B.存储模式 C.子模式 D.以上都不是 3、下列选项中不是数据库复制类型的是()。 A. 快照复制 B.差异复制 C.事务复制 D. 合并复制 4、下列说法错误的是 : ()。 A. 一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应 5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。 A . Echo B .Message C. Warn D . MsgBox 6、在 SQL Server 2000 中,索引的顺序和数据表的物理顺序相同的索引是()。 A. 聚集索引 B.非聚集索引 C.主键索引 D. 唯一索引 7. SQL Server 的字符型系统数据类型主要包括()。 A.Int 、 money、 char B. char、 varchar、 text C. datetime、 binary 、 int D. char 、 varchar、 int 8、以下选项中哪一项不是访问数据库系统的接口()。 A.ODBC B.OLE DB C.API D.ADO 9、在 SELECT 语句的 WHERE 子句的条件表达式中,可以匹配0 个到多个字符的通配符是() A.* B.% C.- D.? 10、 SELECT 语句中与HAVING 子句同时使用的是()子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 11~15 题使用如下数据: 当前盘当前目录下有数据库db_stock, 其中有表stock 的内容是 : 股票代码股票名称单价交易所 600600 青岛啤酒7.48 上海 600601 方正科技15.20 上海 600602 广电电子10.40 上海 600603 兴业房产12.76 上海 600604 二纺机 9.96 上海 600605 轻工机械14.59 上海 000001 深发展 7.48 深圳 000002 深万科 12.50 深圳 11、有如下SQL 语句 create view stock_view as select * from stock where 交易所 =”深圳” 执行该语句后产生的视图包含的记录个数是() A.1 B.2 C.3 D.4 12、有如下SQL 语句

sqlserver学习心得

竭诚为您提供优质文档/双击可除 sqlserver学习心得 篇一:sqlserver学习总结 篇二:sQL学习心得 sQL数据库学习心得 经过一个学期的数据库课程的学习,我基本上掌握了创建数据库以及对数据库的操作的基础知识。学习了sQL数据库中的增、删、改、查等功能,数据库这门课涉及到以前的知识不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。 正是由于这门课和以前关系不大,很多知识也从未接触过,因此对于这门课的学习方法就是:理论课上认真听老师讲理论知识,上机课上仔细看老师的演示过程、在电脑上按照老师的演示步骤自己做,遇到自己无法做出来的过程(步骤)请教老师或者同学。 在第一章基础篇里:开篇任务一是对通讯录程序的主要功能做一个简单的介绍,并根据这些功能使用 sQLserver20XX设计了对应的数据库AddressList及数据表,

并建立数据表之间的关系;了解了通讯录程序数据库AddressList包含的三个表以及表的相关属性。由于我在本 学期初参加数学建模竞赛,耽误了几节课程,导致任务一的内容不会做。而c#数据库中的内容一环扣一环,后面的任务往往是在前面的任务基础上做的,所以一步跟不上,步步跟不上。在老师讲后面的任务时而我前面的任务既不太会做,又没有做完,导致在学习上很吃力。之后的任务都是在任务一的基础上的延伸,学习数据库的编写、功能等。在学习数据库和数据表创建和修改时,了解到表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中 的数据及修改表和删除表的操作。从课程中中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。我们上机的另一个内容是数据库的约束、视图、查询。 通过对数据库的学习,我也明白了很多行业都离不开数据库,就算是一个小型的超市也离不开它。可见数据库这门课的在生活中的广泛性与实用性,如果能够认真学好它将来必有成就。由于我在毕业后并没有打算从事这方面的工作,

数据库技术(SQLServer)习题与参考答案电子教案

数据库技术(SQLServer)习题与参考答案 第一章: 1、SQL Server 2005有哪些新增特性? 答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。 2、SQL Server 2005安装的软件和硬件环境是什么? 答:SQL Server 2005安装的软件和硬件环境参见教材6。 3、SQL Server 2005有哪些版本?有哪些服务组件? 答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。 4、什么是实例?经常提到的SQL Server 2005服务器和服务器实例是否具有相同的含义?答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。一个SQL Server服务器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。 5、默认实例和命名实例有何差别?在安装和使用上有何不同? 答:实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQL SERVER 2005命名设置保持默认的话,那这个实例就是默认实例。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。 6、SQL Server 2005的安全性验证分为哪两个阶段? 答:第1个阶段是身份验证,验证用户是否具有“连接权”;第2个阶段是数据库的访问权,验证连接到服务器实例的用户,即已登录到服务器实例的用户,是否具有“访问权”。 7、SQL Server 2005有哪些主要的实用工具?每个工具都有什么用途? 答:SQL Server Management Studio,是Microsoft SQL Server 2005中的新组件,这是一个用于访问、配置、管理和开发SQL Server的所有组件的集成环境,是SQL Server 2005中最重要的管理工具。SQL Server Configuration Manager,用来管理SQL Server 2005所提供的服务、服务器与客户端通信协议以及客户端的基本配置管理。SQL Server外围应

SQLServer数据库试题七及答案

SQL Server数据库试题七及答案 一.单项选择题(每题2分,计30分) 1._______是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。(c ) A、操作系统 B、关系模型 C、数据库管理系统 D、数据库 2.SQL Server2000是一款基于_________体系的关系型数据库管理系统。 ( A) A、客户机/服务器 B、主机 C、N层 D、单机 3.下面哪一个不是SQL Server2000的基本数据类型 ( A) A、VARIANT B、VARCHAR C、VARBINARY D、NVARCHAR 4.下面的类型中宽度最大的是 ( C) A、CHAR(5) B、VARCHAR(5) C、NCHAR(5) D、BIGINT 5.表达式LEN('电子学院') + DATALENGTH(GETDATE())的值为 ( C) A、8 B、10 C、12 D、16 6.在SQL Server2000中,数据存储的基本单位是页,页的大小是 ( D) A、1K B、2K C、4K D、8K 7.在使用CREATE DATABASE命令创建数据库时,FILENAME选项定义的是(D ) A、文件增长量 B、文件大小 C、逻辑文件名 D、物理文件名 8.关于表结构的定义,下面说法中错误的是 (C ) A、表名在同一个数据库内应是唯一的 B、创建表使用CREATE TABLE命令 C、删除表使用DELETE TABLE命令 D、修改表使用ALTER TABLE命令 9.下面哪一个约束用来禁止输入重复值? (A ) A、UNIQUE B、NULL C、DEFAULT D、FOREIGN KEY 10.下面关于登录账户、用户和角色的说法错误的是 ( C) A、登录账户是服务器级的 B、用户是登录账户在某个数据库中的映射

网院北语18秋《数据库应用SQLserver》作业_3(满分)

------------------------------------------------------------------------------------------------------------------------------ 单选题 1(4分) : 在SQL Server中,不是对象的是()。 A: 用户 B: 数据 C: 表 D: 数据类型 2(4分) : 数据定义语言的缩写词为 ( )。 A: DDL B: DCL C: DML D: DBL 3(4分) : 定单表Orders的列OrderID的类型是小整型(smallint),根据业务的发展需要改为整型(integer),应该使用下面的哪条语句()。 A: ALTER COLUMN OrderID integer FROM Orders B: ALTER TABLE Orders ( OrderID integer ) C: ALTER TABLE Orders ALTER COLUMN OrderID integer D: ALTER COLUMN Orders.OrderID integer 4(4分) : SQL的视图是从()中导出。 A: 基本表 B: 视图 C: 基本表或视图 D: 数据库 5(4分) : 在SQL语言中,如果要建立一个工资表包含职工号,姓名,职称,工资等字段,若要保证工资字段的取值不低于800元,最合适的实现方法是()。 A: 在创建工资表时为“工资”字段建立缺省 B: 在创建工资表时为“工资”字段建立检查约束 C: 在工资表建立一个触发器 D: 为工资表数据输入编写一个程序进行控制 6(4分) : SQL Server2000系统中的所有系统级信息存储于哪个数据库()。 A: master B: model C: tempdb D: msdb 7(4分) : 实体完整性要求属性不能取空值,这一点通常通过()。 A: 定义外键来保证 B: 定义主键来保证 C: 用户定义完整性来保证 D: 关系系统自动保证 8(4分) : 触发器是一种特殊的(),当对表执行了某种操作后,就回触发相应的触发器。 A: 表 B: 存储过程 C: 视图

SQLServer数据库笔试题和答案

一单词解释(2分/个)34分 Data数据Database数据库RDBMS关系数据库管理系统GRANT授权 REVOKE取消权限DENY 拒绝权限DECLARE定义变量PROCEDURE存储过程事务Transaction 触发器TRIGGER 继续continue 唯一unqiue 主键primary key 标识歹U identity 夕卜键foreign key 检查check 约束constraint 二编写SQL语句(5分/题)50分(包含笔试题问题和解答答案) 1)创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 Create table stu (学号int , 姓名varchar(8), 年龄int, 性别varchar(4), 家庭地址varchar(50), 联系电话int ); 2)修改学生表的结构,添加一列信息,学历 Alter table stu add 学历varchar(6); 3)修改学生表的结构,删除一列信息,家庭住址 Alter table stu drop colu mn 家庭地址 4)向学生表添加如下信息: 学号姓名年龄性别联系电话学历 1A22 男123456 小学 2B21男119中学3C23男110高中 5)修改学生表的数据,将电话号码以11开头的学员的学历改为大专” Update stu set 学历='大专' where联系电话like '11% ' 6)删除学生表的数据,姓名以C开头,性别为男'勺记录删除 Delect from stu where 性别='男'anc姓名like ' c%' 7)查询学生表的数据,将所有年龄小于22岁的,学历为大专”的,学生的姓名和学号示出 来 Select姓名,学号from stu where 年龄<22 and 学历='大专' 8)查询学生表的数据,查询所有信息,列出前25%的记录 Select top 25 perce nt * from stu 9)查询出所有学生的姓名,性别,年龄降序排列

相关文档
相关文档 最新文档