SQL server2005中文件备份与恢复
备份
BACKUP DATABASE mydb
TO DISK='c:\olddb.bak'
WITH INIT
--为了测试,把备份好的文件从C盘移动到D:\tempdb 文件夹
--还原
--1.用此语句得到备份文件的逻辑文件名:
RESTORE FILELISTONLY from DISK = N'd:\tempdb\olddb.bak' --备份文件存放路径
--看LogicalName,一般会有两个文件,如:
--olddb --主逻辑文件名称
--olddb_log --日志逻辑文件名称
--2.用以下语句还原数据库
RESTORE DATABASE new_db
from DISK = 'd:\tempdb\olddb.bak'
WITH MOVE 'olddb' TO 'd:\tempdb\newdb.mdf',
MOVE 'olddb_log' TO 'd:\tempdb\newdb_log.ldf'
/*--对以上代码补充说明:
RESTORE DATABASE 还原后数据库的名称
from DISK = '备份文件的路径\备份数据库名称.bak'
WITH MOVE '主逻辑文件名称' TO '还原后的路径\还原后数据文件名称.mdf',
MOVE '日志逻辑文件名称' TO '还原后的路径\还原后日志文件名称_log.ldf'
*/
--如果遇到页面错误乃至不能还原,可用以下误句强制还原,跳过页面错误:
RESTORE DATABASE dbname
from DISK='backupset_file'
WITH CONTINUE_AFTER_ERROR
--还原后用DBCC CHECKDB 修复数据库。
--注意:由于原始的备份集中有页面错误,还原后会有部分数据丢失。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/htl258/archive/2010/04/15/5490832.aspx
相关文档:
sql恢复xp_regread
删除掉xp_regread后,发现以前的作业不能查看,只能去恢复了。
exec sp_addextendedproc 'Xp_dirtree','xpstar.dll' 恢复后发现不能使用
找到dbcc addextendedproc ("Xp_regread","xpstar.dll") 还是不能使用
后来才发现恢复的时候要用小写dbcc addextended ......
sql之left join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
举例如下:
-------------------------------------------- ......
怎样从数据库里随机读取
一条记录,
SELECT TOP 1 * from dbo.Customers ORDER BY NEWID()
这样,如果是随机10
条,100条。。。。
SELECT TOP 10 * from dbo.Customers ORDER BY NEWID()
很简单吧。
不过top后面数字越大,运行速度越慢。不推荐数据字太大。
以后代码在SQL2000 ......
最近在一个项目中遇到需要在数据层就拼接表中一列数据的问题。
例如,test表中有个字段t,t列中的4行数据为1,2,3,4 ,要拼接成1+2+3+4,琢磨了一阵,本来想用游标,但是效率。。后来找到一段SQL,可以很方便地拼接。
DECLARE @STR VARCHAR(8000) ----定义查询字符串
SELECT @STR=ISNULL(@STR+'+','')+t from (SELECT DIST ......