sql >> Databasteknik >  >> RDS >> Sqlserver

Vilka behörigheter krävs för att massinfoga i SQL Server från en nätverksresurs med Windows-autentisering?

Nyligen hade vi det här problemet för ett antal av våra utvecklare. Jag har kommit på ett antal sätt att tillåta testning av bulk-inlägg.

Vår preferens var att använda ett SQL-tjänstkonto. Vi ställde in SQL-servern och SQL-agenten så att de körs som ett servicekonto och tillät sedan utvecklarna att utlösa agentjobb. Servicekontot fick tillstånd till UNC-aktierna och allt detta fungerade korrekt. Observera att servicekontot alltid kommer att fungera bra när de här agentjobben körs (förutsatt att UNC-behörigheter är inställda). Det är utvecklarna som försöker testa som kommer att stöta på dessa problem.

En annan metod är att skapa en resurs på själva SQL-servern och rikta insättningssökvägen till den lokala katalogen. Dessa fel verkar bara uppstå vid åtkomst till UNC-sökvägar. Oavsett om UNC-sökvägen har rätt behörigheter för att ge dig åtkomst. Till exempel skapar vi C:\test\ som en mapp på själva SQL-servern och tillåta den att tillåta en utvecklare att släppa testfiler där. Dessa anropas sedan via kommandot bulk insert.

Ett kommando kan behöva köras mot master för att tillåta en SQL-inloggningsgruppbehörighet att massinfoga. Detta är enligt nedan.

GRANT ADMINISTER BULK OPERATIONS TO "domain\usergroup"


  1. MySQL Kontrollera om datumintervallet ligger inom datumintervallet

  2. Klassisk ASP som anropar Oracle lagrad procedur med OraOleadb Driver

  3. SQLite DATEADD() Ekvivalent

  4. MySQL pivotliknande operation för att få en uppdelning av procentandelen av totala händelser per dag per händelsetyp