--1、能否利用SQL SERVER内部存储过程新建数据库和表??例如在MASTER数据库下建立新数据库。直接用语句(更详细的用户参考SQL联机帮助):
create database 库名

解决方案 »

  1.   

    --create database 后面的库名之类不能用变量,-- 改成exec封装就行了
    create procedure createdatabase(
    @dbname as varchar(20),
    @dat_name as varchar(20),
    @dat_filepath as varchar(255),
    @mdfname as varchar(20),
    @dat_size as int,
    @dat_maxsize as int,
    @dat_filegrowth as int)
    AS
    declare @s nvarchar(4000)
    if  exists  (select  *  from  master.dbo.sysdatabases  where name=@dbname ) 
    exec('drop database ['+@dbname+']')
    set @s='
    CREATE DATABASE ['+@dbname+']
    ON 
    ( NAME = ['+@dat_name+'],
       FILENAME ='''+ @dat_filepath+'\'+@mdfname+'.mdf'',
       SIZE = '+rtrim(@dat_size)+',
       MAXSIZE ='+rtrim(@dat_maxsize)+',
       FILEGROWTH ='+rtrim(@dat_filegrowth)+' )'
    exec(@s)
    go--调用
    exec createdatabase 'a','aa','c:\','aa',1,1,1
    go
      

  2.   

    --3、在SQL SERVER中,用手工执行命令方式备份数据库?backup database 库名 to disk='c:\备份文件名'--更详细的语法参考SQL联机帮助