国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

SQLServer2008的數(shù)據(jù)庫鏡像實施筆記

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 15:42:26
文檔

SQLServer2008的數(shù)據(jù)庫鏡像實施筆記

SQLServer2008的數(shù)據(jù)庫鏡像實施筆記:最初在為公司設計SQLServer數(shù)據(jù)庫鏡像的時候,首先考慮的是高可用性(三臺計算機,一臺見證服務器,一臺做主數(shù)據(jù)庫,一臺做鏡像) 在虛擬機環(huán)境下部署成功,一切都是那么的完美。 故障轉(zhuǎn)移3秒之內(nèi)就可以順利完成。 1.高可用性的實施代碼: 主體數(shù)據(jù)庫 /*
推薦度:
導讀SQLServer2008的數(shù)據(jù)庫鏡像實施筆記:最初在為公司設計SQLServer數(shù)據(jù)庫鏡像的時候,首先考慮的是高可用性(三臺計算機,一臺見證服務器,一臺做主數(shù)據(jù)庫,一臺做鏡像) 在虛擬機環(huán)境下部署成功,一切都是那么的完美。 故障轉(zhuǎn)移3秒之內(nèi)就可以順利完成。 1.高可用性的實施代碼: 主體數(shù)據(jù)庫 /*

最初在為公司設計SQLServer數(shù)據(jù)庫鏡像的時候,首先考慮的是高可用性(三臺計算機,一臺見證服務器,一臺做主數(shù)據(jù)庫,一臺做鏡像) 在虛擬機環(huán)境下部署成功,一切都是那么的完美。 故障轉(zhuǎn)移3秒之內(nèi)就可以順利完成。 1.高可用性的實施代碼: 主體數(shù)據(jù)庫 /* ***

最初在為公司設計SQLServer數(shù)據(jù)庫鏡像的時候,首先考慮的是高可用性(三臺計算機,一臺見證服務器,一臺做主數(shù)據(jù)庫,一臺做鏡像)

在虛擬機環(huán)境下部署成功,一切都是那么的完美。 故障轉(zhuǎn)移3秒之內(nèi)就可以順利完成。

1.高可用性的實施代碼:

主體數(shù)據(jù)庫
/********************************************************
此腳本在主體服務器執(zhí)行
********************************************************/
--鏡像只支持完全恢復模式,在備份數(shù)據(jù)庫之前檢查恢復的模式
--對要鏡像的數(shù)據(jù)庫進行完整備份后,復制到鏡像數(shù)據(jù)庫以NORECOVERNY選項進行恢復
USE master;
--DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
GO
--為此服務器實例制作一個證書。
--DROP CERTIFICATE HOST_A_cert
CREATE CERTIFICATE HOST_A_cert
WITH SUBJECT = 'HOST_A certificate',START_DATE = '01/01/2009';
GO
--使用該證書為服務器實例創(chuàng)建一個鏡像端點。
--DROP ENDPOINT Endpoint_Mirroring
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5022
, LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE HOST_A_cert
, ENCRYPTION = REQUIRED ALGORITHM AES
, ROLE = PARTNER
);
GO

--備份 HOST_A 證書,并將其復制到其他機器,將 C:\HOST_A_cert.cer 復制到 HOST_B\HOST_C。
BACKUP CERTIFICATE HOST_A_cert TO FILE = 'e:\HOST_A_cert.cer';
GO
--為入站連接配置 Host_A
--在 HOST_A 上為 HOST_B 創(chuàng)建一個登錄名。
USE master;
--DROP LOGIN HOST_B_login
CREATE LOGIN HOST_B_login WITH PASSWORD = 'password';
GO

--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_B_user
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
GO
--使證書與該用戶關聯(lián)。
--DROP CERTIFICATE HOST_B_cert
CREATE CERTIFICATE HOST_B_cert
AUTHORIZATION HOST_B_user
FROM FILE = 'e:\HOST_B_cert.cer'
GO

--授予對遠程鏡像端點的登錄名的 CONNECT 權限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
GO

--在 HOST_A 上為 HOST_C 創(chuàng)建一個登錄名。
USE master;
--DROP LOGIN HOST_C_login
CREATE LOGIN HOST_C_login WITH PASSWORD = 'password';
GO

--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_C_user
CREATE USER HOST_C_user FOR LOGIN HOST_C_login;
GO
--使證書與該用戶關聯(lián)。
--DROP CERTIFICATE HOST_C_cert
CREATE CERTIFICATE HOST_C_cert
AUTHORIZATION HOST_C_user
FROM FILE = 'e:\HOST_C_cert.cer'
GO

--授予對遠程鏡像端點的登錄名的 CONNECT 權限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_C_login];
GO

USE master;
--DROP LOGIN HOST_A_login
CREATE LOGIN HOST_A_login WITH PASSWORD = 'password';
GO
--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_A_user
CREATE USER HOST_A_user FOR CERTIFICATE HOST_A_cert;
GO
--授予對遠程鏡像端點的登錄名的 CONNECT 權限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];
GO

--必須要在鏡像數(shù)據(jù)庫中先設置好伙伴后,才能在主體服務器執(zhí)行
--在 HOST_A 的主體服務器實例上,將 HOST_B 上的服務器實例設置為伙伴(使其成為初始鏡像服務器實例)。
ALTER DATABASE crm
SET PARTNER = 'TCP://192.168.1.205:5022';
GO

--設置見證服務器
ALTER DATABASE crm SET WITNESS = N'TCP://192.168.1.204:5022';
GO

鏡像數(shù)據(jù)庫
/***********************************************
在鏡像服務器執(zhí)行此腳本
***********************************************/
USE master;
--DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
GO
--為 HOST_B 服務器實例制作一個證書。
--DROP CERTIFICATE HOST_B_cert
CREATE CERTIFICATE HOST_B_cert
WITH SUBJECT = 'HOST_B certificate for database mirroring',START_DATE = '01/01/2009';
GO
--在 HOST_B 中為服務器實例創(chuàng)建一個鏡像端點。
--DROP ENDPOINT Endpoint_Mirroring
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5022
, LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE HOST_B_cert
, ENCRYPTION = REQUIRED ALGORITHM AES
, ROLE = PARTNER
);
GO
--備份 HOST_B 證書,將 C:\HOST_B_cert.cer 復制到 HOST_A\HOST_C。
BACKUP CERTIFICATE HOST_B_cert TO FILE = 'e:\HOST_B_cert.cer';
GO

--為入站連接配置 Host_B
--在 HOST_B 上為 HOST_A 創(chuàng)建一個登錄名。
USE master;
--DROP LOGIN HOST_A_login
CREATE LOGIN HOST_A_login WITH PASSWORD = 'password';
GO
--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_A_user
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
GO
--使證書與該用戶關聯(lián)。
--DROP CERTIFICATE HOST_A_cert
CREATE CERTIFICATE HOST_A_cert
AUTHORIZATION HOST_A_user
FROM FILE = 'e:\HOST_A_cert.cer'
GO

--授予對遠程鏡像端點的登錄名的 CONNECT 權限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];
GO

--在 HOST_B 上為 HOST_C 創(chuàng)建一個登錄名。
USE master;
--DROP LOGIN HOST_C_login
CREATE LOGIN HOST_C_login WITH PASSWORD = 'password';
GO

--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_C_user
CREATE USER HOST_C_user FOR LOGIN HOST_C_login;
GO
--使證書與該用戶關聯(lián)。
--DROP CERTIFICATE HOST_C_cert
CREATE CERTIFICATE HOST_C_cert
AUTHORIZATION HOST_C_user
FROM FILE = 'e:\HOST_C_cert.cer'
GO

--授予對遠程鏡像端點的登錄名的 CONNECT 權限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_C_login];
GO

--在 HOST_B 上為 HOST_B 創(chuàng)建一個登錄名。
USE master;
--DROP LOGIN HOST_B_login
CREATE LOGIN HOST_B_login WITH PASSWORD = 'password';
GO
--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_B_user
CREATE USER HOST_B_user FOR CERTIFICATE HOST_B_cert;
GO
--授予對遠程鏡像端點的登錄名的 CONNECT 權限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
GO
--在 HOST_B 的鏡像服務器實例上,將 HOST_A 上的服務器實例設置為伙伴(使其成為初始主體服務器實例)。
ALTER DATABASE crm
SET PARTNER = 'TCP://192.168.1.203:5022';
GO

見證服務器
/****************************
見證服務器執(zhí)行
*****************************/
--ALTER DATABASE MirrorDB SET PARTNER OFF
USE master;
--DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
GO

--為此服務器實例制作一個證書。
--DROP CERTIFICATE HOST_C_cert
CREATE CERTIFICATE HOST_C_cert
WITH SUBJECT = 'HOST_C certificate',START_DATE = '01/01/2009';
GO

--使用該證書為服務器實例創(chuàng)建一個鏡像端點。
--DROP ENDPOINT Endpoint_Mirroring
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5022
, LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE HOST_C_cert
, ENCRYPTION = REQUIRED ALGORITHM AES
, ROLE = WITNESS
);
GO


--備份 HOST_C 證書,并將其復制到其他系統(tǒng),即 HOST_B\HOST_A。
BACKUP CERTIFICATE HOST_C_cert TO FILE = 'e:\HOST_C_cert.cer';
GO

--為入站連接配置 Host_C
--在 HOST_C 上為 HOST_B 創(chuàng)建一個登錄名。
USE master;
--DROP LOGIN HOST_B_login
CREATE LOGIN HOST_B_login WITH PASSWORD = 'password';
GO

--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_B_user
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
GO
--使證書與該用戶關聯(lián)。
--DROP CERTIFICATE HOST_B_cert
CREATE CERTIFICATE HOST_B_cert
AUTHORIZATION HOST_B_user
FROM FILE = 'e:\HOST_B_cert.cer'
GO

--授予對遠程鏡像端點的登錄名的 CONNECT 權限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];
GO

--在 HOST_C 上為 HOST_A 創(chuàng)建一個登錄名。
USE master;
--DROP LOGIN HOST_A_login
CREATE LOGIN HOST_A_login WITH PASSWORD = 'password';
GO
--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_A_user
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
GO
--使證書與該用戶關聯(lián)。
--DROP CERTIFICATE HOST_A_cert
CREATE CERTIFICATE HOST_A_cert
AUTHORIZATION HOST_A_user
FROM FILE = 'e:\HOST_A_cert.cer'
GO

--授予對遠程鏡像端點的登錄名的 CONNECT 權限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];
GO

--在 HOST_C 上為 HOST_C 創(chuàng)建一個登錄名。
USE master;
--DROP LOGIN HOST_C_login
CREATE LOGIN HOST_C_login WITH PASSWORD = 'password';
GO
--創(chuàng)建一個使用該登錄名的用戶。
--DROP USER HOST_C_user
CREATE USER HOST_C_user FOR CERTIFICATE HOST_C_cert;
GO

可能有朋友們會比較有疑惑,你一下搞兩個數(shù)據(jù)庫出來,他們的ip地址都不一樣,到時候數(shù)據(jù)庫切換過去了,我的數(shù)據(jù)庫的連接字符串可如何是好?難道還得在代碼中去控制是連接哪個數(shù)據(jù)庫嗎?

其實這個問題是這樣的,使用ADO.NET或者SQL Native Client能夠自動連接到故障轉(zhuǎn)移后的伙伴,連接字符串如下所示:

ConnectionString="DataSource= A;Failover Partner=B;Initial Catalog=AdventureWorks;Integrated Security=true;"

DataSource= A;這個就是我們常用的主數(shù)據(jù)庫的ip地址,F(xiàn)ailover Partner=B;這個填寫的就是鏡像數(shù)據(jù)庫的ip地址,一旦出現(xiàn)了連接錯誤,ado.net會在超時以后自動去連接鏡像數(shù)據(jù)庫。

2.高級別保護模式

在昨天晚上加班做實施的時候,才發(fā)現(xiàn)我的設計已經(jīng)被修改了,由于以前的項目有java寫的也有c#寫的,全自動的故障轉(zhuǎn)移不能夠?qū)崿F(xiàn) 。換句話說,由于老項目中的歷史遺留問題,以及特殊模塊的耦合性過高,無法解耦,只能在高級別保護模式或高性能模式中選擇一種了。那么這兩者有什么區(qū)別呢?

簡單一點來說,區(qū)別就在與事務安全模式上跟應用場景上。

高級別保護模式采用的是同步鏡像, SAFETY FULL。應用場景:通常在局域網(wǎng)中或?qū)?shù)據(jù)要求比較高的場景中。

高性能保護模式采用的是異步鏡像, SAFETY OFF。應用場景:通常在廣域網(wǎng)或?qū)?shù)據(jù)要求不太高,丟失幾條數(shù)據(jù)是允許的,但是必須保證它不中斷服務。

在微軟的SQLServer2005的課程上是這么說的。如果是高級別保護模式的話,主、從數(shù)據(jù)庫只要有一臺不能正常保證服務,數(shù)據(jù)庫就不能夠?qū)ν膺M行服務了,我在開始的時候就沒有打算采用這種模式,因為部門經(jīng)理說了,丟失一兩條數(shù)據(jù)是可以接受的,況且我們公司是做運營的,按照起先微軟的課程的理論,高級別保護模式是不太適合我們公司的應用場景的,萬一有一臺數(shù)據(jù)庫出問題了,整個服務就被中斷,這是不能讓人接受的。再說了,公司對數(shù)據(jù)要求不太苛刻,兩臺服務器都有內(nèi)網(wǎng)線連接,由于內(nèi)網(wǎng)傳輸速度非常的快,即使采用高性能模式,一般來說也是不會丟失數(shù)據(jù)的。于是我打算采用高性能模式來做數(shù)據(jù)庫的鏡像。由于公司服務器沒有域環(huán)境,所以我就采用了證書驗證來做SQLServer鏡像。

意外收獲:

兩臺服務器全部都安裝了SQLServer2008,在設置事務安全模式的時候,才發(fā)現(xiàn)SQLServer2008不支持異步模式。提示大概如下:此SQLServer版本不支持修改事務安全模式,alter database失敗。 我當時汗都出來了,忙活了一晚上,到最后居然是這個結(jié)果。

由于是服務器維護時間,我大膽的把鏡像服務器停止了,結(jié)果卻讓我大吃一驚,主數(shù)據(jù)庫依舊可以正常工作,正常對外提供服務。也就是說,起先微軟的課程講的知識是錯誤的,兩臺數(shù)據(jù)庫做鏡像,不管是哪臺數(shù)據(jù)庫出了問題,另外的一臺數(shù)據(jù)庫都可以保證正常對外提供服務。于是我反復試驗反復切換了一下,結(jié)果依然是這樣。

由于高級別保護模式與高性能模式代碼差不太多,只是在事務安全模式的設置上有些小區(qū)別,前面已經(jīng)提到,這里就不再多解釋了。實施的代碼如下:

主體服務器
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate' ,
START_DATE = '01/01/2009';


CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );


BACKUP CERTIFICATE HOST_A_cert TO FILE = 'e:\HOST_A_cert.cer';


CREATE LOGIN HOST_B_login WITH PASSWORD = 'password';
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'e:\HOST_B_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];


ALTER DATABASE crm SET PARTNER = 'TCP://10.10.10.8:5022';






鏡像數(shù)據(jù)庫
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate',
START_DATE = '01/01/2009';


CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
( AUTHENTICATION = CERTIFICATE HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );


BACKUP CERTIFICATE HOST_B_cert TO FILE = 'e:\HOST_B_cert.cer';


CREATE LOGIN HOST_A_login WITH PASSWORD = 'password';
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'e:\HOST_A_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];


ALTER DATABASE crm SET PARTNER = 'TCP://10.10.10.6:5022';

可能有朋友會比較奇怪,你這里也沒有使用ALTER DATABASE crm SET SAFETY FULL; 按理應該是高性能模式才對呀?

其實這個問題是這樣的,我的這個SQLServer2008默認已經(jīng)是將事務安全模式設置為full了,即使是手動設置也一樣,并且我實施的時候SQLServer2008不支持將

事務安全模式設置為OFF。

OK,一切都設置好了,那么就可以模擬服務器真的down機時候的操作了,后續(xù)的工作我也把代碼做了總結(jié),具體代碼如下:

手動故障轉(zhuǎn)移代碼
--主備互換
--主機執(zhí)行:

ALTER DATABASE crm SET PARTNER FAILOVER

--主服務器Down掉,備機緊急啟動并且開始服務
ALTER DATABASE crm SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS


原來的主服務器恢復,可以繼續(xù)工作,需要重新設定鏡像
--備機執(zhí)行:
USE master
ALTER DATABASE crm SET PARTNER RESUME --恢復鏡像

ALTER DATABASE crm SET PARTNER FAILOVER; --切換主備


3.監(jiān)視數(shù)據(jù)庫鏡像

SQLServer提供了一些視圖,可以供查詢鏡像的各種狀態(tài),到時候可以根據(jù)這個做一個監(jiān)視,一旦發(fā)生故障轉(zhuǎn)移群集,發(fā)郵件給系統(tǒng)管理員,好讓系統(tǒng)管理員及時的知道數(shù)據(jù)庫服務器發(fā)生了什么問題,即使的做故障分析、排查。有關這方面資料,MSDN上已經(jīng)提供太多資料了。感興趣的朋友可以去查這方面的資料。

在文章的最后提出一個有爭議的問題:SQLServer(2008)高級別保護模式,只要有一臺數(shù)據(jù)庫能夠保證正常運行,就可以正常對外提供服務。我的實驗結(jié)果是這樣的,這的確跟以往的理論知識有些出入。

還等什么,趕快搭環(huán)境動手實驗一下吧,體驗一下SQLServer鏡像帶來的快感。 希望有興趣的朋友們一起學習探討。

后話:

在發(fā)布本文以后,有朋友問到說SQLServer鏡像在實施過程中不知道開放什么端口,導致防火墻必須關閉掉的這個問題。因為我這里的環(huán)境已經(jīng)沒有了,搭建真實環(huán)境進行模擬測試也不太可能,簡單看了下,SQLServer服務需要用到了如下端口如圖所示:

另外,請參考msdn的這篇文章:http://msdn.microsoft.com/zh-cn/library/cc646023.aspx

數(shù)據(jù)庫引擎使用的端口

下表列出了數(shù)據(jù)庫引擎經(jīng)常使用的端口。

應用場景 端口 注釋

通過 TCP 運行的 SQL Server 默認實例

TCP 端口 1433

這是允許通過防火墻的最常用端口。它適用于與默認數(shù)據(jù)庫引擎安裝或作為計算機上唯一運行實例的命名實例之間的例行連接。(命名實例具有特殊的注意事項。請參閱本主題后面的動態(tài)端口)。

采用默認配置的 SQL Server 命名實例

此 TCP 端口是在啟動數(shù)據(jù)庫引擎時確定的動態(tài)端口。

請參閱下面動態(tài)端口部分中的描述。當使用命名實例時,SQL Server Browser 服務可能需要 UDP 端口 1434。

配置為使用固定端口的 SQL Server 命名實例

由管理員配置的端口號。

請參閱下面動態(tài)端口部分中的描述。

專用管理員連接

對于默認實例,為 TCP 端口 1434。其他端口用于命名實例。有關端口號,請查看錯誤日志。

默認情況下,不會啟用與專用管理員連接 (DAC) 的遠程連接。若要啟用遠程 DAC,請使用外圍應用配置器方面。有關詳細信息,請參閱了解外圍應用配置器。

SQL Server Browser 服務

UDP 端口 1434

SQL Server Browser 服務用于偵聽指向命名實例的傳入連接,并為客戶端提供與此命名實例對應的 TCP 端口號。通常,只要使用數(shù)據(jù)庫引擎的命名實例,就會啟動 SQL Server Browser 服務。如果客戶端配置為連接到命名實例的特定端口,則不必啟動 SQL Server Browser 服務。

通過 HTTP 端點運行的 SQL Server 實例。

可以在創(chuàng)建 HTTP 端點時指定。對于 CLEAR_PORT 通信,默認端口為 TCP 端口 80,對于 SSL_PORT 通信,默認端口為 443。

用于通過 URL 實現(xiàn)的 HTTP 連接。

通過 HTTPS 端點運行的 SQL Server 默認實例。

TCP 端口 443

用于通過 URL 實現(xiàn)的 HTTPS 連接。HTTPS 是使用安全套接字層 (SSL) 的 HTTP 連接。

Service Broker

TCP 端口 4022。若要驗證使用的端口,請執(zhí)行下面的查詢:

SELECT name, protocol_desc, port, state_desc

FROM sys.tcp_endpoints

WHERE type_desc = 'SERVICE_BROKER'

對于 SQL Server Service Broker,沒有默認端口,不過這是聯(lián)機叢書示例中使用的常規(guī)配置。

數(shù)據(jù)庫鏡像

管理員選擇的端口。若要確定此端口,請執(zhí)行以下查詢:

SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints

WHERE type_desc = 'DATABASE_MIRRORING'

對于數(shù)據(jù)庫鏡像,沒有默認端口,不過聯(lián)機叢書示例使用 TCP 端口 7022。務必避免中斷正在使用的鏡像端點,尤其是處于帶有自動故障轉(zhuǎn)移功能的高安全模式下時。防火墻配置必須避免破壞仲裁。有關詳細信息,請參閱指定服務器網(wǎng)絡地址(數(shù)據(jù)庫鏡像)。

復制

與 SQL Server 的復制連接使用典型的常規(guī)數(shù)據(jù)庫引擎端口(供默認實例使用的 TCP 端口 1433 等)

復 制快照的 Web 同步和 FTP/UNC 訪問要求在防火墻上打開其他端口。為了將初始數(shù)據(jù)和架構從一個位置傳輸?shù)搅硪粋€位置,復制可以使用 FTP(TCP 端口 21)或者通過 HTTP(TCP 端口 80)或文件和打印共享(TCP 端口 137、138 或 139)進行的同步。

對于通過 HTTP 進行的同步,復制使用 IIS 端點(其端口可配置,但默認情況下為端口 80),不過 IIS 進程通過標準端口(對于默認實例為 1433)連接到后端 SQL Server。

在使用 FTP 進行 Web 同步期間,F(xiàn)TP 傳輸是在 IIS 和 SQL Server 發(fā)布服務器之間進行,而非在訂閱服務器和 IIS 之間進行。

有關詳細信息,請參閱Configuring Microsoft Internet Security and Acceleration Server for Microsoft SQL Server 2000 Replication over the Internet(為通過 Internet 進行的 Microsoft SQL Server 2000 復制配置 Microsoft Internet Security and Acceleration Server)。

Transact-SQL 調(diào)試器

TCP 端口 135

請參閱端口 135 的特殊注意事項

可能還需要 IPsec 例外。

如果使用 Visual Studio,則在 Visual Studio 主機計算機上,還必須將 Devenv.exe 添加到“例外”列表中并打開 TCP 端口 135。

如果使用 Management Studio,則在 Management Studio 主機計算機上,還必須將 ssms.exe 添加到“例外”列表中并打開 TCP 端口 135。有關詳細信息,請參閱配置和啟動 Transact-SQL 調(diào)試器。

有關為數(shù)據(jù)庫引擎配置 Windows 防火墻的分步說明,請參閱如何為數(shù)據(jù)庫引擎訪問配置 Windows 防火墻。

動態(tài)端口

默 認情況下,命名實例(包括 SQL Server Express)使用動態(tài)端口。也就是說,每次啟動數(shù)據(jù)庫引擎時,它都將確定一個可用端口并使用此端口號。如果命名實例是安裝的唯一數(shù)據(jù)庫引擎實例,則它 可能使用 TCP 端口 1433。如果還安裝了其他數(shù)據(jù)庫引擎實例,則它可能會使用其他 TCP 端口。由于所選端口可能會在每次啟動數(shù)據(jù)庫引擎時更改,因而很難配置防火墻以啟用對正確端口號的訪問。因此,如果使用防火墻,則建議重新配置數(shù)據(jù)庫引擎以 每次都使用同一端口號。這稱為固定端口或靜態(tài)端口。有關詳細信息,請參閱配置固定端口。

另一種配置命名實例以偵聽固定端口的方法是在防火墻中為諸如 sqlservr.exe 之類的 SQL Server 程序創(chuàng)建例外(針對數(shù)據(jù)庫引擎)。這會非常方便,但當使用高級安全 Windows 防火墻 MMC 管理單元時,端口號將不會顯示在“入站規(guī)則”頁的“本地端口”列中。這會使審核哪些端口處于打開狀態(tài)變得更為困難。另一注意事項是 Service Pack 或累積的更新可能會更改 SQL Server 可執(zhí)行文件的路徑,這將使防火墻規(guī)則作廢。

希望可以幫到那些困惑中的人們。祝:好運。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

SQLServer2008的數(shù)據(jù)庫鏡像實施筆記

SQLServer2008的數(shù)據(jù)庫鏡像實施筆記:最初在為公司設計SQLServer數(shù)據(jù)庫鏡像的時候,首先考慮的是高可用性(三臺計算機,一臺見證服務器,一臺做主數(shù)據(jù)庫,一臺做鏡像) 在虛擬機環(huán)境下部署成功,一切都是那么的完美。 故障轉(zhuǎn)移3秒之內(nèi)就可以順利完成。 1.高可用性的實施代碼: 主體數(shù)據(jù)庫 /*
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 福利一区三区 | 二区三区不卡不卡视频 | 国产最新视频 | 欧美日韩成人高清色视频 | 亚洲国产婷婷综合在线精品 | 国产激情一级毛片久久久 | 精品不卡 | 一区二区三区91 | 国产精品视频一区二区三区 | 久久国产欧美 | 一级毛片免费毛片毛片 | 日韩欧美在线视频 | 乌克兰性欧美精品高清bd | 欧洲日韩视频二区在线 | 欧美一区二区三区视视频 | 日韩一页 | 亚洲国产成人精品女人久久久 | 日日摸夜夜添夜夜爽免费视频 | 久久精品综合国产二区 | 国产成人精品三级在线 | 久久精品99久久香蕉国产色戒 | 成人精品一区二区www | 中文字幕第7页 | 亚洲视频一区二区三区 | 国产精品成人一区二区1 | 亚洲精品乱码久久久久久 | 欧洲日韩视频二区在线 | 伊人网中文字幕 | 欧美另类v | 国产精品成人久久久久 | 精品一区二区三区免费观看 | 欧美在线视频免费观看 | 亚洲久热 | 国产精品一区欧美日韩制服 | 欧美成人一区二区三区在线视频 | 国产真实乱人视频在线看 | 91久久精品一区二区三区 | 日韩短视频 | 国产高清在线免费观看 | 亚洲国产成人久久一区www | 黄色国产在线 |