请高手关注数据库应用程序的难题攻克? -------当场测试通过就给分!!
对于开发数据库应用程序,数据库用SQL.
用户第一次使用时,首先肯定是要将数据库导入SQL中的,随程序带的是数据库导出的*.dat文件.如:jcgl.dat文件.
1)如果SQL服务管理器如果没有正确启动,怎样上其启动2)SQL如果启动了又是怎样将jcgl.dat导入到SQL中的3)以及数据库的备份怎样实现  大家平时是怎样实现的.谢谢提供!!!!!!!!  提供源码  分可以再加

解决方案 »

  1.   

    数据库启动忘记了
    导入数据库,也就是我们通常所说的注册数据库在master表中sp_attach_db过程即可注册
    EXEC sp_attach_db @dbname = N'jcgl', 
       @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\jcgl.mdf', 
       @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\jcgl_log.ldf'
      

  2.   

    关于数据库恢复的问题,恢复时数据库必须以独点的方式进行恢复,如果不是的话,要杀掉所有与数据库相连的线程。
    在Master数据库中建如下存储过程:
    Create Procedure killspid (@dbname varchar(20))
    as
    begin
    declare @sql nvarchar(500)
    declare @spid int
    set @sql='declare getspid cursor for 
    select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
    exec (@sql)
    open getspid
    fetch next from getspid into @spid
    while @@fetch_status<>-1
    begin
    exec('kill '+@spid)
    fetch next from getspid into @spid
    end
    close getspid
    deallocate getspid
    endGO
    在恢复数据库之前先执行此存储过程,像这样:Use Master
    Go
    exec killspid 'jcgl.bak'
    Go
    restore database jcgl from disk='c:\jcgl.bak'
      

  3.   

    注册数据库:
    ADOConnection1.Execute('EXEC sp_attach_db @dbname = N''数据库名'','+
        '@filename1 = N''数据库文件'','+
        '@filename2 = N''数据库日志文件''');
      

  4.   

    1.你可以用com实现
    2.如果是库文件,你可以用sp_attach_db;如果是备份文件,你可以用sp_restore_db
    3.你可以用sp_backup