温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-06-03 17:27:33 来源:亿速云 阅读:239 作者:Leah 栏目:数据库

这篇文章给大家介绍SQL Server实现跨库跨服务器访问,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1. 首先创建两个数据库CrossLibraryTable1,CrossLibraryTable2

--创建CrossLibraryTable1脚本:

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% --增长量
)

然后,执行完脚本后,刷新一下就可以看到刚刚创建的数据库了:

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

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

--创建CrossTest1脚本:

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

--创建CrossTest2脚本:

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

表创建好后,我们再添加几条数据进去:

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的数据可以看到报如下错误

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

修正代码:

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

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

创建同义词步骤如下:

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

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

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

不同服务器跨库访问实现

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

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

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

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

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

关于SQL Server实现跨库跨服务器访问就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI