本篇文章小编给大家分享一下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% --增长量 )
然后,执行完脚本后,刷新一下就可以看到刚刚创建的数据库了:
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的数据可以看到报如下错误
修正代码:
PS:像上面那样是可以进行查询,然而在项目中使用上面的代码格式就会引发一些问题,那什么问题呢?比如另一个数据库的名称改变了,我们就需要把所有用到这个的地方都得改掉,这样就很麻烦,那么有什么解决方案么,使得改一处就好了?当然有,用数据库同义词就可以轻松搞定!
创建同义词步骤如下:
不同服务器跨库访问实现
当数据库在不同服务器上面,用上面的方法就不行了,那如何实现跨服务器访问呢?很简单,看下面↓↓↓
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔