SQL Server 2012筆記分享-4:理解SQL server實例

每個單獨的SQL server實例都有一個windows進程:sqlservr.exe,一個windows下能安裝多個實例,多個實例會有多個sqlservr.exe進程。

一個SQL實例在後臺對應一個服務,如果多個應用程序放在一個實例裏,如果某個應用開發的程序有問題,比如死循環,會導致服務停止,從而導致所有數據庫無法工作。可以採用多實例分開方式。

一個服務器上可以裝多個實例,標準版(16個)和企業版(50個)支持的實例數量不同。

SQL server實例的類型

(一)默認實例和命名實例

1、服務中服務名稱的區別

默認實例:MSSQLSERVER;

命名實例:實列名爲:SQL01,在服務中的名稱是:MSSQL$SQL01。如果你有多個實例的時候會在服務中出現多個服務名稱.

2、連接到SSMS時候的區別

默認實例可以使用點號、“(local)”、“計算機名稱”直接連接

clipboard

命名實例使用計算機名\實例名連接。使用的名稱是:computername\SQL01

3、SQL Server 2005 的默認實例和命名實例的文件位置

無論是默認的還是命名的實例,都有自己的一套程序文件和數據文件,以及一套在計算機上的所有實例之間共享的公共文件。

對於包含數據庫引擎、Analysis Services 和 Reporting Services 的 SQL Server 實例,每個組件都有一套完整的數據文件和可執行文件,以及由所有組件共享的公共文件。

爲了隔離每個組件的安裝位置,在給定的 SQL Server 實例中爲每個組件都生成了唯一的實例 ID。這使單個組件可以升級到將來的 SQL Server 版本,而與其他 SQL Server 組件無關。

請不要***下列任何目錄或其中的內容:Binn、Data、Ftdata、HTML 或 1033。如有必要,可以***其他目錄;但是,如果不卸載並重新安裝 SQL Server 2005,則可能無法檢索失去的功能或數據。

不要***或修改 HTML 目錄中的任何 .htm 文件。它們對於 SQL Server 工具的正常運行是必需的。

單臺計算機上的所有實例使用的公共文件安裝在文件夾 systemdrive:\Program Files\Microsoft SQL Server\90 中,其中 systemdrive 是安裝組件的驅動器號。通常爲驅動器 C。

參考:http://technet.microsoft.com/zh-cn/library/ms143547(SQL.90).aspx

4、實例ID

SQL Server 安裝過程中,爲每個服務器組件生成一個實例 ID。此 SQL Server 版本中的服務器組件是數據庫引擎、Analysis Services 和 Reporting Services。實例 ID 的格式爲 MSSQL.n,其中 n 是安裝組件的序號。實例 ID 用在文件目錄和註冊表根目錄中。

第一個生成的實例 ID 爲 MSSQL.1,其他實例的 ID 號依次遞增,如 MSSQL.2,MSSQL.3 等。如果由於卸載而使 ID 序列中斷,則將生成 ID 號來填充中斷。最新安裝的實例可能並不總是有最高的實例 ID 號。

5、SQL express

在 SQL Server Express 中,默認情況下始終使用命名實例。您可以在安裝 SQL Server Express 時指定實例名,否則,將使用默認命名實例 SQLExpress。如果使用默認命名實例,則可以將該實例引用爲 computername\SQLExpress。

如果安裝有默認實例的服務器中未安裝其他版本的 SQL Server,則可以將 SQL Server Express 作爲默認 SQL Server 實例進行安裝。爲此,請使用實例名 MSSQLSERVER 將 SQL Server Express 安裝在命名實例中。這樣可強制安裝程序將 SQL Server Express 作爲默認的未命名實例進行安裝。

下圖是一個正在安裝默認實例的例子。

截圖14

(二)本機實例和羣集實例

籠統來說,如果SQL server沒有進行故障轉移羣集部署,那SQL server的實例就是本機實例。

爲了更好地理解羣集實例,可以參考博客文章:http://543925535.blog.51cto.com/639838/1179319


2014.6.26日補充


======================================================================

羣集實例的每個節點都提供相同的服務。而單機實例指一臺機器上面安裝的SQL實例,不管單臺機器安裝了多少個SQL實例,每一個單獨的實例都叫單機實例。

一個實例是一個網絡標識,對外提供服務,裏面可以有多個數據庫。

SQL實例和Oracle的實例不太一樣,Oracle的實例類似於SQL的數據庫。

2014.6.27日補充

======================================================================

安裝多實例的時候,每個實例可以偵聽獨立的SQL TCP/IP端口;默認是1433端口,但是可以修改的;1433是國際上專門預留給SQL SERVER,Oracle是1521,這個只針對默認實例是這樣的;如果繼續安裝命名實例,默認使用動態TCP端口1024-65535之間,需要的話也可以設置靜態的TCP端口,方便防火牆開放;設置靜態端口要防止本機上的端口衝突;使用SQL server browser服務來偵聽嘗試連接SQL server命名實例的網絡要求(UDP 1434),提供指定的命名實例偵聽的TCP端口號,如果有緩存以後就不需要了,如果只安裝了默認實例,則該服務安裝後是禁用的,因爲SQL不需要這個服務,如果是命令實例安裝,則browser服務會設置爲自動啓動安裝;所有實例只有一個browser服務;不管一臺服務器上安裝了多少個SQL實例,始終都只會有一個browser服務。

=======================================================================

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章