服務器名稱應該是傾聽者的名字,如果按照這種方法,就足以在一個實例部署工作
你也可以使用物理主機名和在所有情況下部署的工作,只要你有下篇的代碼作爲第一步
- fn_hadr_group_is_primary
USE master;
GO
IF OBJECT_ID('dbo.fn_hadr_group_is_primary', 'FN') IS NOT NULL
DROP FUNCTION dbo.fn_hadr_group_is_primary;
GO
CREATE FUNCTION dbo.fn_hadr_group_is_primary (@AGName sysname)
RETURNS bit
AS
BEGIN;
DECLARE @PrimaryReplica sysname;
SELECT
@PrimaryReplica = hags.primary_replica
FROM sys.dm_hadr_availability_group_states hags
INNER JOIN sys.availability_groups ag ON ag.group_id = hags.group_id
WHERE ag.name = @AGName;
IF UPPER(@PrimaryReplica) = UPPER(@@SERVERNAME)
RETURN 1; -- primary
RETURN 0; -- not primary
END;
這帖子還與一些常見問題的交易,需要被照顧關
https://blogs.msdn.microsoft.com/mattm/2012/09/19/ssis-with-alwayson/
將單個服務器放置在工作中的唯一問題是,如果整個服務器都丟失了,那麼我認爲部署到這兩個服務器聽起來都會更好。 –
是的,聽起來不錯,這可以避免硬件故障 – TheGameiswar