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 server 2005 简单运用函数
1.null 函数
用法与oracle中nvl()类似,处理函数为isnull(),
例如:
select ename,sal+isnull(comm,0)
from emp
go
isnull(comm,0)的用法是: comm为null 则返回0 否则为 comm的值。
2.V ......
一、分页写法小例:
SELECT FIRST 10 templateid,code,name from template ;
SELECT FIRST 10 SKIP 10 templateid,code,name from template ;
SELECT * from shop ROWS 1 TO 10; –firebird2.0支持这种写法
二、显示表名和表结构
SHOW TABLES;
SHOW TABLE tablename;
四、更新字段注释
......
类型名称
Oracle
SQLServer
比较
字符数据类型
CHAR
CHAR
都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型
VARCHAR2
VARCHAR
Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串
NCHAR
NCHAR
前者最大长度2kb后者最大长度4 ......
最近在一个项目中遇到需要在数据层就拼接表中一列数据的问题。
例如,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 ......