比如有数据库 post201501(有表a)
希望下个月自动生成库 post201502(此库要有a的表结构 不要数据)
具体的利用作业这些细节配置 我知道。(只要脚本)
但是脚本我的有问题。
declare @dbname varchar(20), @NextMonth datetime, @Yeah varchar(4), @Month varchar(2) set @NextMonth = dateadd(month,1,getDate()) set @Yeah = cast(year(@NextMonth) as varchar(4)) select @Month = case when month(@NextMonth) >= 10 then cast(month(@NextMonth) as varchar(2)) else '0' + cast(month(@NextMonth) as varchar(2)) end set @dbname='post' + @Yeah + @Month declare @sql varchar(5000) set @sql =' IF NOT EXISTS(select * from sys.databases where name = ''' + @dbname +''') BEGIN CREATE DATABASE ' + @dbname + ' ON PRIMARY ( NAME = N''' + @dbname + ''',FILENAME = N''D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\'+@dbname + '.mdf'',SIZE = 3072KB,FILEGROWTH = 1024KB ) LOG ON ( NAME = N''' + @dbname + '_log'',FILENAME = N''D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\'+@dbname + '_log.ldf'',SIZE = 1024KB,MAXSIZE = 2048MB,FILEGROWTH = 10240KB ) END ' exec (@sql)
我这样生成库 没把表(结构带过来。)
貌似不用这么麻烦,
1、建立个每个月指定时间的job,这个作业去执行存储过程。
2、在存储过程中可以建立想要的表
select * into TableNext from TableName
select into 会自动copy表结构(不带数据)