事件
3月31日 下午11時 - 4月2日 下午11時
最大的 SQL、網狀架構和 Power BI 學習事件。 3 月 31 日 - 4 月 2 日。 使用程式代碼 FABINSIDER 來節省 $400 美元。
立即註冊適用於:SQL Server
此範例顯示使用 Windows 驗證建立具有見證的資料庫鏡像工作階段的所有必要階段。 本主題中的範例會使用 Transact-SQL。 請注意,使用 Transact-SQL 步驟的另一種方法是,您可以使用 [設定資料庫鏡像安全性精靈] 來設定資料庫鏡像。 如需詳細資訊,請參閱本主題稍後的 使用 Windows 驗證建立資料庫鏡像工作階段 (SQL Server Management Studio)。
此範例使用 AdventureWorks 範例資料庫,依預設採用簡單復原模式。 若要以此資料庫來使用資料庫鏡像,您必須改用完整復原模式。 若要在 Transact-SQL 中這樣做,請使用 ALTER DATABASE 陳述式,如下所示:
USE master;
GO
ALTER DATABASE AdventureWorks
SET RECOVERY FULL;
GO
如需在 SQL Server Management Studio 中變更復原模式的資訊,請參閱檢視或變更資料庫的復原模式 (SQL Server)。
需要資料庫的 ALTER 權限及 CREATE ENDPOINT 權限,或是 sysadmin 固定伺服器角色的成員資格。
此範例中的兩個夥伴伺服器和見證伺服器,各為三個電腦系統中的預設伺服器執行個體。 這三個伺服器執行個體都執行相同的 Windows 網域,但範例之見證伺服器執行個體的使用者帳戶 (做為啟動服務帳戶使用) 與其他兩者不同。
下表摘要說明此例中所使用的值。
初始鏡像角色 | 主機系統 | 網域使用者帳戶 |
---|---|---|
主體 | PARTNERHOST1 | <Mydomain>\<dbousername> |
鏡像 | PARTNERHOST5 | <Mydomain>\<dbousername> |
見證 | WITNESSHOST4 | <Somedomain>\<witnessuser> |
在主體伺服器執行個體 (PARTNERHOST1 的預設執行個體) 上建立端點。
CREATE ENDPOINT Endpoint_Mirroring
STATE=STARTED
AS TCP (LISTENER_PORT=7022)
FOR DATABASE_MIRRORING (ROLE=PARTNER)
GO
--Partners under same domain user; login already exists in master.
--Create a login for the witness server instance,
--which is running as Somedomain\witnessuser:
USE master ;
GO
CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;
GO
-- Grant connect permissions on endpoint to login account of witness.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];
--Grant connect permissions on endpoint to login account of partners.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];
GO
在鏡像伺服器執行個體 (PARTNERHOST5 的預設執行個體) 上建立端點。
CREATE ENDPOINT Endpoint_Mirroring
STATE=STARTED
AS TCP (LISTENER_PORT=7022)
FOR DATABASE_MIRRORING (ROLE=ALL)
GO
--Partners under same domain user; login already exists in master.
--Create a login for the witness server instance,
--which is running as Somedomain\witnessuser:
USE master ;
GO
CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ;
GO
--Grant connect permissions on endpoint to login account of witness.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser];
--Grant connect permissions on endpoint to login account of partners.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];
GO
在見證伺服器執行個體 (WITNESSHOST4 的預設執行個體) 上建立端點。
CREATE ENDPOINT Endpoint_Mirroring
STATE=STARTED
AS TCP (LISTENER_PORT=7022)
FOR DATABASE_MIRRORING (ROLE=WITNESS)
GO
--Create a login for the partner server instances,
--which are both running as Mydomain\dbousername:
USE master ;
GO
CREATE LOGIN [Mydomain\dbousername] FROM WINDOWS ;
GO
--Grant connect permissions on endpoint to login account of partners.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername];
GO
建立鏡像資料庫。 如需詳細資訊,請參閱準備鏡像資料庫以進行鏡像 (SQL Server)。
在 PARTNERHOST5 鏡像伺服器執行個體上,將 PARTNERHOST1 的伺服器執行個體設為夥伴伺服器 (也就是將其設為初始主體伺服器執行個體)。
ALTER DATABASE AdventureWorks
SET PARTNER =
'TCP://PARTNERHOST1.COM:7022'
GO
在 PARTNERHOST1 的主體伺服器執行個體上,將 PARTNERHOST5 的伺服器執行個體設為夥伴伺服器 (也就是將其設為初始鏡像伺服器執行個體)。
ALTER DATABASE AdventureWorks
SET PARTNER = 'TCP://PARTNERHOST5.COM:7022'
GO
在主體伺服器上,設定見證伺服器 (位於 WITNESSHOST4)。
ALTER DATABASE AdventureWorks
SET WITNESS =
'TCP://WITNESSHOST4.COM:7022'
GO
ALTER DATABASE (Transact-SQL)
資料庫鏡像端點 (SQL Server)
資料庫鏡像和 AlwaysOn 可用性群組的傳輸安全性 (SQL Server)
在另一個伺服器執行個體上提供可用的資料庫時,管理中繼資料 (SQL Server)
SQL Server Database Engine 和 Azure SQL Database 的資訊安全中心
事件
3月31日 下午11時 - 4月2日 下午11時
最大的 SQL、網狀架構和 Power BI 學習事件。 3 月 31 日 - 4 月 2 日。 使用程式代碼 FABINSIDER 來節省 $400 美元。
立即註冊