同一服务器上安装SQL和SQL冲突解决方案数据库教程
“只是一个网友”通过精心收集,向本站投稿了5篇同一服务器上安装SQL和SQL冲突解决方案数据库教程,下面是小编整理后的同一服务器上安装SQL和SQL冲突解决方案数据库教程,欢迎阅读分享,希望对大家有所帮助。
篇1:同一服务器上安装SQL和SQL冲突解决方案数据库教程
在同一服务器上安装SQL2000和SQL2005,现把安装过程中遇到的问题记录下来,方便遇到同样问题的朋友.
1,因为SQL2000安装过程中无法修改实例名称,故安装过程中必须先安装SQL2000,然后在安装SQL2005.安装SQL2005时必须修改SQL实例名称,否则将和SQL2000的实例名称冲突.
2,安装完SQL2005后,开始准备用SQL2000客户端工具连接SQL2005,结果报告不能用SQL2000客户端工具连接,只能用SQL2005客户端工具连接,后证明SQL2005客户端工具可以同时连接SQL2000和SQL2005.
3,服务器上安装完成后,准备用远程连接SQL服务器试试,结果始终连接不上SQL2005,只能连接上SQL2000.原来SQL2000服务器用的端口始终是1433端口,而SQL2005使用的是动态端口.那如果用程序连接SQL20005服务器的时候,程序如何知道SQL2005服务器用的是什么端口呢?原来SQL2005提供了一个SQL BROWER服务,开启这个服务后,就可以通过查询SQL BROWER服务就可以知道SQL2005现在正在使用哪个端口.因为项目需要,需要把这个SQL2005的动态端口改成静态的,修改过程如下:
运行SQL配置管理程序,找到SQL的实例名称下面的协议,双击右边的TCP/IP协议,在第二选项卡中IPALL里面输入SQL运行的端口就可以了(注意不能同时填写动态端口和静态端口,否则SQL下次将无法启动),修改完成后重新启动SQL服务即可生效.
4,修改端口后在连接发现仍然不能连接,原来还需要开启SQL2005的远程登陆服务.
在Microsoft SQL Server 2005中默认的是不允许远程登录的,会出现【provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错】的错误,下面的方法可以打开:
配置工具->sql server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine 节点,先择“远程连接”,接下建议选择“同时使用TCP/IP和named pipes”,确定后,重启数据库服务就可以,
同一服务器上安装SQL2000和SQL2005冲突解决方案数据库教程
,
5,远程登陆服务和端口都修改之后连接应该没有问题了吧,结果远程连接SQL2000的时候发现没有问题,但是连接SQL20005依然不行,在SQL2005的客户端连接工具里面需要输入你要连接的SQL服务,SQL2000的直接输入服务器的IP地址即可,那如何输入才能让客户端工具连接到SQL2005的服务呢?既然SQL2005修改了端口,那按照常规的录入格式应该是输入:IP地址+冒号+端口号应该就可以了.结果试了一下发现依然不行.后又修改了客户端的连接的默认端口,结果仍然不行.没办法了只有到网上GOOGLE了一翻,结果终于在一篇英文文章中找到了连接的方法,原来按照常规的格式录入是错误的,需要改成:IP地址+逗号+端口号才行
篇2:对于跨不同服务器的sql脚本执行语言的摘要数据库教程
服务器|脚本|执行
对于相关的数据库脚本的手动执行的数据互导功能!
关键的重点在于建立的连接关系,连接建立好后执行的数据库相关的脚本实现就方便的多了~~~~
1,从一个数据库的一张表B中向另外的一个数据库的表A(起码有相同的字段属性,或字段值)
insert into A(字段1,字段2。。。字段n)
select 字段1,字段2,120,...字段n
from OPENDATASOURCE('SQLOLEDB','Data Source=B所在的服务器;User ID=用户名;Password=登陆口令').B库.dbo.B表
where 字段1=? and ...
该操作一般用在查询分析器中!
2。游标的利用,在服务器间传递数据的值
declare @GEN_ID nvarchar(4000)
declare @QUAN nvarchar(4000)
declare @FEE_STATUS_OPERATOR nvarchar(4000)
declare @FEE_STATUS_OPERATETIME nvarchar(4000)
declare @status_operateid nvarchar(4000)
declare @client_sname nvarchar(4000)
BEGIN TRAN STATUS
declare USR cursor for select d.字段1,d.字段2 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=服务器1;User ID=;Password='
).库1.dbo.表1 as g inner join OPENDATASOURCE(
'SQLOLEDB',
'Data Source=服务器1;User ID=;Password='
).库1.dbo.表1 as d on g.字段1=d.字段1 inner join OPENDATASOURCE(
'SQLOLEDB',
'Data Source=服务器1;User ID=;Password='
).库2.dbo.表1‘ as s on g.字段1=s.字段1 where g.字段2=0 and g.字段3=0 and s.字段4=6
open USR
fetch next from USR into @GEN_ID,@QUAN
WHILE @@FETCH_STATUS = 0
BEGIN
update 库A.dbo.表 set 字段=@QUAN where 字段1=rtrim(@GEN_ID)
fetch next from USR into @GEN_ID,@QUAN
end
close USR
deallocate USR
declare USR1 cursor for select 字段1,字段2,120,...字段n
from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=服务器1;User ID=;Password='
).库1.dbo.表1 as g inner join OPENDATASOURCE(
'SQLOLEDB',
'Data Source=服务器1;User ID=;Password='
).库1.dbo.表1 as d on g.字段1=d.字段1
where g.字段2=0 and g.字段3=0 and s.字段4=6
open USR1
fetch next from USR into @GEN_ID,@FEE_STATUS_OPERATOR,@FEE_STATUS_OPERATETIME,@status_operateid,@client_sname
WHILE @@FETCH_STATUS = 0
BEGIN
insert into A(字段1,字段2,
。。字段n)
values(@GEN_ID,'2','0',@FEE_STATUS_OPERATOR,@FEE_STATUS_OPERATETIME,@status_operateid,@client_sname)
fetch next from USR1 into @GEN_ID,@FEE_STATUS_OPERATOR,@FEE_STATUS_OPERATETIME,@status_operateid,@client_sname
end
close USR1
deallocate USR1
----------------说明对于游标的利用可以多次,唯一的缺点的就是执行的时间过长!对于这方面要权衡考虑!
if (@@error0)
begin
rollback tran STATUS
end
else
begin
commit tran STATUS
end
------------事物处理
篇3:安装Oracle后,经常使用的修改表空间的SQL代码数据库教程
oracle
配置:
Windows NT 4.0 中文版
5块10.2GB SCSI硬盘
分:C:盘、D:盘、E:盘、F:盘、G:盘
Oracle 8.0.4 for Windows NT
NT安装在C:\WINNT,Oracle安装在C:\ORANT
目标:
因系统的回滚段太小,现打算生成新的回滚段,
建立大的、新的表空间(数据表空间、索引表空间、回滚表空间、临时表空间、)
建两个数据表空间、两个索引表空间,这样建的目的是根据实际应用,
如:现有10个应用用户,每个用户是一个独立子系统(如:商业进销存MIS系统中的财务、收款、库存、人事、总经理等)
尤其大型商场中收款机众多,同时访问进程很多,经常达到50-100个进程同时访问,
这样,通过建立多个用户表空间、索引表空间,把各个用户分别建在不同的表空间里(多个用户表空间放在不同的物理磁盘上),
减少了用户之间的I/O竞争、读写数据与写读索引的竞争(用户表空间、索引表空间也分别放在不同的物理磁盘上)
规划:
C:盘、NT系统,Oracle系统
D:盘、数据表空间1(3GB、自动扩展)、回滚表空间1(1GB、自动扩展)
E:盘、数据表空间2(3GB、自动扩展)、回滚表空间2(1GB、自动扩展)
F:盘、索引表空间1(2GB、自动扩展)、临时表空间1(0.5GB、不自动扩展)
G:盘、索引表空间2(2GB、自动扩展)、临时表空间2(0.5GB、不自动扩展)
注:这只是一个简单的规划,实际规划要依系统需求来定,尽量减少I/O竞争
实现:
1、首先查看系统有哪些回滚段及其状态,
SQL>col owner format a20
SQL>col status format a10
SQL>col segment_name format a20
SQL>col tablespace_name format a20
SQL>SELECT OWNER,SEGMENT_NAME,TABLESPACE_NAME,SUM(BYTES)/1024/1024 M
2 FROM DBA_SEGMENTS
3 WHERE SEGMENT_TYPE='ROLLBACK'
4 GROUP BY OWNER,SEGMENT_NAME,TABLESPACE_NAME
5 /
OWNER SEGMENT_NAME TABLESPACE_NAME M
-------------------- -------------------- -------------------- ---------
SYS RB1 ROLLBACK_DATA .09765625
SYS RB10 ROLLBACK_DATA .09765625
SYS RB11 ROLLBACK_DATA .09765625
SYS RB12 ROLLBACK_DATA .09765625
SYS RB13 ROLLBACK_DATA .09765625
SYS RB14 ROLLBACK_DATA .09765625
SYS RB15 ROLLBACK_DATA .09765625
SYS RB16 ROLLBACK_DATA .09765625
SYS RB2 ROLLBACK_DATA .09765625
SYS RB3 ROLLBACK_DATA .09765625
SYS RB4 ROLLBACK_DATA .09765625
SYS RB5 ROLLBACK_DATA .09765625
SYS RB6 ROLLBACK_DATA .09765625
SYS RB7 ROLLBACK_DATA .09765625
SYS RB8 ROLLBACK_DATA .09765625
SYS RB9 ROLLBACK_DATA .09765625
SYS RB_TEMP SYSTEM .24414063
SYS SYSTEM SYSTEM .1953125
查询到18记录.
SQL>SELECT SEGMENT_NAME,OWNER,
2 TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS
3 FROM DBA_ROLLBACK_SEGS
4 /
SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID FILE_ID STATUS
-------------------- -------------------- -------------------- ---------- --------- ----------
SYSTEM SYS SYSTEM 0 1 ONLINE
RB_TEMP SYS SYSTEM 1 1 OFFLINE
RB1 PUBLIC ROLLBACK_DATA 2 3 ONLINE
RB2 PUBLIC ROLLBACK_DATA 3 3 ONLINE
RB3 PUBLIC ROLLBACK_DATA 4 3 ONLINE
RB4 PUBLIC ROLLBACK_DATA 5 3 ONLINE
RB5 PUBLIC ROLLBACK_DATA 6 3 ONLINE
RB6 PUBLIC ROLLBACK_DATA 7 3 OFFLINE
RB7 PUBLIC ROLLBACK_DATA 8 3 OFFLINE
RB8 PUBLIC ROLLBACK_DATA 9 3 OFFLINE
RB9 PUBLIC ROLLBACK_DATA 10 3 OFFLINE
RB10 PUBLIC ROLLBACK_DATA 11 3 OFFLINE
RB11 PUBLIC ROLLBACK_DATA 12 3 OFFLINE
RB12 PUBLIC ROLLBACK_DATA 13 3 OFFLINE
RB13 PUBLIC ROLLBACK_DATA 14 3 OFFLINE
RB14 PUBLIC ROLLBACK_DATA 15 3 OFFLINE
RB15 PUBLIC ROLLBACK_DATA 16 3 OFFLINE
RB16 PUBLIC ROLLBACK_DATA 17 3 OFFLINE
查询到18记录.
2、修改代码如下,可把以下代码存入一.sql文件,如cg_sys.sql,然后以SQL>@cg_sys.sql调用执行,
--注意:各个硬盘上要事先建好oradata目录
--修改现有回滚段,使之失效,下线
alter rollback segment rb1 offline;
alter rollback segment rb2 offline;
alter rollback segment rb3 offline;
alter rollback segment rb4 offline;
alter rollback segment rb5 offline;
alter rollback segment rb6 offline;
alter rollback segment rb7 offline;
alter rollback segment rb8 offline;
alter rollback segment rb9 offline;
alter rollback segment rb10 offline;
alter rollback segment rb11 offline;
alter rollback segment rb12 offline;
alter rollback segment rb13 offline;
alter rollback segment rb14 offline;
alter rollback segment rb15 offline;
alter rollback segment rb16 offline;
--删除原有回滚段
drop rollback segment rb1;
drop rollback segment rb2;
drop rollback segment rb3;
drop rollback segment rb4;
drop rollback segment rb5;
drop rollback segment rb6;
drop rollback segment rb7;
drop rollback segment rb8;
drop rollback segment rb9;
drop rollback segment rb10;
drop rollback segment rb11;
drop rollback segment rb12;
drop rollback segment rb13;
drop rollback segment rb14;
drop rollback segment rb15;
drop rollback segment rb16;
--建数据表空间1
--收款、库存、订货、远程通信
create tablespace USER_DATA1 datafile
'd:\oradata\user1_1.ora' size 512M,
'd:\oradata\user1_2.ora' size 512M,
'd:\oradata\user1_3.ora' size 512M,
'd:\oradata\user1_4.ora' size 512M,
'd:\oradata\user1_5.ora' size 512M,
'd:\oradata\user1_6.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--initial 128K,因为,用户建在表空间上,而表建在用户里,为用户所拥有,
--用户继承数据表空间的存储参数,表继承用户的存储参数
--如果initial设的过大,如:5M,则每建一个空表就要占用5M的空间,即使一条记录也没有
--AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED,设置数据文件自动扩展,每一次扩展增加5M,最大空间不受限
--建数据表空间2
--物价、人事、结算、财务、总经理、合同、统计
create tablespace USER_DATA2 datafile
'e:\oradata\user2_1.ora' size 512M,
'e:\oradata\user2_2.ora' size 512M,
'e:\oradata\user2_3.ora' size 512M,
'e:\oradata\user2_4.ora' size 512M,
'e:\oradata\user2_5.ora' size 512M,
'e:\oradata\user2_6.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--建索引表空间1
create tablespace INDEX_DATA1 datafile
'f:\oradata\index1_1.ora' size 512M,
'f:\oradata\index1_2.ora' size 512M,
'f:\oradata\index1_3.ora' size 512M,
'f:\oradata\index1_4.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--建索引表空间2
create tablespace INDEX_DATA2 datafile
'g:\oradata\index2_1.ora' size 512M,
'g:\oradata\index2_2.ora' size 512M,
'g:\oradata\index2_3.ora' size 512M,
'g:\oradata\index2_4.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--建回滚表空间1
--设置初始值40M(initial 40M),则每在这个表空间中建一个回滚段,
--此回滚段自动继承此回滚表空间的存储参数,也即默认文件为40M
create tablespace ROLLBACK_DATA1 datafile
'd:\oradata\roll1_1.ora' size 512M,
'd:\oradata\roll1_2.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 40M next 5M pctincrease 0);
--建回滚表空间2
create tablespace ROLLBACK_DATA2 datafile
'e:\oradata\roll2_1.ora' size 512M,
'e:\oradata\roll2_2.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 40M next 5M pctincrease 0);
--建临时表空间1
create tablespace TEMPORARY_DATA1 datafile
'f:\oradata\temp1_1.ora' size 512M
default storage (initial 10M next 3M pctincrease 0);
--建临时表空间2
create tablespace TEMPORARY_DATA2 datafile
'g:\oradata\temp2_1.ora' size 512M
default storage (initial 10M next 3M pctincrease 0);
--使其真正成为临时的
alter tablespace TEMPORARY_DATA1 temporary;
alter tablespace TEMPORARY_DATA2 temporary;
--建立新的回滚段,每个都一样大,不同大小的回滚段没有什么意义,系统是随机选择的。
--建多少个,根据并发访问用户的多少,
--如果你们公司每天有50-100个人员使用Oracle系统开发的管理软件,应该20个以上
create public rollback segment rb01 tablespace rollback_data1;
create public rollback segment rb02 tablespace rollback_data1;
create public rollback segment rb03 tablespace rollback_data1;
create public rollback segment rb04 tablespace rollback_data1;
create public rollback segment rb05 tablespace rollback_data1;
create public rollback segment rb06 tablespace rollback_data1;
create public rollback segment rb07 tablespace rollback_data1;
create public rollback segment rb08 tablespace rollback_data1;
create public rollback segment rb09 tablespace rollback_data2;
create public rollback segment rb10 tablespace rollback_data2;
--前8个建在回滚表空间1中,后8个在回滚表空间2
create public rollback segment rb11 tablespace rollback_data2;
create public rollback segment rb12 tablespace rollback_data2;
create public rollback segment rb13 tablespace rollback_data2;
create public rollback segment rb14 tablespace rollback_data2;
create public rollback segment rb15 tablespace rollback_data2;
create public rollback segment rb16 tablespace rollback_data2;
create public rollback segment rb17 tablespace rollback_data2;
create public rollback segment rb18 tablespace rollback_data2;
create public rollback segment rb19 tablespace rollback_data2;
create public rollback segment rb20 tablespace rollback_data2;
--使回滚段online,即有效
alter rollback segment rb01 online;
alter rollback segment rb02 online;
alter rollback segment rb03 online;
alter rollback segment rb04 online;
alter rollback segment rb05 online;
alter rollback segment rb06 online;
alter rollback segment rb07 online;
alter rollback segment rb08 online;
alter rollback segment rb09 online;
alter rollback segment rb10 online;
alter rollback segment rb11 online;
alter rollback segment rb12 online;
alter rollback segment rb13 online;
alter rollback segment rb14 online;
alter rollback segment rb15 online;
alter rollback segment rb16 online;
alter rollback segment rb17 online;
alter rollback segment rb18 online;
alter rollback segment rb19 online;
alter rollback segment rb20 online;
--查看现有回滚段及其状态
col segment format a30
SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS;
--查看数据文件及其所在表空间、大小、状态
col file_name format a40
col tablespace_name format a20
select file_name,file_id,tablespace_name,bytes,status from dba_data_files;
至此,表空间重新规划完毕,这里讲的比较通俗,还有好多参数值得设置,能够把Oracle设置到最优的境界,
表空间设置完了,下面,就该好好的整理一下Oracle的内存区了,
Oracle很有意思,内存越大,效果越明显,所以有必要好好调整一下SGA区,也就是主要配置ininorcl.ora参数文件。
篇4:通过一条sql语句访问不同数据库服务器中的数据库对象的方法数据库教程
对象|访问|服务器|数据|数据库|语句
在我们做数据库程序开发的时候,经常会遇到这种情况:需要将一个数据库服务器中的数据导入到另一个数据库服务器的表中,通常我们会使用这种方法:先把一个数据库中的数据取出来放到某出,然后再把这些数据一条条插入到目的数据库中,这种方法效率较低,写起程序来也很繁琐,容易出错。另外一种方法是使用bcp或BULK INSERT语句,将数据导入到一个文件中,再从此文件中导出到目的数据库,这种方法虽然效率稍高,但也有很多不如意的地方,单是在导入时怎样找到另外一台机器上的数据导入文件就很麻烦。
最方便的一种方法,我想也是效率最高的方法,应该是这样:
比如有两个数据库服务器:zl和ljw,里面都有一个数据库taxitemp(也可以不同名),数据库里有一个表,叫users,我们现在想把zl中的users数据导入到ljw中,可以这样写sql语句(假设现在连接的是zl数据库):
insert into ljw.taxitemp.dbo.users
select * from users
这样,通过一条sql语句就完成了不同数据库服务器之间的数据复制,
有人会说,这种sql语句我也会写,我也想到了,但是没办法执行。
的确,单纯的这样一条语句没办法执行,因为数据库不知道ljw是什么服务器,也不知道怎样登录,当然会报错。
我们可以这样解决注册远程数据库服务器和登录的问题:
注册远程数据库服务器:
EXEC sp_addlinkedserver 'ljw', N'SQL Server'
注册远程数据库服务器的登录方法:
EXEC sp_addlinkedsrvlogin 'ljw', 'false', NULL, 'sa', 'zz'
至于这两个存储过程的详细用法,我就不多讲了,大家看看帮助就明白了。
只要我们先执行远程数据库服务器注册和登录方法注册,然后就可以把远程数据库当成本地数据库使用了。
篇5:何隐藏Sysbase SQL Anywhere 8.0在系统状态条上的的图标?数据库教程
在应用程序运行时,数据库Sysbase SQL Anywhere 8.0启动后在系统状态条上会有图标,有时用户会不小心将其关闭,造成系统出错,如何隐藏Sysbase SQL Anywhere8.0在系统状态条上的的图标?可以通过更改系统注册表来实现。以Powersoft Demo DB V6 为例:
运行注册程序regedit,找到注册表中HKEY_CURRENT_USER oftware\ODBC\ODBC.INI\Powersoft Demo DB V6中名为Start的项目,如其原值为“C:\Program Files ybase QL Anywhere 5.0\Win32\dbeng50.exe”,在其后加上参数 -Q,改为“C:\Program Files ybase QL Anywhere 5.0\Win32\dbeng50.exe -Q”即可,
对于自己创建的其它Sysbase SQL Anywhere 8.0数据库可用同样方法实现。
【同一服务器上安装SQL和SQL冲突解决方案数据库教程】相关文章:






文档为doc格式