国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

由淺入深講解SQL Server 2005數據庫中Synonym的使用方法

2024-08-31 00:52:27
字體:
來源:轉載
供稿:網友
數據庫中Synonym的使用方法:

1.Synonym的概念

Synonym(同義詞)是SQL Server 2005的新特性。推出已經有幾年的時間了。我們可以簡單的理解Synonym為其他表的別名。本文中使用Northwind數據庫為示例:

Create Synonym MyCustomers FOR Customers

為Customers表創建一個Synonym,叫MyCustomers。 我們可以把這個MyCustomers當作一個普通的表,可以對它進行查詢,更新,刪除和插入。例如:

查詢: Select * from MyCustomers.

插入: Insert into MyCustomers (CustomersID, CompanyName) values ('Tom', 'MS')

所有的操作,和普通的表沒有區別。

2.Synonym的實際應用

在你的程序發布的時候,你突然發現你需要更改某個表名,或字段名。而你的程序已經不可能修改。這時,怎么辦呢?那就創建Synonym吧。當然,在sql2000時代,你可以使用view來做這個事情,或sPRocs或udf等。但Synonym有其它所不能的功能,那就是跨數據庫,跨服務器。

3.Synonym在同一服務器上的不同數據庫

對于同一服務器上的不同數據庫,我們可以使用Synonym,將其他數據庫中的表或view或sprocs及udf在本數據庫中映射別名。這樣,就可以不用更改連接字符串,而在當前對話數據庫的情況下,獲取其他數據庫的數據,并對它進行,查詢,更新,刪除和插入工作。

先假設已經存在Northwind數據庫,然后,再建一個數據庫。我們在新的數據庫上,創建Customer表的Synonym.

Create Synonym MyCustomers For Northiwind.dbo.Customers

需要大家注意的是,后面需要寫清那個數據庫,那個表,中間dbo為表的owner.

然后,運行 Insert into MyCustomers (CustomersID, CompanyName) values ('Tom', 'MS')

和Select * from MyCustomers. 看看是不是真的像普通表那樣。

4.Synonym在不同服務器上的不同數據庫

假設一下,我們有一臺數據庫服務器叫SqlTest。上面有個數據庫叫Northwind。我們本地還有一臺數據庫服務器。叫LocalTest. 其上面有一數據庫叫Northwind或其他什么的。突然有一天,為了使本地的數據庫跑的更快,本地的老數據被移到SqlTest上去了,本地只保存最近更新的。那老數據總還是要用的,怎么樣實現不同服務器之間的數據操作呢?那就用Synonym吧。如下:

Create Synonym MyCustomers For SqlTest.Northiwind.dbo.Customers

你可能會發現,只是在上面這個例子的基礎上,加了個機器名字。就這么簡單?不是吧?那臺服務器還不一定知道用戶名和密碼呢。對,是的,還要在本地服務器上,注冊一下遠程的服務器。使用sp_addlinkedserver,此存儲過程定義如下所示:

Exec sp_droplinkedsrvlogin daval/sql2005,NullExec sp_dropserver daval/sql2005 EXEC sp_addlinkedserver@server='daval/sql2005',--被訪問的服務器別名@srvproduct='',@provider='SQLOLEDB',@datasrc='D12'   --要訪問的服務器EXEC sp_addlinkedsrvlogin 'daval/sql2005', --被訪問的服務器別名'false', NULL, 'sa', --賬號'123456' --密碼Select * from MyCustomers

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武邑县| 灌南县| 潮州市| 故城县| 永康市| 固镇县| 安西县| 东光县| 佛教| 合山市| 万年县| 巴林左旗| 鲁山县| 周宁县| 海盐县| 杂多县| 蓬溪县| 辽中县| 丁青县| 资溪县| 融水| 高青县| 玛纳斯县| 正阳县| 湘潭市| 镇雄县| 黎平县| 阳朔县| 泸定县| 梓潼县| 攀枝花市| 英吉沙县| 共和县| 思茅市| 佳木斯市| 哈密市| 新密市| 兴国县| 东宁县| 巴里| 晋江市|