SQL Server跨库跨服务器访问实现
我们经常会遇到一个数据库要访问另一个数据库,或者一台服务器要访问另一台服务器里面的数据库。 那么这个如何实现的呢? 相信看完这篇文章你就懂了!
同一台服务器跨库访问实现
1. 首先创建两个数据库CrossLibraryTable1,CrossLibraryTable2
--创建CrossLibraryTable1脚本:
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脚本:
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:像上面那样是可以进行查询,然而在项目中使用上面的代码格式就会引发一些问题,那什么问题呢?比如另一个数据库的名称改变了,我们就需要把所有用到这个的地方都得改掉,这样就很麻烦,那么有什么解决方案么,使得改一处就好了?当然有,用数据库同义词就可以轻松搞定!
创建同义词步骤如下:



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




好了,SQL Server跨库跨服务器访问实现就到这了,如果按照步骤一步一步操作的话,相信您也已经实现了,下一篇文章就来谈谈分库分表实现。
SQL Server跨库跨服务器访问实现的更多相关文章
- sql server 数据库创建链接服务器访问另外一个sql server 数据库
继上篇在sql server中创建链接服务器访问oracle数据库:http://www.cnblogs.com/527289276qq/p/4770379.html 本文介绍在sql server中 ...
- sql server中使用链接服务器访问oracle数据库
一. 安装配置oracle客户端 要访问orcale数据,必须在访问的客户端机器上安装oracle客户端. Orcale有两种形式的客户端: l 完整的客户端 包括访问服务器端数据库 ...
- sql server 数据库创建链接服务器
本文介绍在sql server中创建链接服务器访问sql server数据库. 方法: 打开SSMS,新建程序,执行下面sql语句块: EXEC sp_addlinkedserver @server= ...
- SQL Server 中的跨库视图
SQL Server 中的跨库视图 在一个SQL中,有多个数据库,A.B.C,在使用C为连接库中,现在要查询A中的表T1. 那么,在C中建创视图(A_T1). SELECT *FROM A.dbo.T ...
- 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误
SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...
- 64位sql server 如何使用链接服务器连接Access
原文:64位sql server 如何使用链接服务器连接Access 测试环境 操作系统版本:Windows Server 2008 r2 64位 数据库版本:Sql Server 2005 64位 ...
- sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系
原创链接:https://www.cnblogs.com/lxf1117/p/6762315.html sql server登录名.服务器角色.数据库用户.数据库角色.架构区别联系 1.一个数据库用户 ...
- Razor视图引擎布局 Razor视图引擎的基本概念与法语 SQL Server Mobile 和 .NET 数据访问接口之间的数据类型映射 binary 和 varbinary datetime 和 smalldatetime float 和 real
Razor视图引擎布局 不需要像过去aspx一样,使用.Master文件,而是统一使用.cshtml 或 .vbhtml文件.但文件名一般以 _开头,这样做文件不会当做View显示出来 使用@Re ...
- SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html SQL性能优化汇总篇:http://www.cnblogs.com/dunit ...
随机推荐
- Django - 模版语言循环字典
1.可以对传入字典参数做循环显示 views.py中代码: urls.py中代码: html中代码: 在模版语言中,可以对字典进行类似python中的操作(keys,values,items),需要注 ...
- .NET 大数据量并发解决方案
https://www.cnblogs.com/wxlevel/p/7484738.html
- P1638 逛画展
题目描述 博览馆正在展出由世上最佳的 M 位画家所画的图画. wangjy想到博览馆去看这几位大师的作品. 可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必须说明两个数字, a和b,代表他要看 ...
- mysql命令整理
MySQL大小写通用. 一.常见用的mysql指令 1.show databases; #查看当前所有库 2.show tables; #查看所在库中的所有表 3.use 库名; #进入该库 4.sh ...
- R 安装car包失败
在RStudio里安装car包的时候报错 /usr/bin/ld: cannot find -llapack /usr/bin/ld: cannot find -lblas make: *** [qu ...
- linux学习8-正则表达式基础
正则表达式基础 实验介绍 虽然我们这一节的标题是正则表达式,但实际这一节实验只是介绍grep,sed,awk这三个命令,而正则表达式作为这三个命令的一种使用方式(命令输出中可以包含正则表达式).正则表 ...
- java中的redis工具类
1.redis基础类 package com.qlchat.component.redis.template; import javax.annotation.PostConstruct; impor ...
- 有用的生活有关的website
1. 如何快速download mpa3 from youtube a. google "youtube download" 2. 打开https://y2mate.com 3. ...
- 越来越好玩,SPRINGMVC
了解了JSP和SERVLET的运行机制, 看完SPRING的内容,理解了一些IOC及AOP之后,进入SPRINGMVC和SPRINGBOOT,感觉轻松多啦.
- Android学习笔记之:android更新ui的几种经常用法
Android主线程不能运行耗时操作.我们通常是在子线程中运行耗时操作, 我们在运行完耗时操作后,我们一般能够通过下面几种方式来实现ui界面的更新. 首先是布局文件: <LinearLayout ...