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跨庫跨服務器訪問實現就到這了,若是按照步驟一步一步操做的話,相信您也已經實現了,下一篇文章就來談談分庫分表實現。

相關文章
相關標籤/搜索