转:[SQL]分离数据库_附加数据库_创建数据库

转:http://www.badguy.name/article.asp?id=346 

查看服务器上的数据库信息/显示可用的数据库:

sp_helpdb
sp_helpdb [数据库名]
sp_databases
sp_helpfile(查看当前数据库的数据文件与日志文件)
如:
use pubs
go
SP_helpfile


分离数据库:sp_detach_db
EXEC sp_detach_db database_name

附加数据库

EXEC sp_attach_db @dbname = 'pubs',
   @filename1 = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/pubs.mdf',
   @filename2 = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/pubs_log.ldf'

注:只应对以前使用显式 sp_detach_db 操作从数据库服务器分离的数据库执行 sp_attach_db。如果必须指定多于 16 个文件,请使用带有 FOR ATTACH 子句的 Create DATABASE。

通过附加数据库创建数据库:

程序代码 程序代码

Create DATABASE Archive
ON PRIMARY (FILENAME = 'C:/program files/microsoft sql server/mssql/data/archdat1.mdf')
FOR ATTACH



指定多个数据文件和事务日志文件创建数据库

下面的示例使用三个 100 MB 的数据文件和两个 100 MB 的事务日志文件创建了名为 Archive 的数据库。主文件是列表中的第一个文件,并使用 PRIMARY 关键字显式指定。事务日志文件在 LOG ON 关键字后指定。注意 FILENAME 选项中所用的文件扩展名:主要数据文件使用 .mdf,次要数据文件使用 .ndf,事务日志文件使用 .ldf。

程序代码 程序代码

Create DATABASE Archive
ON
PRIMARY ( NAME = Arch1,
      FILENAME = 'c:/program files/microsoft sql server/mssql/data/archdat1.mdf',
      SIZE = 100MB,
      MAXSIZE = 200,
      FILEGROWTH = 20),
( NAME = Arch2,
   FILENAME = 'c:/program files/microsoft sql server/mssql/data/archdat2.ndf',
   SIZE = 100MB,
   MAXSIZE = 200,
   FILEGROWTH = 20),
( NAME = Arch3,
   FILENAME = 'c:/program files/microsoft sql server/mssql/data/archdat3.ndf',
   SIZE = 100MB,
   MAXSIZE = 200,
   FILEGROWTH = 20)
LOG ON
( NAME = Archlog1,
   FILENAME = 'c:/program files/microsoft sql server/mssql/data/archlog1.ldf',
   SIZE = 100MB,
   MAXSIZE = 200,
   FILEGROWTH = 20),
( NAME = Archlog2,
   FILENAME = 'c:/program files/microsoft sql server/mssql/data/archlog2.ldf',
   SIZE = 100MB,
   MAXSIZE = 200,
   FILEGROWTH = 20)
GO



SQL SERVER日志文件超大的处理办法
本来想去分离了删掉,但是删掉了又附加不进去

backup log dbname with NO_LOG
backup log dbname with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbname)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值