WEB开发网
开发学院数据库MSSQL Server SQL Server 7六种数据移动方法 阅读

SQL Server 7六种数据移动方法

 2007-11-11 04:07:54 来源:WEB开发网   
核心提示: 4. 直接拷贝数据文件 把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在sql server(WINDOWS平台上强大的数据库平台) Query Analyzer中用语句进行恢复: EXEC sp_attach_db @dbname = 'test', @filename

  4. 直接拷贝数据文件

  把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在sql server(WINDOWS平台上强大的数据库平台) Query Analyzer中用语句进行恢复:

  EXEC sp_attach_db @dbname = 'test',
  @filename1 = 'd:\mssql(WINDOWS平台上强大的数据库平台)7\data\test_data.mdf',
  @filename2 = 'd:\mssql(WINDOWS平台上强大的数据库平台)7\data\test_log.ldf'
  这样就把test数据库附加到sql server(WINDOWS平台上强大的数据库平台)中,可以照常使用。如果不想用原来的日志文件,可以用如下的命令:
  EXEC sp_detach_db @dbname = 'test'
  EXEC sp_attach_single_file_db @dbname = 'test',
  @physname = 'd:\mssql(WINDOWS平台上强大的数据库平台)7\data\test_data.mdf'
  这个语句的作用是仅仅加载数据文件,日志文件可以由sql server(WINDOWS平台上强大的数据库平台)数据库自动添加,但是原来的日志文件中记录的数据就丢失了。
  
  5. 在应用程序中定制

  可以在应用程序(PB、VB)中执行自己编写的程序,也可以在Query Analyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要时SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:
1> select ... into new_tablename where ...
2> insert (into) old_tablename select ... from ... where ...
区别是前者把数据插入一个新表(先建立表,再插入数据),后者是把数据插入已经存在的一个表中,我个人喜欢后者,因为在编程的结构上,应用的范围上,第二条语句强于前者。

  6. sql server(WINDOWS平台上强大的数据库平台)的复制功能

  sql server(WINDOWS平台上强大的数据库平台)提供了强大的数据复制功能,也是最不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的复制工作,有些条件是必不可少的:
  1>sql server(WINDOWS平台上强大的数据库平台) Agent必须启动,MSDTC必须启动。
  2>所有要复制的表必须有主键。
  3>如果表中有text或image数据类型,必须使用with log选项,不能使用with no_log选项。
  另外max text repl size选项控制可以复制的文本和图像数据的最大规模,超过这个限制的操作将失败。
  4>在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$…。
  5>为sql server(WINDOWS平台上强大的数据库平台)代理使用的Windows NT帐号不能是一个本地的系统帐号,因为本地的系统帐号不允许网络存取。
  6>如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系。本人从事的工作是数据库管理员,要维护多台服务器中的数据库,经常把某台服务器中的某个数据库移动到另外一台服务器,对数据的移动有些心得体会,希望和大家共同交流。


上一页  1 2 

Tags:SQL Server 数据

编辑录入:coldstar [复制链接] [打 印]
赞助商链接