SQL Server跨库跨服务器访问实现

  咱们常常会遇到一个数据库要访问另外一个数据库,或者一台服务器要访问另外一台服务器里面的数据库。 那么这个如何实现的呢? 相信看完这篇文章你就懂了!数据库

  同一台服务器跨库访问实现

  1. 首先建立两个数据库CrossLibraryTable1,CrossLibraryTable2服务器

   --建立CrossLibraryTable1脚本:ide

  use master --打开master数据库,通常的建立语句都在master中执行.
go
if exists (select * from sysdatabases where name='CrossLibraryTable1')
  drop database CrossLibraryTable1  /*检查有没有这个数据库,若是有就删除它。*/
go
create database CrossLibraryTable1
on primary
(
name='CrossLibraryTable1_data',  ------------ 养成好习惯,数据文件加_data
filename='F:\代码存放\数据库\CrossLibraryTable1_data.mdf',  ------------ 必定要是.mdf的文件,表明主数据文件
size=5mb, --默认数据库大小
maxsize=100mb, --最大容量
filegrowth=1mb --增加量
)
log on
(
name='CrossLibraryTable1_log',   ------------ 养成好习惯,日志文件加_log
filename='F:\代码存放\数据库\CrossLibraryTable1_log.ldf',  ------------ 必定要是.ldf的文件,表明日志文件
size=1mb, --默认数据库大小
filegrowth=10% --增加量
)
 

  --建立CrossLibraryTable2脚本:测试

   use master --打开master数据库,通常的建立语句都在master中执行.
go
if exists (select * from sysdatabases where name='CrossLibraryTable2')
  drop database CrossLibraryTable2  /*检查有没有这个数据库,若是有就删除它。*/
go
create database CrossLibraryTable2
on primary
(
name='CrossLibraryTable2_data',  ------------ 养成好习惯,数据文件加_data
filename='F:\代码存放\数据库\CrossLibraryTable2_data.mdf',  ------------ 必定要是.mdf的文件,表明主数据文件
size=5mb, --默认数据库大小
maxsize=100mb, --最大容量
filegrowth=1mb --增加量
)
log on
(
name='CrossLibraryTable2_log',   ------------ 养成好习惯,日志文件加_log
filename='F:\代码存放\数据库\CrossLibraryTable2_log.ldf',  ------------ 必定要是.ldf的文件,表明日志文件
size=1mb, --默认数据库大小
filegrowth=10% --增加量
)
 

而后,执行完脚本后,刷新一下就能够看到刚刚建立的数据库了:3d

2.接下来在两个数据库里面分别建立一个CrossTest1和一个CrossTest2表用于跨库查询日志

--建立CrossTest1脚本:code

 use CrossLibraryTable1
  create table CrossTest1(
  Id int primary key identity,
  Name nvarchar(20)
  )

--建立CrossTest2脚本:blog

 use CrossLibraryTable2
  create table CrossTest2(
  Id int primary key identity,
  Name nvarchar(20)
  )

表建立好后,咱们再添加几条数据进去:it

 use CrossLibraryTable1 
 insert into CrossTest1 values('跨库1测试数据1')  
 insert into CrossTest1 values('跨库1测试数据2')

 use CrossLibraryTable2  
 insert into CrossTest2 values('跨库2测试数据1')  
 insert into CrossTest2 values('跨库2测试数据2')

切换到CrossLibraryTable1下面查询CrossLibraryTable2的数据能够看到报以下错误table

修正代码:

PS:像上面那样是能够进行查询,然而在项目中使用上面的代码格式就会引起一些问题,那什么问题呢?好比另外一个数据库的名称改变了,咱们就须要把全部用到这个的地方都得改掉,这样就很麻烦,那么有什么解决方案么,使得改一处就行了?固然有,用数据库同义词就能够轻松搞定!

建立同义词步骤以下:

 不一样服务器跨库访问实现

  当数据库在不一样服务器上面,用上面的方法就不行了,那如何实现跨服务器访问呢?很简单,看下面↓↓↓

     

  

 

 好了,SQL Server跨库跨服务器访问实现就到这了,若是按照步骤一步一步操做的话,相信您也已经实现了,下一篇文章就来谈谈分库分表实现。

相关文章
相关标签/搜索