. NET 技术讨论

学于明志,交流增加见识,讨论改变思维
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

对数据库的一些常用操作

Posted on 2005-12-30 18:51    阅读(262)  评论(0编辑  收藏  举报

{
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
}