web-dev-qa-db-ja.com

リンクサーバーを作成する権限

特定のデータベースに対するDB_Owner権限を持つユーザーがいます。次に、そのユーザーは自分用にリンクサーバーを作成する必要があります。リンクサーバーを作成するために、サーバーレベルでそのユーザーにどのレベルのアクセス許可を付与する必要がありますか?sysadminアクセスを付与したくありません。私は次のアクセス権を付与しました:ログインへの制御サーバーの付与、ログインへのリンクサーバーの変更の付与

しかし、リンクサーバーを作成するために機能しませんでした。

3
user112359

SQL Serverリンクサーバーを作成するためにsysadminを使用する必要はありません。

権限ALTER ANY LINKED SERVERおよびALTER ANY LOGINをログインアカウントに割り当てると、アクションを完了できます。

master.dbo.sp_addlinkedserverでリンクサーバーを作成します

ALTER ANY LINKED SERVER権限が必要です

Master.dbo.sp_dropserverを使用してリンクサーバーを削除します。 ALTER ANY LINKED SERVER権限が必要です

master.dbo.sp_addlinkedsrvloginを使用して、リモートサーバーとのローカルログインのマッピングを作成します。

コード例:権限の割り当て

USE master;
GRANT ALTER ANY LINKED SERVER TO MYLOGINACCT;
GO
USE master;
GRANT ALTER ANY LOGIN SERVER TO MYLOGINACCT; 

--An example of adding a Linked Server 
EXEC sp_addlinkedserver      
@server='Server1',    
@srvproduct='',   
@provider='SQLNCLI',    
@datasrc='Server1\instance1'

---An example of dropping a Linked Server 
EXEC master.dbo.sp_dropserver ‘Server1’

リンク: http://www.sqlserver-dba.com/2011/05/sql-server-linked-servers-and-user-permissions.html

4
CR241

Microsoft Docsから: https://docs.Microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine

セキュリティ許可

Transact-SQLステートメントを使用する場合は、サーバーに対するALTER ANY LINKED SERVER権限、またはsetupadmin固定サーバーロールのメンバーシップが必要です。 Management Studioを使用する場合、CONTROL SERVER権限またはsysadmin固定サーバーロールのメンバーシップが必要です。

そのことを念頭に置いて、それらのニーズを確認することをお勧めします。これにより、監査人に準拠し、リンクサーバーが危険にさらされることがなくなります。

リンクサーバーの作成が機能しない場合は、次のいずれかが考えられます。

  • サーバーが通信できないネットワークの問題。
  • リンクサーバーユーザーが正常にログインできないというユーザーの問題。

共有できる特定のエラーはありますか?

2
MguerraTorres

Sp_addlinkedserverステートメントには、ALTER ANY LINKED SERVER権限が必要です。

新しいリンクサーバーのGUIにはsysadminが必要です... spは必要ありません。 ALTER SQL ANY LINKED SERVER以外はほとんどない新しいSQLログインで検証されました。

https://docs.Microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-addlinkedserver-transact-sql

2
Kevin3NF