新しいパブリケーションまたはサブスクリプションを作成しようとすると、次のメッセージが表示されます。
「SQL Serverレプリケーションでは、サーバーに接続するために実際のサーバー名が必要です。サーバーエイリアス、IPアドレス、またはその他の代替名による接続はサポートされていません。実際のサーバー名を指定してください」
誰が私が何をすべきか知っていますか?
次のリンクで解決策を見つけました http://www.cryer.co.uk/brian/sqlserver/replication_requires_actual_server_name.htm
ブライアンクライアーの便利なサイトに感謝
リンクの腐敗を避けるためにリンクから引用する:
原因:
このエラーは、SQL Serverの最初のインストール後に名前が変更され、SQL Server構成関数@@SERVERNAME
はまだサーバーの元の名前を返しました。これは次の方法で確認できます。
select @@SERVERNAME
go
これにより、サーバーの名前が返されます。解決しない場合は、以下の手順に従って修正してください。
対策:
問題を解決するには、サーバー名を更新する必要があります。以下を使用します。
sp_addserver 'real-server-name', LOCAL
これにより、名前がすでに存在するというエラーが表示される場合、次のシーケンスを使用します。
sp_dropserver 'real-server-name'
go
sp_addserver 'real-server-name', LOCAL
go
代わりに、報告されたエラーが「ローカルサーバーが既に存在します」である場合。次に、次のシーケンスを使用します。
sp_dropserver old-server-name
go
sp_addserver real-server-name, LOCAL
go
「old-server-name」は、元のエラーの本文に含まれる名前です。
SQL Serverを停止して再起動します。
この問題には別の解決策があり、**sp_dropserver**
、**sp_addserver**
またはサーバーの再起動。
手順:
テスト。同じマシンでManagement Studioを実行し、サーバーへの接続を試行します(サーバー名としてエイリアスを指定します)。
(オプション)Management Studioがレプリケーションセットアップに使用されるすべてのクライアントマシンで2-7を繰り返します。
それで全部です!
短い答え:SSMSを介して間違ったネットワークエイリアスで接続しているかどうかを確認してください
たとえば、サーバーは次の両方としてアクセス可能です。
レプリケーションパブリケーション/サブスクリプションが作成されると、その時点でサーバーへの接続に使用される名前に関連付けられます。別のエイリアスまたは完全修飾名を使用して接続すると、質問に記載されているエラーが発生します。
詳細:私はこれに偶然遭遇しました。@@ servernameの変更に関する答えは、問題を理解するのに役立ちましたが、それをする必要はありませんでした。
このことを考慮:
SQLサーバーボックスは{my_system_name} .local.domainとしてセットアップされました
このネットワークには、{my_system_alias}がサーバーに到達し、完全修飾ドメイン名(FQDN)を入力しなくても済むようにするネットワークエイリアスがあります。
SQL Serverがインストールされ、{my_system_alias}名を使用して接続されている間にローカルレプリケーションパブリケーションもセットアップされました。
次に、FQDNを指定してSSMSを使用してサーバーに接続しました。この既存のレプリケーションのプロパティを右クリックし、[ローカルパブリケーション]をクリックすると、「SQL Serverレプリケーションには実際のサーバー名が必要です」というエラーが表示されます。
私がしなければならなかったのは、エイリアスを使用して(または他の方法で)SSMSでサーバーに再接続すると、レプリケーションパブリケーションの詳細を表示できるようにすることです。
PS:別の答えのPhillのコメントも選択肢であり、接続に使用する必要がある名前に一致するhostsファイルエントリを作成します。
マシン名のようにサーバー名を変更する必要があります。
@@ servername
sp_dropserver 'old_name'
sp_addserver 'new_name'、 'local'
サーバー名が実際には他のサーバーと共有されている可能性のある奇妙な文字列であるホスト環境で作業している場合... WIN-II7VS-100。 @ZachSmithのおかげで見つけた解決策は、接続元のサーバー上のホストファイルを編集し、接続先のSQLサーバーの静的IPに設定することです。
[〜#〜] everything [〜#〜]を試した後、修正を共有します。それ以外の場合、この問題を解決できます。 SSMS 18.2(この投稿の時点での最新バージョン)を使用して、SQL Server 2017でレプリケーションをセットアップしようとしました。ディストリビューターをセットアップすると、すべてが正常になりましたが、ディストリビューターのプロパティに移動し、[キューリーダーエージェントの作成]チェックボックスをオンにすると、有名な「SQL Serverレプリケーションには実際のサーバー名が必要です。サーバー:実際のサーバー名「。(Replication.Utilities)」を指定します。
数日後、私は異なるバージョンのSSMSを試しました。 SSMS 17.9.1をインストールし、すべてを再試行すると正常に機能しました。うまくいけば、これは他の誰かを助ける。