国产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的數據庫鏡像實施筆記

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

SQLServer2008的數據庫鏡像實施筆記

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

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

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

在虛擬機環境下部署成功,一切都是那么的完美。 故障轉移3秒之內就可以順利完成。

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

主體數據庫
/********************************************************
此腳本在主體服務器執行
********************************************************/
--鏡像只支持完全恢復模式,在備份數據庫之前檢查恢復的模式
--對要鏡像的數據庫進行完整備份后,復制到鏡像數據庫以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
--使用該證書為服務器實例創建一個鏡像端點。
--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 創建一個登錄名。
USE master;
--DROP LOGIN HOST_B_login
CREATE LOGIN HOST_B_login WITH PASSWORD = 'password';
GO

--創建一個使用該登錄名的用戶。
--DROP USER HOST_B_user
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
GO
--使證書與該用戶關聯。
--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 創建一個登錄名。
USE master;
--DROP LOGIN HOST_C_login
CREATE LOGIN HOST_C_login WITH PASSWORD = 'password';
GO

--創建一個使用該登錄名的用戶。
--DROP USER HOST_C_user
CREATE USER HOST_C_user FOR LOGIN HOST_C_login;
GO
--使證書與該用戶關聯。
--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
--創建一個使用該登錄名的用戶。
--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

--必須要在鏡像數據庫中先設置好伙伴后,才能在主體服務器執行
--在 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

鏡像數據庫
/***********************************************
在鏡像服務器執行此腳本
***********************************************/
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 中為服務器實例創建一個鏡像端點。
--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 創建一個登錄名。
USE master;
--DROP LOGIN HOST_A_login
CREATE LOGIN HOST_A_login WITH PASSWORD = 'password';
GO
--創建一個使用該登錄名的用戶。
--DROP USER HOST_A_user
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
GO
--使證書與該用戶關聯。
--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 創建一個登錄名。
USE master;
--DROP LOGIN HOST_C_login
CREATE LOGIN HOST_C_login WITH PASSWORD = 'password';
GO

--創建一個使用該登錄名的用戶。
--DROP USER HOST_C_user
CREATE USER HOST_C_user FOR LOGIN HOST_C_login;
GO
--使證書與該用戶關聯。
--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 創建一個登錄名。
USE master;
--DROP LOGIN HOST_B_login
CREATE LOGIN HOST_B_login WITH PASSWORD = 'password';
GO
--創建一個使用該登錄名的用戶。
--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

見證服務器
/****************************
見證服務器執行
*****************************/
--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

--使用該證書為服務器實例創建一個鏡像端點。
--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 證書,并將其復制到其他系統,即 HOST_B\HOST_A。
BACKUP CERTIFICATE HOST_C_cert TO FILE = 'e:\HOST_C_cert.cer';
GO

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

--創建一個使用該登錄名的用戶。
--DROP USER HOST_B_user
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
GO
--使證書與該用戶關聯。
--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 創建一個登錄名。
USE master;
--DROP LOGIN HOST_A_login
CREATE LOGIN HOST_A_login WITH PASSWORD = 'password';
GO
--創建一個使用該登錄名的用戶。
--DROP USER HOST_A_user
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
GO
--使證書與該用戶關聯。
--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 創建一個登錄名。
USE master;
--DROP LOGIN HOST_C_login
CREATE LOGIN HOST_C_login WITH PASSWORD = 'password';
GO
--創建一個使用該登錄名的用戶。
--DROP USER HOST_C_user
CREATE USER HOST_C_user FOR CERTIFICATE HOST_C_cert;
GO

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

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

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

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

2.高級別保護模式

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

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

高級別保護模式采用的是同步鏡像, SAFETY FULL。應用場景:通常在局域網中或對數據要求比較高的場景中。

高性能保護模式采用的是異步鏡像, SAFETY OFF。應用場景:通常在廣域網或對數據要求不太高,丟失幾條數據是允許的,但是必須保證它不中斷服務。

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

意外收獲:

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

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

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

主體服務器
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';






鏡像數據庫
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默認已經是將事務安全模式設置為full了,即使是手動設置也一樣,并且我實施的時候SQLServer2008不支持將

事務安全模式設置為OFF。

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

手動故障轉移代碼
--主備互換
--主機執行:

ALTER DATABASE crm SET PARTNER FAILOVER

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


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

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


3.監視數據庫鏡像

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

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

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

后話:

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

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

數據庫引擎使用的端口

下表列出了數據庫引擎經常使用的端口。

應用場景 端口 注釋

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

TCP 端口 1433

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

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

此 TCP 端口是在啟動數據庫引擎時確定的動態端口。

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

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

由管理員配置的端口號。

請參閱下面動態端口部分中的描述。

專用管理員連接

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

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

SQL Server Browser 服務

UDP 端口 1434

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

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

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

用于通過 URL 實現的 HTTP 連接。

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

TCP 端口 443

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

Service Broker

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

SELECT name, protocol_desc, port, state_desc

FROM sys.tcp_endpoints

WHERE type_desc = 'SERVICE_BROKER'

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

數據庫鏡像

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

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

WHERE type_desc = 'DATABASE_MIRRORING'

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

復制

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

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

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

在使用 FTP 進行 Web 同步期間,FTP 傳輸是在 IIS 和 SQL Server 發布服務器之間進行,而非在訂閱服務器和 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 調試器

TCP 端口 135

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

可能還需要 IPsec 例外。

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

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

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

動態端口

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

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

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

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

文檔

SQLServer2008的數據庫鏡像實施筆記

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

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 全部费免一级毛片不收费 | 国产精品不卡 | 欧美日韩亚洲第一页 | 久久国产午夜一区二区福利 | 99久久精品免费看国产 | 日韩欧美不卡一区二区三区 | 欧美在线视频一区二区三区 | 久久精品国产免费一区 | 91欧美激情一区二区三区成人 | 欧美 在线播放 | 久久久久久亚洲精品影院 | 欧美日韩精品一区二区三区 | 亚洲精品视频免费在线观看 | 色就是色欧美色图 | 日本在线不卡一区二区 | 韩国精品一区 | 亚欧精品一区二区三区 | 九一毛片 | 日韩va亚洲va欧美va浪潮 | 亚洲最新视频在线观看 | 久久精品视频一区二区三区 | 一区二区三区在线免费视频 | 97久久精品午夜一区二区 | 自拍 欧美 在线 综合 另类 | 91精品国产综合久久久久久 | 亚洲欧美日韩精品 | 永久在线毛片免费观看 | 久国产精品视频 | 日韩国产综合 | 伊人精品成人久久综合欧美 | 五月天婷婷综合 | 天天欧美| 免费看特级淫片日本 | 欧美高清在线精品一区二区不卡 | 久久一区二区精品综合 | 亚洲欧美日韩综合在线播放 | 国产乱淫a∨片免费视频 | 手机看片日韩欧美 | 精品日韩在线 | 欧美性一区二区三区五区 | 日韩免费视频网站 |