2017-05-04 77 views
0

現在,SQL Server 2016使SSISDB完全可用,我有一個關於作業設置的問題。SSISDB和Always On。如何安排工作?

當我創建一個執行SSISDB中部署的SSIS包的SQL代理作業時,應該在作業步驟中將服務器作爲監聽器名稱還是物理主機名?

我在問,因爲如果我使用物理主機名並在兩個副本中創建作業,則由於數據庫處於只讀模式,輔助作業將始終失敗。我沒有嘗試放置Listener名字,因爲我想首先得到意見。

回答

0

服務器名稱應該是傾聽者的名字,如果按照這種方法,就足以在一個實例部署工作

你也可以使用物理主機名和在所有情況下部署的工作,只要你有下篇的代碼作爲第一步

- 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/

+1

將單個服務器放置在工作中的唯一問題是,如果整個服務器都丟失了,那麼我認爲部署到這兩個服務器聽起來都會更好。 –

+0

是的,聽起來不錯,這可以避免硬件故障 – TheGameiswar