MS SQL SERVER数据库备份BAK还原数据库
MS SQL SERVER数据库备份BAK还原数据库
由于数据误操作,想恢复一下操作前的数据。于是新建了一个空数据库。使用原来的备份文件 bak。来恢复成一个新的数据库。这样就可以手动恢复数据了。
但是在恢复新建数据库的时候总是不成功,提示错误入下:
The backup set holds a backup of a database other than the existing '数据库名称' database.
RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server, Error: 3154)
解决办法:
USE master
RESTORE DATABASE 新建的没有任何数据的数据库名
from DISK = 'e:\数据库备份文件.bak'
WITH MOVE '原来的逻辑名称' TO 'e:\新建的没有任何数据的数据库名.mdf',
MOVE '原来的逻辑名称_log' TO 'e:\新建的没有任何数据的数据库名_log.ldf',
STATS = 10, REPLACE
GO
例子:
USE master
RESTORE DATABASE guotu
from DISK = 'E:\数据库\DLibrary.bak'
WITH MOVE 'DLibrary_1' TO 'D:\数据库\guotu.mdf',
MOVE 'DLibrary_1_log' TO 'D:\数据库\guotu_log.ldf',
STATS = 10, REPLACE
GO
相关文档:
一、 SQL DMO 描述:SQL Distributed Management Objects(SQL分布式管理对象),存在于SQLDMO.dll文件中,实际上是一个COM 对象,通过调用SQL DMO的ListAvailableSQLServers方法取得。 列表类型:列举装有“客户端”和“服务端”的计算机。 适用条件:装有 SQL Server,且有SQLDMO.dll文件。 速度:中 调用示例:GetS ......
SQL语句优化:
(1)可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
(2)SELECT子句中避免使用 ‘ * ‘
(3)减少访问数据库的次数
方法3 (高效)?
SELECT A.EMP_NAME , A.SALARY , A.GRADE,
B.EMP_NAME , B.SALARY , B.GRADE
from EMP A,EMP B
WHERE A.EMP_NO = 342
AND B.EMP_NO = 291;
( ......
我发现自己理解起sql语句来很困难,今天看了一本书,顿时茅塞顿开,贴出来和大家分享一下
select语句执行顺序
(7)SELECT (8)DISTINCT (10)<TOP_specification> <select_list>
(1)from <left_table>
(3) <join_t ......
问题:
有一个分数表
id classid,score
1 01 120
2 01 128
3 02 98
4 04 134
5 04 78
现在要统计 各班score >120,和大于90分的人数
达到如下效果
classid >120 >90
01 &nb ......