asp中sql的备份和恢复详细教程

来源:爱站网时间:2018-09-22编辑:网友分享
今天小编给大家分享一篇关于asp中sql的备份和恢复详细教程,感兴趣的朋友跟小编一起来了解一下吧!

  今天小编给大家分享一篇关于asp中sql的备份和恢复详细教程,感兴趣的朋友跟小编一起来了解一下吧!

  1、备份

  

  SQL="backupdatabase数据库名todisk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'"

  setcnn=Server.createobject("adodb.connection")

  cnn.open"driver={SQLServer};Server=服务器名;uid=sa;pwd="

  cnn.executeSQL

  onerrorresumenext

  iferr0then

  response.write"错误:"&err.Descripting

  else

  response.write"数据备份成功!"

  endif

  %>

  2、恢复

  

  SQL="Restoredatabase数据库名fromdisk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'"

  setcnn=Server.createobject("adodb.connection")

  cnn.open"driver={SQLServer};Server=服务器名;uid=sa;pwd="

  cnn.executeSQL

  onerrorresumenext

  iferr0then

  response.write"错误:"&err.Descripting

  else

  response.write"数据恢复成功!"

  endif

  %>

  注:以上语句是把数据备份到磁盘的backup目录下,文件名为backuptext.dat。

  2、ASP中能修改SQL数据库结构吗?

  答:ALTERTABLE

  名称

  ALTERTABLE—更改表属性

  语法

  ALTERTABLEtable[*]

  ADD[COLUMN]columntype

  ALTERTABLEtable[*]

  ALTER[COLUMN]column{SETDEFAULTvalueDROPDEFAULT}

  ALTERTABLEtable[*]

  RENAME[COLUMN]columnTOnewcolumn

  ALTERTABLEtable

  RENAMETOnewtable

  ALTERTABLEtable

  ADDtableconstraintdefinition

  Inputs

  table

  试图更改的现存表的名称.

  column

  现存或新的列名称.

  type

  新列的类型.

  newcolumn

  现存列的新名称.

  newtable

  表的新名称.

  tableconstraintdefinition

  表的新的约束定义.

  Newtableconstraintforthetable

  输出

  ALTER

  从被更名的列或表返回的信息.

  ERROR

  如果一个列或表不存在返回的信息.

  描述

  ALTERTABLE变更一个现存表的定义.ADDCOLUMN形式用与CREATETABLE一样的语法向表中增加一个新列/字段。ALTERCOLUMN形式允许你从列/字段中设置或者删除缺省(值)。注意缺省(值)只对新插入的行有效。RENAME子句可以在不影响相关表中任何数据的情况下更改一个表或者列/字段的名称。因此,表或列/字段在此命令执行后仍将是相同尺寸和类型。ADDtableconstraintdefinition子句用与CREATETABLE一样的语法向表中增加一个新的约束。

  如果要改变表的属性,你必须是表的所有者.

  注意

  COLUMN关键字是多余的,可以省略.

  如果"*"跟在一个表名后面,表示该命令要对该表和所有继承级别低于该表的表进行操作;缺省时,该属性(更改)不会增加到任何子表或修改任何子表的相关名称。当增加或修改一个上级表(译注:继承级别高的表)的属性时总是应该这样的。否则,象下面这样的在继承级上进行的查询

  SELECTNewColumnFROMSuperClass*

  将不能工作,因为子表会比上级表少一个属性。

  在目前的实现里,新列/字段的缺省(值)和约束子句会被忽略。你可以随后用ALTERTABLE的SETDEFAULT形式设置缺省(值)。(你还不得不用UPDATE把已存在行更新为缺省值。)

  在目前的实现里,只有FOREIGNKEY约束可以增加到表中.要创建或者删除一个唯一约束,可以创建一个唯一索引(参阅CREATEINDEX).要想增加check(检查)约束,你需要重建和重载该表,用的参数是CREATETABLE命令的其他参数.

  要修改表的结构,你必须是表的所有人。不允许更改系统表结构的任何部分。PostgreSQL用户手册里有关于继承的更多信息.

  请参考CREATETABLE部分获取更多有效参数的描述.

  用法

  向表中增加一个VARCHAR列:

  ALTERTABLEdistributorsADDCOLUMNaddressVARCHAR(30);

  对现存列改名:

  ALTERTABLEdistributorsRENAMECOLUMNaddressTOcity;

  对现存表改名:

  ALTERTABLEdistributorsRENAMETOsuppliers;

  向表中增加一个外键约束:

  ALTERTABLEdistributorsADDCONSTRAINTdistfkFOREIGNKEY(address)REFERENCESaddresses(address)MATCHFULL

  兼容性

  SQL92ADDCOLUMN形式是兼容的,除了上面说的缺省(值)和约束外。ALTERCOLUMN形式是完全兼容的。

  SQL92对ALTERTABLE声明了一些附加的Postgres目前还不直接支持的功能:

  ALTERTABLEtableDROPCONSTRAINTconstraint{RESTRICTCASCADE}

  增加或删除表的约束(比如象检查约束,唯一约束或外键约束)。要创建或删除一个唯一约束,对应地创建或删除一个唯一索引,要修改其他类型的约束,你需要重建和重载该表,使用 CREATETABLE 命令的其他参数.

  例如,删除表distributors的任何约束:

  CREATETABLEtempASSELECT*FROMdistributors;

  DROPTABLEdistributors;

  CREATETABLEdistributorsASSELECT*FROMtemp;

  DROPTABLEtemp;

  ALTERTABLEtableDROP[COLUMN]column{RESTRICTCASCADE}

  前,要删除一个现存的列,表必须重新创建和重新装载:

  CREATETABLEtempASSELECTdid,cityFROMdistributors;

  DROPTABLEdistributors;

  CREATETABLEdistributors(

  didDECIMAL(3)DEFAULT1,

  nameVARCHAR(40)NOTNULL,

  );

  INSERTINTOdistributorsSELECT*FROMtemp;

  DROPTABLEtemp;

  重命名列/字段和表名是PostgreSQL扩展。SQL92没有提供这些。

  以上就是asp中sql的备份和恢复详细教程,想必都了解了吧,更多相关内容请继续关注爱站技术频道。

上一篇:ASP生成html的几种方法

下一篇:asp分页函数详细教程

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载