{
USE master
BACKUP DATABASE yourDataBase TO Disk = 'device' --备份数据库
BACKUP LOG yourDataBase WITH NO_LOG --备份一个事务日志,该日志文件默认
--存储在 KEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer 目录下的 BackupDirectory 注册表键值中
}
{
--还原数据库
USE master
BACKUP DATABASE LKOA
TO DISK = 'D:\LKOA.bak'
--还原日志(不做该操作)
RESTORE LOG LKOA
FROM Disk = 'd:\device'
--下面为了移动数据库文件(要叫服务管理器停止)
RESTORE FILELISTONLY
FROM DISK = 'D:\LKOA.bak'
RESTORE DATABASE LKOA
FROM DISK = 'D:\LKOA.bak'
WITH MOVE 'LKOA' TO 'D:\testdb.mdf',
MOVE 'LKOA_log' TO 'd:\testdb.ldf'
}
{
为了备份数据库文件
select filename from sysfiles //得到数据库文件(包括数据文件和日志文件)的逻辑磁盘路径
暂停Sql Server服务管理器和启动操作,全部是在命令提示符
停止服务 命令:net stop mssqlserver
启动服务 命令:net start mssqlserver
///进入安装目录:\binn\后执行sqlservr.exe -c-s 启动
}
{
--附加数据库:LKOA
EXEC sp_attach_db @dbname = N'LKOA',
@filename1 = N'D:\Microsoft SQL Server\MSSQL\Data\LKOA_Data.mdf', --(数据库文件所在的磁盘位置)
@filename2 = N'D:\Microsoft SQL Server\MSSQL\Data\LKOA_Log.ldf' --(日志文件所在的磁盘位置)
--分离数据库:LKOA
EXEC sp_detach_db 'lkoa', 'true'
}
{
--查找所有用户数据库和数据库所对应的文件,在Sql Server的系统数据库master里的表sysdatabases里查询,如:
select name,filename from sysdatabases
--只读出数据库文件
--查找所有用户数据库和数据库所对应的文件,在Sql Server的系统数据库master里的表sysaltfiles里查询,如:
select name,filename from sysaltfiles
--以上例是将数据库文件和日志文件都可以读出来
--得到某数据库下所有的用户表的名称
select Name from sysobjects where xtype = 'u' and status > 0
}