Declare @db varchar(255)
declare c cursor for
select name from sys.databases where is_read_only=0 and state=0 and name NOT In ('master','model','tempdb','msdb')
open c
fetch c into @db
while @@fetch_status=0
Begin
exec SP_dboption @db,'trunc. log on chkpt.','true'
DBCC shrinkdatabase (@db)
fetch next from c into @db
End
close c
Deallocate c
答案 0 :(得分:1)
sp_dboption
。请参阅Discontinued Database Engine Functionality in SQL Server 2012。
此外,'trunc. log on chkpt
已替换为SQL Server 2000中的SIMPLE
恢复模型。更新现代版本代码的时间。应避免使用SHRINKDATABASE
,因为它会引入碎片。
答案 1 :(得分:0)
example:数据库名称为example,表名称为table1,过程名称为pro1,因此您必须编写以下内容: exec example.dbo.pro1(如果有,则为@parameter) 从examol.dbo.table1中选择*