ASP

推荐列表 站点导航

当前位置:首页 > 脚本编程 > ASP >

asp实现sql的备份与恢复

来源:网络整理  作者:wy  发布时间:2020-12-23 11:35
asp实现sql的备份与恢复...

1、备份 
<% 
SQL="backup database 数据库名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'" 
set cnn=Server.createobject("adodb.connection") 
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd=" 
cnn.execute SQL 
on error resume next 
if err<>0 then 
response.write "错误:"&err.Descripting 
else 
response.write "数据备份成功!" 
end if 
%> 

2、恢复 
<% 
SQL="Restore database 数据库名 from disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'" 
set cnn=Server.createobject("adodb.connection") 
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd=" 
cnn.execute SQL 
on error resume next 
if err<>0 then 
response.write "错误:"&err.Descripting 
else 
response.write "数据恢复成功!" 
end if 
%> 

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

2、ASP中能修改SQL数据库结构吗? 
答:ALTER TABLE 
名称 
ALTER TABLE — 更改表属性 
语法 
ALTER TABLE table [ IT之家 ] 
ADD [ COLUMN ] column type 
ALTER TABLE table [ IT之家 ] 
ALTER [ COLUMN ] column { SET DEFAULT value DROP DEFAULT } 
ALTER TABLE table [ IT之家 ] 
RENAME [ COLUMN ] column TO newcolumn 
ALTER TABLE table 
RENAME TO newtable 
ALTER TABLE table 
ADD table constraint definition 
Inputs 
table  
试图更改的现存表的名称.  
column  
现存或新的列名称.  
type  
新列的类型.  
newcolumn  
现存列的新名称.  
newtable  
表的新名称.  
table constraint definition  
表的新的约束定义.  

New table constraint for the table 

输出 
ALTER  
从被更名的列或表返回的信息.  
ERROR  
如果一个列或表不存在返回的信息. 
描述 
ALTER TABLE 变更一个现存表的定义.ADD COLUMN 形式用与 CREATE TABLE一样的语法向表中增加一个新列/字段。ALTER COLUMN 形式允许你从列/字段中设置或者删除缺省(值)。注意缺省(值)只对新插入的行有效。RENAME 子句可以在不影响相关表中任何数据的情况下更改一个表或者列/字段的名称。因此,表或列/字段在此命令执行后仍将是相同尺寸和类型。ADD table constraint definition 子句用与 CREATE TABLE一样的语法向表中增加一个新的约束。  

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

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

SELECT NewColumn FROM SuperClassIT之家 
将不能工作,因为子表会比上级表少一个属性。  
在目前的实现里,新列/字段的缺省(值)和约束子句会被忽略。你可以随后用 ALTER TABLE 的 SET DEFAULT 形式设置缺省(值)。(你还不得不用 UPDATE 把已存在行更新为缺省值。)  

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

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


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

用法 
向表中增加一个 VARCHAR 列:  
ALTER TABLE distributors ADD COLUMN address VARCHAR(30); 
对现存列改名:  
ALTER TABLE distributors RENAME COLUMN address TO city; 
对现存表改名:  
ALTER TABLE distributors RENAME TO suppliers; 
向表中增加一个外键约束:  
ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL 
兼容性 

SQL92ADD COLUMN 形式是兼容的,除了上面说的缺省(值)和约束外。ALTER COLUMN 形式是完全兼容的。  
SQL92 对 ALTER TABLE 声明了一些附加的Postgres目前还不直接支持的功能:  

ALTER TABLE table DROP CONSTRAINT constraint { RESTRICT CASCADE } 
增加或删除表的约束(比如象检查约束,唯一约束或外键约束)。要创建或删除一个唯一约束,对应地创建或删除一个唯一索引,要修改其他类型的约束,你需要重建和重载该表,使用 CREATE TABLE  命令的其他参数.  
例如,删除表 distributors 的任何约束:  

CREATE TABLE temp AS SELECT IT之家 FROM distributors; 
DROP TABLE distributors; 
CREATE TABLE distributors AS SELECT IT之家 FROM temp; 
DROP TABLE temp; 
ALTER TABLE table DROP [ COLUMN ] column { RESTRICT CASCADE } 
前,要删除一个现存的列,表必须重新创建和重新装载:  
CREATE TABLE temp AS SELECT did, city FROM distributors;  
DROP TABLE distributors; 
CREATE TABLE distributors ( 
did DECIMAL(3) DEFAULT 1, 
name VARCHAR(40) NOT NULL, 
); 
INSERT INTO distributors SELECT IT之家 FROM temp; 
DROP TABLE temp; 
重命名列/字段和表名是 PostgreSQL 扩展。SQL92 没有提供这些。 

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/asp/8171.shtml

最新文章
所有我们手工回收一下就 所有我们手工回收一下就

时间:2021-01-18

 最近网站改版正好发现原 最近网站改版正好发现原

时间:2021-01-17

现在完全支持ACCESS 现在完全支持ACCESS

时间:2021-01-17

出现错误的时候 出现错误的时候

时间:2021-01-13

ASP常见错误详解及解决方 ASP常见错误详解及解决方

时间:2021-01-05

查看ASP详细错误提示信息 查看ASP详细错误提示信息

时间:2021-01-05

4款傻瓜型的ASP服务器软件 4款傻瓜型的ASP服务器软件

时间:2020-12-23

ASP 数字分页效果代码 ASP 数字分页效果代码

时间:2020-12-23

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

asp实现sql的备份与恢复

2020-12-23 编辑:wy

1、备份 
<% 
SQL="backup database 数据库名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'" 
set cnn=Server.createobject("adodb.connection") 
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd=" 
cnn.execute SQL 
on error resume next 
if err<>0 then 
response.write "错误:"&err.Descripting 
else 
response.write "数据备份成功!" 
end if 
%> 

2、恢复 
<% 
SQL="Restore database 数据库名 from disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'" 
set cnn=Server.createobject("adodb.connection") 
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd=" 
cnn.execute SQL 
on error resume next 
if err<>0 then 
response.write "错误:"&err.Descripting 
else 
response.write "数据恢复成功!" 
end if 
%> 

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

2、ASP中能修改SQL数据库结构吗? 
答:ALTER TABLE 
名称 
ALTER TABLE — 更改表属性 
语法 
ALTER TABLE table [ IT之家 ] 
ADD [ COLUMN ] column type 
ALTER TABLE table [ IT之家 ] 
ALTER [ COLUMN ] column { SET DEFAULT value DROP DEFAULT } 
ALTER TABLE table [ IT之家 ] 
RENAME [ COLUMN ] column TO newcolumn 
ALTER TABLE table 
RENAME TO newtable 
ALTER TABLE table 
ADD table constraint definition 
Inputs 
table  
试图更改的现存表的名称.  
column  
现存或新的列名称.  
type  
新列的类型.  
newcolumn  
现存列的新名称.  
newtable  
表的新名称.  
table constraint definition  
表的新的约束定义.  

New table constraint for the table 

输出 
ALTER  
从被更名的列或表返回的信息.  
ERROR  
如果一个列或表不存在返回的信息. 
描述 
ALTER TABLE 变更一个现存表的定义.ADD COLUMN 形式用与 CREATE TABLE一样的语法向表中增加一个新列/字段。ALTER COLUMN 形式允许你从列/字段中设置或者删除缺省(值)。注意缺省(值)只对新插入的行有效。RENAME 子句可以在不影响相关表中任何数据的情况下更改一个表或者列/字段的名称。因此,表或列/字段在此命令执行后仍将是相同尺寸和类型。ADD table constraint definition 子句用与 CREATE TABLE一样的语法向表中增加一个新的约束。  

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

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

SELECT NewColumn FROM SuperClassIT之家 
将不能工作,因为子表会比上级表少一个属性。  
在目前的实现里,新列/字段的缺省(值)和约束子句会被忽略。你可以随后用 ALTER TABLE 的 SET DEFAULT 形式设置缺省(值)。(你还不得不用 UPDATE 把已存在行更新为缺省值。)  

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

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


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

用法 
向表中增加一个 VARCHAR 列:  
ALTER TABLE distributors ADD COLUMN address VARCHAR(30); 
对现存列改名:  
ALTER TABLE distributors RENAME COLUMN address TO city; 
对现存表改名:  
ALTER TABLE distributors RENAME TO suppliers; 
向表中增加一个外键约束:  
ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses(address) MATCH FULL 
兼容性 

SQL92ADD COLUMN 形式是兼容的,除了上面说的缺省(值)和约束外。ALTER COLUMN 形式是完全兼容的。  
SQL92 对 ALTER TABLE 声明了一些附加的Postgres目前还不直接支持的功能:  

ALTER TABLE table DROP CONSTRAINT constraint { RESTRICT CASCADE } 
增加或删除表的约束(比如象检查约束,唯一约束或外键约束)。要创建或删除一个唯一约束,对应地创建或删除一个唯一索引,要修改其他类型的约束,你需要重建和重载该表,使用 CREATE TABLE  命令的其他参数.  
例如,删除表 distributors 的任何约束:  

CREATE TABLE temp AS SELECT IT之家 FROM distributors; 
DROP TABLE distributors; 
CREATE TABLE distributors AS SELECT IT之家 FROM temp; 
DROP TABLE temp; 
ALTER TABLE table DROP [ COLUMN ] column { RESTRICT CASCADE } 
前,要删除一个现存的列,表必须重新创建和重新装载:  
CREATE TABLE temp AS SELECT did, city FROM distributors;  
DROP TABLE distributors; 
CREATE TABLE distributors ( 
did DECIMAL(3) DEFAULT 1, 
name VARCHAR(40) NOT NULL, 
); 
INSERT INTO distributors SELECT IT之家 FROM temp; 
DROP TABLE temp; 
重命名列/字段和表名是 PostgreSQL 扩展。SQL92 没有提供这些。 

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/asp/8171.shtml

相关文章

风云图片

推荐阅读

返回ASP频道首页