加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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

发布时间:2023-08-24 14:27:36 所属栏目:Asp教程 来源:
导读:今天小编给大家分享一篇关于asp中sql的备份和恢复详细教程,感兴趣的朋友跟小编一起来了解一下吧!

  1、备份

  SQL="backupdatabase数据库名todisk='"&Server.MapPath("backup")&"/"&"backuptext.dat
今天小编给大家分享一篇关于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没有提供这些。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章