Symptom
Föreställ dig följande:
-
Du kör en instans av Integration Services-katalog och SSISDB katalogen i Microsoft SQL Server 2012 eller SQL Server-2014.
-
Du kan bevilja behörighet till medlemmar i gruppen Windows så att de har tillgång till ett SSIS katalog mapp, projekt eller miljön skyddbart objekt.
Obs! Du kan bevilja behörigheter på något av följande sätt:-
Du kan använda Management Studio. Att göra detta, högerklickar du på objektet i katalogen Integration Services, Välj Egenskaperoch sedan på sidan behörigheter Bläddra till gruppen lägger du till gruppen och sedan välja behörigheterna för gruppen.
-
Du kan anropa följande lagrade procedur:
[SSISDB].[catalog].[grant_permission]
-
-
En Windows-användare som är medlem i gruppen Windows försöker visa och köra paket i SSISDB databas i katalogen Integration Services med Management Studio eller den lagrade proceduren.
I det här fallet det går inte att användaren visas inte paket som de har beviljats behörighet och validera eller köra dessa paket.
Orsak
Det här problemet beror på ett problem i SSISDB interna vyer. Detta förhindrar att användaren har de förväntade gällande behörigheterna när behörigheter med hjälp av Windows-gruppmedlemskap.
Lösning
Problemet korrigerades först i följande kumulativ uppdatering av SQL Server.
Kumulativ uppdatering 1 för SQLServer 2014/en-us/help/2931693
Kumulativ uppdatering 7 för SQL Server 2012 SP1/en-us/help/2894115
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Checka ut de senaste kumulativa uppdateringarna för SQL Server:
Temporär lösning
Undvik det här problemet inte Använd Windows-gruppen för olika användare att komma åt SSIS skyddbart. I stället använder en användardefinierad databasroll i SQL Server för att kapsla in nödvändiga lista med Windows-användare och tilldela behörigheter till databasrollen.
Gör så här:
-
Skapa de nödvändiga Windows-inloggningar till instansen av SQL Server och ge åtkomst till databasen SSISDB. Du kan till exempel använda Management Studio genom att säkerhet, inloggningaroch Ny inloggning. Eller du kan använda följande skript för varje Windows-inloggning:
Använd master
GÅ
Skapa inloggning domän\användarnamn från WINDOWS med DEFAULT_DATABASE =master
GÅ
ANVÄNDA SSISDB
GÅ
Skapa användare domän\användarnamn för inloggning domän\användarnamn
GÅ -
Skapa en användardefinierad databasroll, till exempel ssis_usersi SSISDB-databasen. Du kan till exempel använda Management Studio genom att gå till databaser, klicka på SSISDB, klicka på säkerhet, klicka på roller, Databasroller, och sedan på Ny roll i databasen. Eller du kan använda följande skript:
ANVÄNDA SSISDB
GÅ
Skapa roll ssis_users
GÅ -
Lägg till önskade användare till rollen ssis_usersi SSISDB. Du kan till exempel använda Management Studio genom att gå till databaser, klicka på SSISDB, klicka på säkerhet, klicka på roller, klickar du på Databasroller, klicka på Medlemmar i rollenoch klicka på Lägg. Eller du kan använda följande skript:
ANVÄNDA SSISDB
GÅ
Ändra ROLLEN ssis_users Lägg till MEDLEM domän\användarnamn
GÅ -
Högerklicka på det skyddbara objektet i katalogen Integration Services, Egenskaper, klickar du på Bläddra på sidan behörigheter att lägga till rollen databas till behörigheter och välj Tillåt eller Neka på explicita behörigheter enligt följande:
Obs! Dessa behörigheter är kanske inte tillräckligt för att kunna köra SSIS-paket. Varje SSIS-paket är en anpassad design och kan ha särskilda tilläggskrav för åtkomst till vissa servrar och databaser eller aktier att validera eller köra SSIS-paket har.
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".
Referenser
Mer information finns i följande avsnitt på webbplatsen Microsoft Developer Network (MSDN):
SSIS katalog
Egenskapsdialogrutan för mappen
Egenskapsdialogrutan för projektet
Egenskapsdialogrutan för miljön
Se den terminologi som Microsoft använder för att beskriva programuppdateringar.