SQL Server 怎样把数据库文件弄成安装部署的那种   好像用到什么.bat批处理文件  就是在doc命令下执行数据库    哎,因为我不会,所以连说的都说不清   请大侠帮助啊

解决方案 »

  1.   


    --1 楼主将 下面的代码 保存成 CreateDb.txt
    use master
    go
    if exists (select * from sys.procedures  WHERE name ='sp_create_db')
    begin
    drop procedure sp_create_db
    end
    go
    set ansi_nulls on
    go
    set quoted_identifier on
    go
    -- ===============================================================
    -- Author: WangCD
    -- Create date: 2010-11-09
    -- Description: 通用创建数据库(单数据文件)
    -- ===============================================================
    create procedure sp_create_db
    @dbName varchar(32),
    @dbPath varchar(256)
    with encryption
    as
    begin
    declare @strSql varchar(2048)
    print convert(varchar(19),getdate(),120)+':正在创建['+@dbName+']数据库......'
    begin try
    set @strSql = 'create database ' + @dbName + char(10)
     +'on' + char(10)
     +'(' + char(10)
     +' name = '''+@dbName+'_Data'',' + char(10)
     +' filename = '''+@dbPath+'\'+@dbName+'_Data.mdf'',' + char(10)
     +' size=10MB,'+ char(10)
     +' maxsize = unlimited,'+ char(10)
     +' filegrowth=10%'+ char(10)
     +')'+ char(10)
     +'log on'+ char(10)
     +'(' + char(10)
     +' name = '''+@dbName+'_Log'',' + char(10)
     +' filename = '''+@dbPath+'\'+@dbName+'_Log.ldf'',' + char(10)
     +' size=2MB,'+ char(10)
     +' maxsize = unlimited,'+ char(10)
     +' filegrowth=5%'+ char(10)
     +')'+ char(10)
    --print @strSql
    exec (@strSql)
    end try
    begin catch
    print convert(varchar(19),getdate(),120)+':创建['+@dbName+']数据库失败:' + ERROR_MESSAGE()
    end catch
    print convert(varchar(19),getdate(),120)+':创建['+@dbName+']数据库成功'
    end
    go
    begin
    --数据库文件目录-----------------------------------------------------------------
    print convert(varchar(19),getdate(),120)+':初始化系统参数...'
    declare  @dataPath varchar(256) = 'D:\DBDATA'

    --创建数据库-----------------------------------------------------------------------
    --原始采集库
    if exists (select * from sys.databases where name='RTDB')
    begin
    drop database RTDB
    end
    exec  sp_create_db 'RTDB' , @dataPath

    end
    go2 -- 创建BAT  同目录下 保存以下代码为BAT@@ echo off
    echo .& pause
    echo      %date:~0,10% %time:~0,8%
    echo      正在部署数据库,请稍后......
    echo 正在部署数据库,请稍后......  >setup.log
    echo =========================================================
    echo ========================================================= >>setup.log
    echo      数据库文件默认安装路径为:[D:\DBData]
    echo 数据库文件默认安装路径为:[D:\DBData] >>setup.log
    md D:\DBData >>setup.logecho =========================================================
    echo ========================================================= >>setup.log
    echo      %date:~0,10% %time:~0,8%
    echo      正在创建系统必备数据库......
    echo 正在创建系统必备数据库...... >>setup.log
    sqlcmd -S LocalHost  -d master -E -i "CreateDB.txt" >>setup.log
    echo      %date:~0,10% %time:~0,8%
    echo      数据库创建完成!
    echo 数据库创建完成! >>setup.log
    ping -n 3 127.0.0.1 >nul
    echo =========================================================
    echo ========================================================= >>setup.log3 执行BAT
      

  2.   


    这位大侠 ···
    弱弱的问一下  SQL code  是不是数据库脚本啊
      

  3.   


    用C# 写的一个erp软件  现在想把程序和数据库弄成安装的那样  不要附加数据库才能运行程序的那样