在MS SQL安装后,有Books Online, 这是最完整的帮助。

解决方案 »

  1.   


    .bak,.dat文件的处理注意一下恢复时的源文件路径和恢复到的路径是否正确
    RESTORE FILELISTONLY 命令可以帮助查看源文件路径

    RESTORE FILELISTONLY
    from disk='f:\tdmis.bak' 结果为
    tdmis_Data e:\database\tdmis.mdf D PRIMARY 497221632 35184372080640
    tdmis_Log e:\database\tdmis_log.ldf L NULL 1048576 35184372080640然后用
    restore database tdmis
    from disk='f:\tdmis.bak'
    with NORECOVERY,
    move 'tdmis_Data' to 'e:\database\tdmis.mdf',
    move 'tdmis_Log' to  'e:\database\tdmis_log.ldf'
    就可以了
      

  2.   

    An error occurred while trying to access the database information.
    我这样用了以后,数据库没了
    Enterprise Manager里面显示(loading)
    No items
      

  3.   

    把backup文件copy到另一个机器上,然后在另一机器上用企业管理器里的还原数据库
      

  4.   

    backup log source with no_log
    dbcc shrinkdatabase(source)BACKUP DATABASE source 
       TO DISK = 'c:\test\source.bak'Use master
    GO
    CREATE DATABASE testdb
    ON 
    ( NAME = testdb_dat,
       FILENAME = 'c:\test\testdbdat.mdf')
    LOG ON
    ( NAME = 'testdb_log',
       FILENAME = 'c:\test\testdblog.ldf')
    GORESTORE FILELISTONLY 
       FROM DISK = 'c:\test\source.bak'
    RESTORE DATABASE TestDB 
       FROM DISK = 'c:\test\source.bak'
       WITH MOVE 'source_data' TO 'c:\test\testdbdat.mdf',
       MOVE 'source_log' TO 'c:\test\testdblog.ldf', replace
      

  5.   

    请问一下
    restore Filelistonly这个参数是什么意思?
    with move又是什么意思呢?
      

  6.   

    恢复时的源文件路径和恢复到的路径是否正确
    RESTORE FILELISTONLY 命令可以帮助查看源文件路径

    RESTORE FILELISTONLY
    from disk='f:\tdmis.bak' 结果为
    tdmis_Data e:\database\tdmis.mdf D PRIMARY 497221632 35184372080640
    tdmis_Log e:\database\tdmis_log.ldf L NULL 1048576 35184372080640然后用restore databae tdmis
    from disk='f:\tdmis.bak'
    with NORECOVERY,
    move 'tdmis_Data' to 'd:\database\tdmis.mdf',
    move 'tdmis_Log to  'd:\database\tdmis_log.ldf'
    就可以了
      

  7.   

    这么说吧,我如何把一个库A备份以后,恢复到B中?然后再连续几次追加到B中?
    也就是实现 B = 2A甚至3A.....备份我用了:backup database a to disk = c:\1.data
    恢复我用了:restore database b from disk = c:\data with move a_data to d:\a.mdf, mov a_log to d:\a.ldf
    在下一次的追加,我怎么实现?
    用restore database b from disk = c:\data with norecovery ,move a_data to d:\a.mdf, mov a_log to d:\a.ldf
    可是不好使,B也没有了,企业管理器中变成了b(正在装载)...也就是不好使,打不开
    请问怎么办?怎么实现追加?
      

  8.   

    用SQL 语句,跨库insert吧,就是慢一点
      

  9.   

    如果有image字段,怎么insert?
      

  10.   

    用image类型方法:
    1、建立过程
    CREATE PROCEDURE sp_textcopy ( 
      @srvname    varchar (30), 
      @login      varchar (30), 
      @password    varchar (30), 
      @dbname      varchar (30), 
      @tbname      varchar (30), 
      @colname    varchar (30), 
      @filename    varchar (30), 
      @whereclause varchar (40), 
      @direction  char(1)) 
    AS 
    DECLARE @exec_str varchar (255) 
    SELECT @exec_str = 
            'textcopy /S ' + @srvname + 
            ' /U ' + @login + 
            ' /P ' + @password + 
            ' /D ' + @dbname + 
            ' /T ' + @tbname + 
            ' /C ' + @colname + 
            ' /W "' + @whereclause + 
            '" /F ' + @filename + 
            ' /' + @direction 
    EXEC master..xp_cmdshell @exec_str  2、建表和初始化数据
    create table 表名 (编号 int,image列名 image)
    go
    insert 表名 values(1,0x)
    insert 表名 values(2,0x)
    go3、读入
    sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','I' --注意条件是 编号=1sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','I' --注意条件是 编号=2go4、读出成文件
    sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','O' --注意条件是 编号=1sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','O' --注意条件是 编号=2
    go
      

  11.   

    不是呀,我的意思是,我有两个库A和B,A和B的结构是完全一样的,都有一个表,其中有image字段,请问如何把B库中的纪录追加到A中来呢?