Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Welche Berechtigungen sind für die Masseneinfügung in SQL Server von einer Netzwerkfreigabe mit Windows-Authentifizierung erforderlich?

Kürzlich hatten wir dieses Problem für eine Reihe unserer Entwickler. Ich habe mir eine Reihe von Möglichkeiten ausgedacht, um das Testen von Bulk-Einfügungen zu ermöglichen.

Unsere Präferenz war die Verwendung eines SQL-Dienstkontos. Wir haben den SQL-Server und den SQL-Agenten so eingestellt, dass sie als Dienstkonto ausgeführt werden, und dann den Entwicklern erlaubt, Agentenjobs auszulösen. Dem Dienstkonto wurde die Berechtigung für die UNC-Freigaben erteilt, und dies alles funktionierte ordnungsgemäß. Beachten Sie, dass das Dienstkonto diese Agentenaufträge immer problemlos ausführen kann (vorausgesetzt, UNC-Berechtigungen sind festgelegt). Es sind die Entwickler, die versuchen zu testen, die auf diese Probleme stoßen werden.

Eine andere Methode besteht darin, eine Freigabe auf dem SQL-Server selbst zu erstellen und den Masseneinfügungspfad auf das lokale Verzeichnis zu verweisen. Diese Fehler scheinen nur beim Zugriff auf UNC-Pfade aufzutreten. Unabhängig davon, ob der UNC-Pfad über die richtigen Berechtigungen verfügt, um Ihnen den Zugriff zu ermöglichen. Zum Beispiel erstellen wir C:\test\ als Ordner auf dem SQL-Server selbst und erlauben Sie ihm, einem Entwickler zu erlauben, Testdateien dort abzulegen. Diese werden dann über den Bulk-Insert-Befehl aufgerufen.

Möglicherweise muss ein Befehl für den Master ausgeführt werden, um einer SQL-Anmeldegruppe die Berechtigung zum Masseneinfügen zu gewähren. Dies ist wie folgt.

GRANT ADMINISTER BULK OPERATIONS TO "domain\usergroup"