sql恢复修改前数据
[@newname一,如果是oracle数据库,且刚删除不久,那么可以执行下面语句
sqlserver修改数据语句 sqlserver修改数据库
sqlserver修改数据语句 sqlserver修改数据库
6.此外,在数据表中经常使用uniqueidentifier的类型。这个字段的默认值应该设置如下图所示。
insert into 表名 select from 表名 as of timestamp to_timestamp('2007-07-23 10:20:00', 'yyyy-mm-dd hh24:mi:ss');
语句中的日期时间改成你误作之前的最近时间
二,如果是sqlserver数据库,那么
1、首先对误删后的数据库做个日志备份;
backup log 数据库名 to disk='路径及日志备份文件名'
2、把数据库恢复到最近一次全库备份的日期;
RESTORE DATABASE 数据库名 FROM DISK='路径及数据库备份文件名'
WITH REPLACE,NORECOVERY
3、用步骤1的日志备份把数据库恢复到你误删的那一刻之前;
RESTORE LOG 数据库名 FROM DISK='路径及日志备份文件名'
WITH RECOVERY,STOPAT='2009-4-24 16:40:10'
语句中的日期时间改成你误作之前的最近时间
三,如果修改之前有做数据库备份,可以新建一个库,把备份还原上去,导出表数据,再导入到现在用的库中去。.
实时备份数据库到另一个磁盘,有多种不同的实现方式,例如:
1,有两台的话可以做双机热备
2,只有一台可以做磁盘镜像
3,也可以用专门的数据库备份软件
sql2000修改错误的值无法恢复,除非在修改之前有备份,可以将备份恢复。数据库实时备份到另一个磁盘的问题较复杂,sql2000本身有任务可以实现在某个时间,例如每天晚上12点,将数据备份到可访问的任意磁盘位置。如果必须要求实时备份,则考虑购买专业的数据备份软件,或可上网搜索共享的实时备份软件。
现在您可以将日志前滚到合适的时间点,并使数据库可供使用。请注意,STOPAT在数据库正在执行大容量日志时禁止执行。
RESTORE LOG pubs FROM DISK=N'C:BackupsLogbackup.bak' WITH RECOVERY,STOPAT='02/11/2002 17:35:00'
例2:使用数据库标记将日志恢复到预定义时间点的语句
在事务日志中置入一个标记。请注意,被标记的事务至少须提交一个更新,以标记该日志。
BEGIN TRAN MyMark WITH MARK
UPDATE pubs.dbo.LastLogMark SET MarkTime = GETDATE()
COMMIT TRAN MyMark
按照您常用的方法备份事务日志。
BACKUP LOG pubs TO DISK='C:BackupsFullbackup.bak' WITH INIT
现在您可以将数据库恢复至日志标记点。首先恢复数据库,并使其为接受日志恢复做好准备。
RESTORE DATABASE pubs FROM DISK=N'C:BackupsFullbackup.bak' WITH NORECOVERY
现在将日志恢复至包含该标记的时间点,并使其可供使用。请注意,STOPAT在数据库正在执行大容量日志时禁止执行。
RESTORE LOG pubs FROM DISK=N'C:BackupsLogbackup.bak' WITH RECOVERY,
STOPAT='02/11/2002 17:35:00'
—Microsoft SQLRENAME COLUMN 名字 TO name 开发团队
试试看把,我在oracle里用的...
create table tableName_bak
/tableName是你要恢复的表,tableName_bak 是tableName的备份表,讲tableName_bak的数据恢复到tableName里面
'20081126 103435'根据你自己的情况改,改成你删掉数据之前的时间,不过这个办法只能查出2天左右的数据,时间久了估计不行 /
建议:养成一个好的习惯,在update数据之前先把表的数据备份,在更新后确认没问题后再删掉。
另,在更新时用过程判断,更新完了后检查数据,符合要求就commit,否则就Rollback。
sql恢复修改前数据
日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。DATABASE
sp_rename [ @objname = ] 'object_name' ,pubs
FROM
DISK
=N'C:BackupsFullbackup.bak'
WITH
NORECOVERY
现在您可以将日志前滚到合适的时间点,并使数据库可供使用。请注意,STOPAT在数据库正在执行大容量日志时禁止执行。
LSQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。OG
pubs
FROM
DISK=N'C:BackupsLogbackup.bak'
WITH
RECOVERY,STOPAT='02/11/2002
17:35:00'
例2:使用数据库标记将日志恢复到预定义时间点的语句
在事务日志中置入一个标记。请注意,被标记的事务至少须提交一个更新,以标记该日志。
BEGIN
TRAN
MyMark
WITH
MARK
UPDATE
pubs.dbo.LastLogMark
SET
MarkTime
=GETDATE()
COMMIT
TRAN
MyMark
按照您常用的方法备份事务日志。
BACKUP
LOG
pubs
TO
WITH
INIT
现在您可以将数据库恢复至日志标记点。首先恢复数据库,并使其为接受日志恢复做好准备。
DATABASE
pubs
FROM
DISK=N'C:BackupsFullbackup.bak'
WITH
NORECOVERY
现在将日志恢复至包含该标记的时间点,并使其可供使用。请注意,STOPAT在数据库正在执行大容量日志时禁止执行。
LOG
pubs
FROM
DISK=N'C:BackupsLogbackup.bak'
WITH
RECOVERY,
STOPAT='02/11/2002
17:35:00'
—Microsoft
SQL
开发团队
试试看把,我在oracle里用的...
create
table
tableName_bak
select
from
tableName
TIMESP
to_timestamp('20081126
103435','yyyymmdd
hh24miss');
/tableName是你要恢复的表,tableName_bak
是tableName的备份表,讲tableName_bak的数据恢复到tableName里面
'20081126
103435'根据你自己的情况改,改成你删掉数据之前的时间,不过这个办法只能查出2天左右的数据,时间久了估计不行
/
MSSQL server分布式事务解决方案
RESTORE DATABASE pubs FROM DISK = N'C:BackupsFullbackup.bak' WITH NORECOVERY作系统:windows 2003
isnull(rowname)要改成rowname = null使用链接进行远程数据库访问的情况
一、问题现象在执行分布式事务时,在sql server 2005下收到如下错误:
消息 73,级别 16,状态 2,过程 xxxxx,第 16 行
在sql server 2000下收到如下错误:
该作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]
二、解决方案1.双方启动MSDTC服务MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方启动MSDTC(Distributed Transaction Coordinator)服务。
2.打开双方135端口MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果有防火墙,保证135端口不被防火墙挡住。
使用“net IP 135 ”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Aanced Port Scanner)扫描端口以判断端口是否开放。
3.保证链接中语句没有访问发起事务的作在发起事务的执行链接上的查询、视图或存储过程中含有访问发起事务的作,这样的作叫做环回(loopback),是不被支持的,所以要保证在链接中不存在此类作。
4.在事务开始前加入set xact_abort ON语句对于大多数 OLE DB 提供程序(包括 SQL ),必须将隐式或显示事务中的数据修改语句中的 XACT_ABORT 设置为 ON。不需要该选项的情况是在提供程序支持嵌套事务时。
l选中“网络DTC访问”
l在客户端管理中选中“允许远程客户端”“允许远程管理”
l在事务管理通讯中选“允许入站”“允许出站”“不要求进行验证”
l保证DTC登陆账户为:NTAuthorityNetworkServ
l5.MSDTC设置打开“管理工具——组件服务”,以此打开“组件服务——计算机”,在“我的电脑”上点击右键。在MSDTC选项卡中,点击“安全配置”按钮。种情况,产品选”sql server”
@server='linkName',
@srvproduct = N'SQL '
这种情况,@server (linkName)就是要链接的sqlserver名或者ip地址。
l第二种情况,访问接口选“Microsoft OLE DB Provider Sql ”或“Sql Native ”
@server=' linkName ',
@srvproduct='',
@provider='SQLNCLI',
@datasrc="/uploads/84666a6227eb1da92e833038a9bc38cc.png" data-original='sqlName'
这种情况,@datasrc(sqlName)就是要链接的实际sqlserver名或者ip地址。
Sql server数据库引擎是通过上面设置的名或者ip地址访问链接,DTC服务也是通过名或者ip地址访问链接,所以要保证数据库引擎和DTC都能通过名或者ip地址访问到链接。
数据库引擎和DTC解析的方式不太一样,下面分别叙述
6.1数据库引擎种情况的@server或者第二种情况的@datasrc设置为ip地址时,数据库引擎会根据ip地址访问链接,这时不需要做名称解析。
种情况的@server或者第二种情况的@datasrc设置为sql server名时,需要做名称解析,就是把名解析为ip地址。
一是在sql server客户端配置中设置一个别名,将上面的名对应到链接的ip地址。
二是在“C:WINDOWS32driversetchosts”文件中增加一条记录:
xxx.xxx.xxx.xxx名
作用同样是把名对应到链接的ip地址。
6.2DTC不管哪一种情况,只要@server设置的是名而不是ip地址,就需要进行名称解析,办法同上面第二种办法,在hosts文件中增加解析记录,上面的种办法对DTC不起作用。
如果@server设置的是ip地址,同样不需要做域名解析工作。
sqlserver2000 修改时间(修改小时和分钟),怎样写SQL语句?
消息 5181,级别 16EXEC sp_addlinkedserver,状态 5,第 17 行update 表 set czrq=convert(char(10),czrq,120)+' 12:30' where 的=值这样可以修改单条数据
update 表 set czrq=convert(char(10),czrq,as120)+' 12:30'
请提供一个SQL语句传入—就可执行对数据库增删查改等功能的类的方法
alter table单个的增删改会不?定你会 那些很简单。代码都是可以重用的。 不写了。你也可以参考上面的人写法 (没看代码 不知道可以不 自己去测测 加深你自己认识代码能力)你建个方法 方法里传几个参数。。 用于增删改的判断。。一个表不可以能出现 增删改一起的情况 如果是多条记录选择一起 修改完数据后 保存 你设定一个参数用于标定执行什么语句。 参数strResult如if(strResult.eaquls(Add)) { // 增加作}
自动增加字段需要重写。在access中经常使用的自动编号字段,导入到mssql后,他并不是自增型的int,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号ACCESS中SQL语句修改字段默认值
updSQL 2005 Enterprise Edition(32 位和 64 位)——企业版ate
table
set
numbers=1
这句是把现在table
表里所有的记录的numbers字段值设为1
你可以在ACCESS字段设置里将这个前言字段的默认值设为1,不过如果有记录的话此前的记录值还是为0
ALTER TABLE 表名 ALTER COLUMN 列名 新的数据类型[(长度)] NULL或NOT NULL
例:ALTER TABLE 教师 ALTER COLUMN 办公室 CHAR(20) NOT NULL default "办公室"
A没用过,参考SQLSERVER用法:ALTER TABLE [dbo].[一条update只能修改一个表,不可以多表修改。testtb]
DROP COLUMN numbersGOALTER TABLE [dbo].[testtb] ADD DEFAULT (0) FOR numbers GO
sql server中把一列改为自增长的语句怎么写?
RESTORE如下参考:
sp_renamedb2.然后,我们使用altertable语句向表中添加一个列,如下所示。
3.回到数据表,我们将看到列已经添加到数据表中,但是没有添加默认值,如下图所示。
4.接下来,我们将在添加列时添加默认值。此时,我们将使用default关键字,如下图所示8、在用access关于时间的使用,大家喜欢使用“select from a while time="&now()”这样的sql语句,然而,在mssql中没有“now()”这个函数,而是使用“getdate()”,所以,所有的sql语句中的“now()”必须换成“getdate()”。。
5.然后回到数据表,我们可以看到默会知识值是有内容的,如下图所示。
7.回到数据表,我们可以看到默认值已经添加到一个列中,如下图所示。
数据库SQL数据转化为sqlserver数据库语句:请高手指教怎么转化为sqlserver语句而查询效果一样
OLE DB 错误跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。把ACCESS转成SQL数据库
ACCESS改为SQL需要注意哪几个地方很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项
一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的;
二,转换的方法
1,打开”控制面板“下”管理工具“中的”数据库源“;
2,按”添加“添加一个新的数据源,在选择栏里选”Driver do microsoft Access
(.mdb)”,完成后将出现一个框,
在”数据库源“里面输入你想写的名称,我取名叫“ABC”,说明不需要填,接着,按下面的选择,寻找你的数据库地址和选中(注意,请先备份自己的ACCESS数据库),然后确定。
数据源在这里建好了,剩下转换了。
3,打开SQL2000企业管理器,进入数据库,新建一个空的数据库“ABC”;
4,选择新建立的数据库,按鼠标右键,选择“所有任务”下“导入数据”,按“下一步”继续;
5,在数据库源下拉但中选择”Driver do microsoft Access(.mdb)“,在”用户/系统DSN“中,选种你刚才添加的”ABC“,按 ”下一步“;
6,“目的”不需要修改,选择(一般下为自己的本机“local“,也可以选择地址或者局域网地址,确定你的权限是否可以作,),“使用WINDOWS 身份验证“指用自己的系统身份作,“使用SQL身份作验证“可以用于网站的作,用后者;
7,选上“使用SQL身份作验证“后,填写你的用户名和密码,我自己选择的是系统默认号码“sa“,““,数据库选择刚新建的“ABC“,按“下一步“;
8,这一步的两个单项选择,“从数据源表和视图“与“用一条查询指令指定要传输的数据“,选择前者,按“下一步“继续;
9,这里将出现你自己ACCESS数据库的表,按“全选“后,下一步;
10,“DTS导入/导出向导“,看“立即运行“被选中按“下一步“,
11,按“完成“继续;
12,这个步骤你将看到你的数据被导入SQL2000里面,当出现“已经成功把XXX个表导入到数据库“的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的叉的话,说明该表没有成功导入,这时就要回去查看自己的作是否正确了.
三,数据修改
1,由于SQL2000里面没有“自动编号“,所以你的以“自动编号“设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的“标示“选择“是“,种子为“1“,增量为“1“,
2,另外,ACCESS2000转换成SQL2000后,原来属性为“是/否“的字段将被转换成非空的“bit“,这时候你必须修改成自己想要的属性了;
3,另外,大家要注意对时间函数的把握.ACCESS与SQL是有很多不同的.
数据库导入以后,自动增加字段需要重写,所有的数字类型需要增加长度,用decimal。
所有的默认值都丢失了。主要是数字类型和日期类型。
所有now(),time(),date()要改成getdate()。
所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2)
有可能一些true/false类型不能使用,要变为1/0。
备注类型要通过cast(column as varchar)来使用。
CursorType要改成1,也就是打开数据库时要给出个数字参数为1,否则记录可能显示不完整。
ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!
转化时,跟日期有关的字段,SQL SERVER默认为alldatetime型,我们将它变为datetime型,因为datetime型的范围比alldatetime型大。有时用alldatetime型时,转化失败,而用datetime型时,转化成功。
对此两种数据库进行作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:“delete from user where id=10“,而对SQL SERVER数据库进行删除是用:“delete user where id=10“.
在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!
2.转化时,跟日期有关的字段,SQL SERVER默认为alldatetime型,我们将它变为datetime型,因为datetime型的范围比alldatetime型大。我遇见这种情况,用alldatetime型时,转化失败,而用datetime型时,转化成功。
3.对此两种数据库进行作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:“delete from user where id=10“,而对SQL SERVER数据库进行删除是用:“delete user where id=10“.
4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
access转mssql需要注意的问题
所有的默认值都丢失了。主要是数字类型和日期类型
所有now(),time(),date()要改成getdate()
所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
所有datediff('ww', time1, time2)要改成datediff(week, time1, time2)
所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
在mssql server中,有许多保留字,在access中是没有的,当你把数据导入到mssql的时候,问题就出来了。mssql在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是mssql的保留字
在用access关于时间的使用,大家喜欢使用“select from a while time="&now()”这样的sql语句,然而,在mssql中没有“now()”这个函数,而是使用“getdate()”,所以,所有的sql语句中的“now()”必须换成“getdate()”。
转化时,跟日期有关的字段,SQL SERVER默认为alldatetime型,我们将它变为datetime型,因为datetime型的范围比alldatetime型大。有时用alldatetime型时,转化失败,而用datetime型时,转化成功
CursorType要改成1,也就是打开数据库时要给出个数字参数为1,否则记录可能
显示RESTORE不完整
true/false类型不能使用,要变为1/0
对此两种数据库进行作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10".
在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用
在access的sql语句中的时间使用变量查询的时候,大家一般使用"select from a while time=#"&变量名&"#",在mssql中是不行的,他的语法是“select from a while time='"&变量名&"'"”。(意思是让你把日期时间变量当成字符串来使用,呵呵~~~)
原来ASP里的“DELETE FROM ……”要改为“DELETE FROM ……”
有可能rs.update失败,修改成update 表名 set 字段=‘值’ 这样通过(遇到的情况,提示为:
Microsoft OLE DB Provider for SQL 错误 '80040e38'
乐观并发检查失败。已在此游标之外修改了该行。
/Admin_ClassOrder.asp,行 164 )
access里面除法可以使用""或者"/",MSSQL里面只能使用"/"
1、自动增加字段需要重写。在access中经常使用的自动编号字段,导入到mssql后,他并不是自增型的int,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号。
2、所有的默认值都丢失了。主要是数字类型和日期类型
3、所有now(),time(),date()要改成getdate()
4、所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
5、所有datediff('ww', time1, time2)要改成datediff(week, time1, time2)
6、所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
7、在mssql server中,有许多保留字,在access中是没有的,当你把数据导入到mssql的时候,问题就出来了。mssql在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是mssql的保留字
9、日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对
10、转化时,跟日期有关的字段,SQL SERVER默认为alldatetime型,我们将它变为datetime型,因为datetime型的范围比alldatetime型大。有时用alldatetime型时,转化失败,而用datetime型时,转化成功
11、isnull(rowname)要改成rowname = null
12、CursorType要改成1,也就是打开数据库时要给出个数字参数为1,否则记录可能显示不完整
13、备注类型要通过cast(column as varchar)来使用
14、true/false类型不能使用,要变为1/0
15、对此两种数据库进行作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10".
16、在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用
17、在access的sql语句中的时间使用变量查询的时候,大家一般使用"select from a while time=#"&变量名&"#",在mssql中是不行的,他的语法是“select from a while time='"&变量名&"'"”。(意思是让你把日期时间变量当成字符串来使用)
18、原来ASP里的“DELETE FROM ……”要改为“DELETE FROM ……”
19、有可能rs.update失败,修改成update 表名 set 字段=‘值’ 这样通过
20、access里面除法可以使用""或者"/",MSSQL里面只能使用"/"
21、在Sql中建立主键
22、如果还有问题用:rs.open sql,conn,3,2试试
SQL server怎样使用ALTER 语句修改字段名
ALTER DATABASE 语句失败。alter table 表名 rename column 原名 to 新名
另外一些修改命令
alter table 表名 drop constraint 约束名字——说明:删除表的字段的原有约束alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称——说明:添加一个表的字段的约束并指定默认值
二、修改字段名
三、修改字段类型
alter table 表名 alter column UnitPr decimal(18, 4) not null
四、修改增加字段:
alter table 表名 ADD 字段 类型 NOT NULL Defau数据库:sql server 2000/sql server 2003lt 0
拓展资料
TABLE 语句用于在已有的表中添加、修改或删除列。Alter语句 在修改Sql 表结构时,常用到Alter语句,把一些常用的alter语句列举如下:
ALTER TABLE语句用于修改已经存在的表的设计。
语法:
ALTER TABLE table ADD COLUMN field type[(size)] [NOT NULL] [constraint index]
说明:
table参数用于指定要修改的表的名称。
资料来源:
示例:
设把学生表的“名字”字段改为“name”:
ALTER TABLE 学生表
拓展资料SQL 是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了个OS/2版本。Microsoft SQL 近年来不断更新版本,1996年,Microsoft 推出了SQL 6.5版本;1998年,SQL 7.0版本和用户见面;SQL 2000是Microsoft公司于2000年推出,目前版本是2017年份推出的SQL SERVER 2017。
版本介绍
SQL 2000
SQL 2000 是Microsoft 公司推出的SQL 数据库管理系统,该版本继承了SQL 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的等多种平台使用。 [1]
SQL 2005
Microsoft SQL 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
Microsoft SQL 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web servs 和移动设备将数据应用推向业务的各个领域。
与 Microsoft Visual Studio、Microsoft Off System 以及新的开发工具包(包括 Business Ince Dlopment Studio)的紧密集成使 Microsoft SQL 2005 与众不同。无论您是开发人员、数据库、信息工作者还是决策者,Microsoft SQL 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。
SQL Seselect from tableName as of TIMESP to_timestamp('20081126 103435','yyyymmdd hh24miss');rver 2005 提供了5个不同版本:
Enterprise Edition 达到了支持超大型企业进行联机事务处理 (OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。Enterprise Edition 的全面商业智能和分析能力及其高可用性功能(如故障转移群集),使它可以处理大多数关键业务的企业工作负荷。Enterprise Edition 是最全面的 SQL 版本,是超大型企业的理想选择,能够满足最复杂的要求。
SQL 2005 Standard Edition(32 位和 64 位)——标准版SQL 2005 Standard Edition 是适合中小型企业的数据管理和分析平台。它包括电子商务、数据仓库和业务流解决方案所需的基本功能。Standard Edition 的集成商业智能和高可用性功能可以为企业提供支持其运营所需的基本功能。SQL 2005 Standard Edition 是需要全面的数据管理和分析平台的中小型企业的理想选择。
SQL 2005 Workgroup Edition(仅适用于 32 位)——工作组版对于那些需要在大小和用户数量上没有限制的数据库的小型企业,SQL 2005 Workgroup Edition 是理想的数据管理解决方案。SQL 2005 Workgroup Edition 可以用作前端 Web ,也可以用于部门或分支机构的运营。它包括 SQL 产品系列的核心数据库功能,并且可以轻松地升级至 SQL 2005 Standard Edition 或 SQL 2005 Enterprise Edition。SQL 2005 Workgroup Edition 是理想的入门级数据库,具有可靠、功能强大且易于管理的特点。
SQL 2005 Dloper Edition(32 位和 64 位)——开发版SQL 2005 Dloper Edition 允许开发人员在 SQL 顶部生成任何类型的应用程序。该应用程序包括 SQL 2005 Enterprise Edition 的所有功能,但许可用作开发和测试系统,而不用作生产。SQL 2005 Dloper Edition 是软件供应商 (ISV)、咨询人员、系统集成商、解决方案供应商以及生成和测试应用程序的企业开发人员的理想选择。可以根据生产需要升级 SQL 2005 Dloper Edition。
SQL 2005 Express Edition(仅适用于 32 位)——学习版SQL Express 数据库平台基于 SQL 2005。它也可以替换 Microsoft Desktop Engine (MSDE)。通过与 Microsoft Visual Studio 2005 集成,SQL Express 简化了功能丰富、存储安全且部署快速的数据驱动应用程序的开发过程。
SQL Express 是免费的,可以再分发(受制于协议),还可以充当客户端数据库以及基本数据库。SQL Express 是软件供应商 ISV、用户、非专业开发人员、Web 应用程序开发人员、网站主机和创建客户端应用程序的编程爱好者的理想选择。如果您需要使用更高级的数据库功能,则可以将 SQL Express 无缝升级到更复杂的 SQL 版本。
参考资料
alter table 表名 rename column 原名 to 新名 -- 这一句在Sql2000 中实测过,不行。
exec sp_rename '[表名].[列名]','[表名].[新列名]' -- 注意,单引号不可省略。
/ 这一句似是而非,如果真的照此执行,新的列名会变成“[表名].[新列名]”而不是你希望得到的“新列名”,注意,连方括号、点号 都会成为新列名的一部分。
比如 原表名叫 BB ,原列名叫 OldCol ,想改成NewCol ,如果执行 exec sp_rename '[BB].[OldCol]','[BB].[NewCol]' 的话,新的列名会变成很夸张的“[BB].[NewCol]”
所以正确的命令是:exec sp_rename '[BB].[OldCol]','NewCol' -- 注意逗号后面,没有表名,没有点号,没有方括号,执行这句,才能得到你想要的结果“NewCol”,
或者,另一条等价的语句为 exec sp_rename '[BB].[OldCol]',[NewCol] -- 逗号后面,如果要用方括号,就不要同时再用引号 。本语句在Sql2000 中实测通过。/
alter table 表名 rename column 原名 to 新名另外一些修改命令
--一、修改字段默认值
alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束
alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的字段的约束并指定默认值
--二、修改字段名:
--三、修改字段类型:
alter table 表名 alter column UnitPr decimal(18, 4) not null
--三、修改增加字段:
alter table 表名 ADD 字段 类型 NOT NULL Default 0
exec sp_rename '[表名].[列名]','[表名].[新列名]'
sqlserver如何通过两个表关联,修改其中一表中某列的数据?
日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对select 1,2,3,distinct(b),备注类型要通过cast(column as varchar)来使用c from A inner join B where A.1=B.1 and A.2=B.b
无法执行该作,因为链接 "xxxxx" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。Update A Set 2 = B.b From B Where A.1 = B.1 And [其他条件]