2009-05-27 84 views
0

我有sql數據庫存儲在一個共享的網絡驅動器上,經過一系列配置後,我可以通過網絡在sql server 2008實例上附加這個數據庫。我可以同時在不同的sql實例上附加數據庫嗎?

但我想附加在不同的機器上包含不同的SQL實例相同的數據庫(我認爲邏輯上沒有數據損壞,因爲我希望它是隻讀)。

所以我的問題是我可以將數據庫附加到多個SQL實例在同一時間嗎? 以及如何?

我這樣做使用中央數據庫?如果我不能,那麼另一種解決方案是如何支持不同機器上不同sql實例之間的數據庫共享呢?

(我知道有一個SAN存儲,但它是昂貴的對我來說,我認爲光纖/ SCSI連接不支持共享)

回答

2

我不認爲你可以將一個數據庫文件附加到多個服務器或服務器實例,如果兩臺服務器都在線。

如果您的目標是在另一臺服務器上擁有數據庫的副本,請查看SQL Server replication。根據您的需求,您可以使用幾種類型的複製。另一種選擇是Database Mirroring,這將允許您在另一臺服務器上擁有數據庫的鏡像副本,但我認爲它不適合您的需要,因爲只能鏡像目前主體服務器中的數據庫才能訪問。

鏡像主要用於高可用性和災難恢復場景。在SQL Server複製中,您可以同時使用兩臺服務器,甚至可以更新兩個數據庫副本並使它們在兩臺服務器上同步。

1

你會得到最接近的是這樣的:Scalable Shared Databases

否則,它是一個簡單的號碼。每個實例都想獨佔使用這些文件。

在網絡共享上使用文件也存在問題:預計磁盤在設備管理器(本地,NAS或SAN)中是本地的。您可能能夠在UNC路徑上附加文件,但您絕對無法在UNC路徑上創建新的數據庫(沒有某些跟蹤標誌欺騙)。

0

我不清楚爲什麼你想這樣做:爲什麼你不只是附加一個實例,讓人們通過通常的連接訪問它?在需要的情況下,您可以設置只能訪問該數據庫的用戶,並且僅授予對錶和視圖的SELECT權限(小心存儲過程的權限)並放行,而不會冒着其中一個訪問未經授權的數據庫的風險,在這一個上執行非法操作,或者一個實例的某個問題會破壞數據庫。
我會認爲這樣做的可能風險三倍

+0

我想製作一個可伸縮的共享數據庫 – 2009-05-27 09:25:19

相關問題