タグ付けされた質問 「linked-server」

リンクサーバーでは、1つのクエリとして複数のサーバーを操作できます。

2
権限のないユーザーが利用できるリンクサーバー
リンクされているサーバーが表示されるはずのないユーザーがいます。 リンクサーバーは、私だけがアクセスできるように定義されていますが、誰でも見ることができます。 次の手順で新しいリンクサーバーを作成しました。 SSMSオブジェクトエクスプローラーをSQL Serverインスタンスに接続する 展開Server Objects、右クリックLinked Servers、左クリックNew Linked Server... Generalタブの下でサーバー名を選択SQL ServerしServer typeて書き込みます Security上部のタブの下でをクリックしAdd、「sa」を選択しLocal Login、Remote User名前を入力してRemote Password 下ではSecurity、タブ下部(下にFor a login not defined in the list above, connections will:)最初のオプションを選択します。Not be made クリックしOKてテストを開始 これで、リンクサーバーを見ることができるのは私( "sa")だけですが、どういうわけか他のユーザーはそれを見て使用できます。 注1:リンクサーバーを使用できるユーザーには、リモートサーバーに対するアクセス許可があり、表示すべきでないデータは表示されません。リンクサーバーからアクセスできないはずのデータにアクセスできます。 注2:sysadminどちらの場合も私だけです。

4
リンクサーバーから@@ SERVERNAMEを取得する
これは基本的な質問のようですが、答えは見つかりません-リンクサーバーからサーバー名/インスタンスなどを取得できるようにする必要があります。私はいくつかのことを試しました: select <linked server>.@@SERVERNAME; select <linked server>.SERVERPROPERTY('ServerName'); ...しかし喜びはない。何か案は? これはSQL 2008 R2&2014(2008R2はリンクサーバーです) 編集:エラーは次のとおりです。 メッセージ102、レベル15、状態1、行2 '@@ SERVERNAME'付近の構文が正しくありません。

3
SQL Serverエラー「OLE DBプロバイダー 'Microsoft.ACE.OLEDB.12.0'へのアドホックアクセス」のヘルプ
したがって、SQL Server 2008 R2でビューをクエリしようとすると、ユーザーが次のエラーを受け取るという興味深い問題があります。 メッセージ7415、レベル16、状態1、行1 OLE DBプロバイダー 'Microsoft.ACE.OLEDB.12.0'へのアドホックアクセスが拒否されました。リンクサーバーを介してこのプロバイダーにアクセスする必要があります。 問題を調査したところ、OPENROWSETパラメータ、レジストリ値の変更、AdHoc DIstributed Queriesなどに変更を加えた記事がいくつかあります(以下の記事へのリンク)。 http://www.johnsoer.com/blog/?p=538 http://www.remotedbaexperts.com/Blog/dba_tips/2010/09/ad-hoc-access-to-ole-db-provider-microsoft-ace-oledb-12-0-has-been-denied/ 上記のリンクの手順に従ってもエラーが発生します。 ここでの注意点は、テストアカウントを作成してsaを指定したときに、問題なく実行されたことです。管理者権限を持つ同僚も問題なくクエリを実行できます。 このクエリは、このインスタンスをホストしているサーバーのローカルのExcelファイルから提供されています。 2008年の他の修正を知っている人はいますか?

2
SQL Server 2012のリンクサーバーでKerberos認証が機能しない
Windows Server 2012でSQL Server 2012を実行している2つのSQL Serverを使用してDEV / TEST環境をセットアップしています。WindowsServer 2008でSQL Server 2005から移行していますが、これはすでに正常に稼働しています。 SQL Server 2012では、Kerberos認証が機能していません。 各サーバーには独自のActive Directoryアカウントがあり、Active Directoryユーザーとコンピューターを通じて「サービスプリンシパル名の書き込み」および「サービスプリンシパル名の読み取り」権限が付与されています。SQL Server 2005サーバーに接続して実行する場合: SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID; そうですか: net_transport auth_scheme TCP KERBEROS 新しいSQL Server 2012インスタンスに対して同じクエリを実行すると、次のようになります。 net_transport auth_scheme TCP NTLM を使用SetSPN -Q MSSQLSvc/*してサービスプリンシパル名をアクティブドメインにクエリすると、サーバーの名前以外はまったく同じ方法で、2005サーバーと2012サーバーの両方が一覧表示されます。 例えば: MSSQLSvc/SERVERa2005.domain.inet MSSQLSvc/SERVERa2005domain.inet:1433 MSSQLSvc/SERVERb2005.domain.inet MSSQLSvc/SERVERb2005domain.inet:1433 MSSQLSvc/SERVERa2012.domain.inet MSSQLSvc/SERVERa2012domain.inet:1433 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.