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

SQL Server 2008 OPENROWSET-Berechtigungsproblem

Aus Online-Büchern OPENROWSET (Transact-SQL)

Der Benutzer benötigt den ADMINISTER BULK OPERATIONS Erlaubnis.

Und hier ist der Eintrag dafür, es zu gewähren. Es ist eine Berechtigung auf Serverebene, also ja, sie ist ziemlich hoch.

Um niedrigere Berechtigungen auszuprobieren, könnten Sie eine standardmäßige Linked-Server-Verbindung erstellen und mit

ein Login hinzufügen
EXEC sp_addlinkedsrvlogin 'LINKSERVERNAME', 'false',
    'localuser', 'rmtuser', 'rmtpass'

Es scheinen keine spezifischen Berechtigungen erforderlich zu sein, die gewährt werden müssen. Wenn Sie also einen Verbindungsserver einrichten, ist es unklug, ihn mit einem generischen linkedsrvlogin einzurichten das jedem lokalen Benutzer zugeordnet ist. Richten Sie spezifische Lokal-Remote-Zuordnungen ein, um den Zugriff eines lokalen Benutzers über den Verbindungsserver auf dem Remote-Server zu steuern (durch den rmtuser anmelden).