转: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。
通过附加数据库创建数据库:
![程序代码](http://www.badguy.name/images/code.gif)
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。
![程序代码](http://www.badguy.name/images/code.gif)
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)