在SqlLocalDB中創建命名實例而不是使用默認v11.0實例有什麼好處?在我的方案中,我在連接字符串中使用AttachDbFileName選項附加數據庫文件。SQL Server中命名實例的好處是什麼?
輔助問題:是否可以爲不同的LocalDB實例設置不同的設置?如果是這樣,什麼樣的設置(我讀過,你不能改變,如排序)?
在SqlLocalDB中創建命名實例而不是使用默認v11.0實例有什麼好處?在我的方案中,我在連接字符串中使用AttachDbFileName選項附加數據庫文件。SQL Server中命名實例的好處是什麼?
輔助問題:是否可以爲不同的LocalDB實例設置不同的設置?如果是這樣,什麼樣的設置(我讀過,你不能改變,如排序)?
我可以看到兩種可能的優點,性能和控制配置的能力。
LocalDB受限於與其他SQL Express實例相同的方式,每個實例都應用CPU和RAM限制。如果您的應用程序使用自己的實例,它將自己完成,並且不需要與其他應用程序共享。使用默認實例意味着您的應用程序必須使用默認實例與其他應用程序共享
如果您需要製作任何可能破壞其他應用程序的特殊實例範圍的配置,您也可以使用命名實例。或者,如果您擔心其他某些行爲異常的應用程序可能會更改違反應用程序的默認實例,並讓您的客戶責備您。雙向工作:-)
第一個原因(關於資源限制)很有意義,謝謝。至於第二:我可以(或使用共享實例的任何其他應用程序)真的在LocalDB的情況下實現任何實例範圍的配置更改嗎? –
如果你想要在同一臺機器上運行多個SQL Server實例,你必須命名它們來區分它們。除此之外,就正常使用情況而言,沒有真正的「好處」。
如果您需要不同的服務器配置或甚至不同的版本,多個實例很有用。比如說你有一個用於Sql 2008的數據庫,並希望爲Sql 2012中的新應用程序創建一個新的數據庫。你可以將兩者都託管在同一臺機器上,並使用最高級版本的功能,同時保持舊版本的正常工作。 。
請注意,您只能安裝一個默認實例,但您可以安裝多個命名實例。除非您特別需要在同一主機上安裝多個SQL Server實例,例如同時運行不同版本,集羣或其他隔離要求,否則最好只安裝每個主機的默認實例。任何額外的實例必須命名(顯然是出於區分的原因)。
默認和命名實例之間的根本區別主要是網絡連接問題。客戶端可以使用知名1433端口上的主機名稱連接到默認實例。要連接到命名實例,客戶端指定主機和實例名稱(例如「MyHost \ My_Instance」),並且SQL Server Browser服務返回指定實例正在偵聽的端口。
在現實世界中,具有多個實例的原因因組織而異。下面是一些最常見的原因有:
應用功能或負載測試
服務器整合
內部主機\部門級服務器共享
安全
演示
來源:
尼斯閱讀:
命名*任何*的好處是什麼? :) – Crono
你可以稱它爲名字。非常明顯。但請注意,v11.0也被命名,但我不需要創建它(共享,管理安全性等)。那爲什麼要麻煩?我希望MS提供一個功能是有原因的。 –