|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般选择自hanghwp的Blog
1、ASP中怎样完成SQL数据库备份、恢复!
答:asp在线备份sqlserver数据库:
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{SETDEFAULTvalue|DROPDEFAULT}
ALTERTABLEtable
RENAME[COLUMN]columnTOnewcolumn
ALTERTABLEtable
RENAMETOnewtable
ALTERTABLEtable
ADDtableconstraintdefinition
Inputs
table
试图变动的现存表的称号www.ckuyun.com.
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{RESTRICT|CASCADE}
增添或删除表的束缚(好比象反省束缚,独一束缚或外键束缚)。要创立或删除一个独一束缚,对应地创立或删除一个独一索引,要修正其他范例的束缚,你必要重修和重载该表,利用 CREATETABLE 命令的其他参数.
比方,删除表distributors的任何束缚:
CREATETABLEtempASSELECT*FROMdistributors;
DROPTABLEdistributors;
CREATETABLEdistributorsASSELECT*FROMtemp;
DROPTABLEtemp;
ALTERTABLEtableDROP[COLUMN]column{RESTRICT|CASCADE}
前,要删除一个现存的列,表必需从头创立和从头装载:
CREATETABLEtempASSELECTdid,cityFROMdistributors;
DROPTABLEdistributors;
CREATETABLEdistributors(
didDECIMAL(3)DEFAULT1,
nameVARCHAR(40)NOTNULL,
);
INSERTINTOdistributorsSELECT*FROMtemp;
DROPTABLEtemp;
重定名列/字段和表名是PostgreSQL扩大。SQL92没有供应这些。
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|