假設
正式機的資料庫為「WORK」
測試機的資料庫為「WORK_TEST」
在撰寫語法的時候,寫的又是
SELECT * FROM WORK.dbo.employee
這樣在測試機就不能執行
SYNONYM 是 SQL Server 中的一種對象,允許你為另一個資料庫對象(如表、視圖、儲存過程或函數)創建一個別名。其主要作用包括:
- 簡化查詢:允許你使用簡單的名稱來訪問可能具有長路徑或複雜名稱的對象。
- 跨資料庫訪問:方便在同一個 SQL 語句中訪問不同資料庫甚至不同伺服器上的對象。
- 提高靈活性:如果底層對象的位置或名稱改變,只需更新 SYNONYM,而不需要更改所有引用該對象的 SQL 語句。
這時可以再測試區創建 synonym
,將 work.dbo.employee
指向 work_test.dbo.employee
:
CREATE SYNONYM work.dbo.employee FOR work_test.dbo.employee;
這樣,你可以繼續使用 SELECT * FROM work.dbo.employee
,實際上它會查詢 work_test.dbo.employee
表中的數據。
查詢已建立的 SYNONYM
SELECT name AS SynonymName,
OBJECT_SCHEMA_NAME(object_id) AS SchemaName,
base_object_name AS BaseObjectName
FROM sys.synonyms;
刪除 synonym
複製程式碼
DROP SYNONYM RemoteEmployee;
查看已刪除的 SYNONYM
SELECT name AS SynonymName,
OBJECT_SCHEMA_NAME(object_id) AS SchemaName,
base_object_name AS BaseObjectName
FROM sys.synonyms;
沒有留言:
張貼留言