sql >> Database >  >> RDS >> Sqlserver

Welke machtigingen zijn vereist om bulksgewijs in SQL Server in te voegen vanaf een netwerkshare met Windows-verificatie?

Onlangs hadden we dit probleem voor een aantal van onze ontwikkelaars. Ik heb een aantal manieren bedacht om het testen van bulkinserts mogelijk te maken.

Onze voorkeur ging uit naar het gebruik van een SQL-serviceaccount. We hebben de SQL-server en SQL-agent ingesteld om als een serviceaccount te worden uitgevoerd en hebben vervolgens de ontwikkelaars toestemming gegeven om agenttaken te activeren. Het serviceaccount kreeg toestemming voor de UNC-shares en dit werkte allemaal correct. Houd er rekening mee dat het serviceaccount deze agenttaken altijd goed zal uitvoeren (ervan uitgaande dat UNC-machtigingen zijn ingesteld). Het zijn de ontwikkelaars die proberen te testen die deze problemen zullen tegenkomen.

Een andere methode is om een ​​share op de SQL-server zelf te maken en het bulk-insertpad naar de lokale map te wijzen. Deze fouten lijken alleen op te treden bij toegang tot UNC-paden. Ongeacht of het UNC-pad de juiste machtigingen heeft om u toegang te verlenen. We maken bijvoorbeeld C:\test\ als een map op de SQL-server zelf en geef deze toestemming om een ​​ontwikkelaar toe te staan ​​testbestanden daar neer te zetten. Deze worden dan aangeroepen via het bulk insert commando.

Mogelijk moet er een opdracht worden uitgevoerd tegen de master om een ​​SQL-aanmeldingsgroepmachtiging toe te staan ​​om bulksgewijs in te voegen. Dit is zoals hieronder.

GRANT ADMINISTER BULK OPERATIONS TO "domain\usergroup"


  1. DateDiff om uren en minuten uit te voeren

  2. SQL-query op meerdere databases

  3. Automatische failover instellen voor de Moodle MySQL-database

  4. Diepte in MYSQL en sluitingstabelbomen