リンクサーバーについて

リンクサーバーにより、SQL Server はリモート データソースからデータを読み取り、リモート データベースでコマンドを実行できます。このページでは、Cloud SQL インスタンス権限、リンクサーバーを実装する際の考慮事項、リンクサーバーの使用に関する制限について説明します。

リンクサーバー インスタンスの権限

リンクサーバーを設定するには、次のインスタンスとユーザー権限が必要です。

  • ALTER ANY LINKED SERVER: インスタンスに cloudsql enable linked servers フラグを追加すると、Cloud SQL がこの権限を付与します。
  • ALTER ANY LOGIN: Cloud SQL は、Cloud SQL インスタンスの管理者ユーザーにこの権限を自動的に付与します。この権限があると、Cloud SQL のログインとリンクサーバーのセキュリティ アカウントの間のマッピングを作成できます。

Cloud SQL インスタンスで使用できるデフォルトの権限のリストについては、デフォルトの SQL Server ユーザーをご覧ください。

追加のアカウントに ALTER ANY LINKED SERVER 権限または ALTER ANY LOGIN 権限を付与する方法については、サーバー権限の付与の例をご覧ください。

リンクサーバーを使用する際の考慮事項

このセクションでは、リンクサーバーでのセキュリティ、パフォーマンス、信頼性に対処するための推奨事項について説明します。

セキュリティ

セキュリティの脆弱性を軽減するには、リンクサーバーに、次のような強力なセキュリティ プロトコルが適用されていることを確認する必要があります。

  • SSL 暗号化などの適切な認証と認可のメカニズムを実装します。
  • 厳格なパスワード ポリシーを実装します。
  • 承認されたユーザーのみがリンクサーバーにアクセスできるようにしてください。
  • センシティブ データが適切に暗号化され、保護されていることを確認します。
  • ログインでは、構成中に使用するリソースにのみアクセスできるようにします。

パフォーマンス

リンクサーバーのパフォーマンスに影響を与える可能性のある要因はいくつかあります。

  • リンクサーバーでは、各サーバーが転送するデータの量によっては、クエリが複雑な場合にレイテンシが発生し、パフォーマンスが低下する可能性があります。このため、リアルタイムのデータ同期が必要なアプリでは問題が発生する可能性があります。
  • リンクサーバーを使用してクエリを実行すると、データベース エンジンが新しい接続を作成し、実行するすべてのクエリでデータを取得します。データはキャッシュに保存されず、リンクサーバーを使用するたびに、サーバーがネットワーク全体でテーブルをコピーする場合があります。
  • Cloud SQL は、リモート サーバーがインデックスと統計情報を処理する方法を認識していないため、リモート サーバー用に最適化された実行プランを作成できません。

パフォーマンスを最適化するには、次の手順を実施します。

  • クエリを慎重に設計し、必要なデータのみがサーバー間で転送されるようにます。
  • SQL Server の分散クエリ機能を活用する。
  • 複数のサーバー間でクエリを分散します。
  • リンクサーバーの構成を定期的にモニタリングし、最適化して、スムーズに稼働していることを確認します。

信頼性

サーバー間のリンクの中断や障害により、大幅なダウンタイムが発生し、データが失われる可能性があります。

信頼性の高いオペレーションを実現するには、適切なフェイルオーバーと冗長性メカニズムを実装することが重要です。これには、以下が含まれます。

  • フェイルオーバー用のバックアップ リンクサーバーを実装します。
  • サーバーの可用性とパフォーマンスをモニタリングします。
  • リンクサーバーの構成を定期的にテストおよび検証します。

制限事項

Cloud SQL のリンクサーバーには、次の制限があります。

  • リンクサーバーで SQL Server 以外のデータソースを使用することはできません。
  • リンクサーバーで Active Directory 認証を使用することはできません。

リンクサーバーの制限の完全なリストについては、サポートされていない機能とサービスをご覧ください。

次のステップ