紧接下来正是去除数据库 日志文件

 declare @logfilename varchar(100)
 declare @datafilename varchar(100)
select @logfilename=physical_name from sys.database_files where
type=1
select @datafilename=physical_name from sys.database_files where
type=0

  该命令在SQL Server 2010也是不支持,在SQL Server 二〇〇六和3000足以动用。

然后切换来master下,分离数据库

  declare @logfilename varchar(100)

DBCC SHRINKDATABASE(VFAsia)
DBCC SHRINKFILE(1)

  BACKUP LOG TestDB WITH NO_LOG 截断事务日志

紧接下来正是去除数据库 日志文件
—-Remove file
DECLARE @Result int
DECLARE @FSO_Token int
EXEC @Result = sp_OACreate ‘Scripting.FileSystemObject’, @FSO_Token
OUTPUT
EXEC @Result = sp_OAMethod @FSO_Token, ‘DeleteFile’, NULL,
@logfilename
EXEC @Result = sp_OADestroy @FSO_Token
末尾正是外加数据库
exec sp_attach_single_file_db
@dbname=’TestVFA’,@physname=@datafilename

注意:暗中同意奥莱 Automation Procedures 是禁止使用的大家需求启用它

  declare @datafilename varchar(100)

use master
exec sp_detach_db @dbname=’TestVFA’;

  exec sp_configure ‘Ole Automation Procedures’,1;

exec sp_configure ‘show advanced options’, 1;
RECONFIGURE;
exec sp_configure ‘Ole Automation Procedures’,1;
RECONFIGURE;

  最终正是外加数据库

在骨子里项目中,大家往往会把数据库的开始化大小设置的相当的大,为了缩短这么些开始化大小能够应用减弱数据,如

   近期的门类首要做多少的存档,把数据从三个数据库拉到另三个数据库,产生新数据库的日记文件充裕大;恐怕数据库在利用进程中会使日志文件不断加码,使得数据库的性情下降,并且占用大批量的磁盘空间。于是想把日志文件删除。最简便就是先分离数据库-》删除日志文件-》最后附加数据,笔者这里供给在SSIS中调用,所以已sql脚本为主。

近几来的种类爱护做多少的存档,把多少从二个数据库拉到另叁个数据库,照成新数据库的日记文件非常大;于是想把日志文件删除。最简便正是先分离数据库-》删除日志文件-》最终附加数据,小编这里须求在SSIS中调用,所以已sql脚本为主。首先大家需求获得数据库文件的门道:

  —-Remove file

  use master

  注意:默许Ole Automation Procedures 是剥夺的大家需求启用它

  1、首先把数据库分离,分离数据库以前一定要搞好数据库的全备份,接纳数据库——右键——义务——分离,其草药勾选删除连接!

  exec sp_attach_single_file_db
@dbname=’TestVFA’,@[email protected]

  DUMP TRANSACTION TestDB WITH NO_LOG 清除日志

  EXEC @Result = sp_OACreate ‘Scripting.FileSystemObject’,
@FSO_Token OUTPUT

  EXEC @Result = sp_OADestroy @FSO_Token

  一别离附加法: