我下了个网站,数据库是sql2005的,只有.sql脚本文件,我想请问下大家,如何把.sql脚本文件导入数据库呢?我是这样做的:我新建了个数据库,然后在这个数据库上新建查询,然后在把.sql脚本文件里面的内容复制到新建查询上,然后分析,执行,请问大家,这样做的数据库完整吗?或者有什么好的方法去导入呢?前提是没有数据库,也没有.mdf文件,只有.sql脚本执行文件,如何才能用这个.sql文件把数据库还原出来呢?求教!!!

解决方案 »

  1.   

    你要先看下里面的SQL脚本代码。里面应该有创建数据库的语句。
      

  2.   

    可能他的sql脚本里包含了建库语句,看看有没有create database的语句
      

  3.   

    'SQL Server 2000'
    企业管理器   -->数据库-->右键-->所有任务-->附加数据库-->选择.mdf文件。之后按提示
    '代码'
    sp_attach_db   
      将数据库附加到服务器。   
        
      语法   
      sp_attach_db   [   @dbname   =   ]   'dbname'   
              ,   [   @filename1   =   ]   'filename_n'   [   ,...16   ]   
        
      参数   
      [@dbname   =]   'dbname'   
        
      要附加到服务器的数据库的名称。该名称必须是唯一的。dbname   的数据类型为   sysname,默认值为   NULL。     
        
      [@filename1   =]   'filename_n'   
        
      数据库文件的物理名称,包括路径。filename_n   的数据类型为   nvarchar(260),默认值为   NULL。最多可以指定   16   个文件名。参数名称以   @filename1   开始,递增到   @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。该列表还必须包括数据库分离后所有被移动的文件。   
        
      返回代码值   
      0(成功)或   1(失败)   
        
      结果集   
      无   
        
      注释   
      只应对以前使用显式   sp_detach_db   操作从数据库服务器分离的数据库执行   sp_attach_db。如果必须指定多于   16   个文件,请使用带有   FOR   ATTACH   子句的   CREATE   DATABASE。   
        
      如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行   sp_removedbreplication   从数据库删除复制。   
        
      权限   
      只有   sysadmin   和   dbcreator   固定服务器角色的成员才能执行本过程。   
        
      示例   
      下面的示例将   pubs   中的两个文件附加到当前服务器。   
        
      EXEC   sp_attach_db   @dbname   =   N'pubs',     
            @filename1   =   N'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs.mdf',     
            @filename2   =   N'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs_log.ldf'
    'mdf文件如何导入到SQL-server数据库!!'过程: 
    1.停掉MSSQLSERVER,将MSSQL安装目录下的E:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf和E:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf文件移走。 
    2.重新启动MSSQLSERVER,在SQL Server Enterprise Manager中可看到PUBS的图标是灰色的加了个'(置疑)',删除PUBS。至此是为了模拟Pubs数据库只留下了pubs.mdf,(pubs_log.ldf不再用到)。 
    3.将pubs.mdf移到MSSQL安装目录下E:\Program Files\Microsoft SQL Server\MSSQL\Data\ 
    4.在SQL查询分析器中执行 exec sp_attach_db 'pubs' ,'E:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf' 
    会有错误提示: 
    设备激活错误。物理文件名 'e:\Program Files\Microsoft SQL Server\MSSQL\data\pubs_log.ldf' 可能有误。 
    已创建名为 'E:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.LDF' 的新日志文件。 
    不过没关系,因为新日志文件已创建了,呵呵。 
    用此方法只要有.mdf文件,就能回复数据库。 
      

  4.   

    问题是里面没有create database语句啊.......那应该怎么办呢?
      

  5.   

    那就打开那个脚本,把create database相关的语句写在最前面.