2009-09-18 6 views
10

MS SQL Server 2000でポートx(デフォルトポート1433ではなく)で動作するMS SQL 2005サーバーにリンクサーバーを作成します。しかし、私はどこにでもポートを指定することはできませんので、動作しません!デフォルト以外のポートでリンクされたサーバーを作成する方法

sqlcmd(ポートxを指定)を使用すると、問題なくサーバーに接続できますが、リンクサーバーとして設定することはできません。

どうすればいいですか?新しいリンクサーバー]ダイアログで

答えて

6

、その後、あなたのプロバイダ文字列としてこれを使用し、プロバイダ名として「SQL Server用のMicrosoft OLE DBプロバイダー」を選択し、「その他のデータソース」を選択します。

Data Source=192.168.1.100,1433;Network Library=DBMSSOCN;Initial Catalog=yourdbname;User ID=username;Password=password; 

置き換えIPと "1433"をIPとポート番号で置き換えます。

接続文字列の詳細情報

:これを達成するためにhttp://support.microsoft.com/kb/238949

+0

働くだろう!しかし、SQLNCLIプロバイダでこの作業を行う方法があるのは分かりますか? – mjv

+1

私は自分で試してみませんが、 "SQL Server Configuration Manager"を使ってエイリアスを作成し、そこにIPとポート番号を定義することができます。次に、SQLNCLI接続文字列でそのエイリアスを使用します。欠点は、すべてのクライアントマシンがこれを持つ必要があることです。それがちょうど2つのリンクされたサーバなら、それはうまくいくはずです。 –

7

別の方法(あなたがSQL Serverで8080を設定していると仮定して)は、次のコードである:シェーンの提案に基づいて

EXEC sp_addlinkedserver 'myserver', '', 'SQLNCLI', 'xx.xx.xx.xx,8080' 

EXEC sp_addlinkedsrvlogin 'myserver', 'FALSE', NULL, 'user', 'pwd' 
6

、私のためにエイリアスを追加しました。

(SQL Server 2008のR2):

  • オープンSQL Server構成マネージャ
  • "SQL Server構成マネージャ(ローカル)"
  • 展開し、 "SQLネイティブクライアントを10.0設定(32ビット)" を展開
  • をクリックして「別名」
  • 右側のエイリアスリストで右クリックし、選択し、「新しいエイリアス」
  • 「エイリアス名は」何でもYですリンクサーバーを参照する必要があります。
  • 「ポート番号」はデフォルト以外のポートです。
  • "プロトコル"は依存していますが、おそらくこれを "TCP/IP"としておくことができます。
  • "サーバー"は、接続しようとしているサーバーのアドレスです(ポートは含まれません)。

(「SQL Native Clientの10.0設定」(マイナス「32ビット」のテキスト)のための手順を繰り返し)

この方法は私がSQL」としてサーバータイプでリンクサーバーを追加することができエイリアスを追加しますプロバイダオプションを設定せずにサーバー」、など

0

4部構成のクエリは次のようになりますので注意してください:

SELECT * FROM [SQLSERVER,14333].[DATABASE].[dbo].[Table1] 
0

私は今日もこれをしなければならなかった(非デフォルトでリンクサーバーを追加しますポート)。私の場合は、SQL Server 2016にSQL Server 2014リンクサーバーを追加していました。SQL Server Management Studioを使用して

ステップ:

  1. オープンSSMSとサーバー・オブジェクトへ行く>リンクサーバー>新しいリンクサーバー
  2. 使用リンクサーバー ip-address-of-linked-server\instance-name,non-default-portや、192.168.10.5\dev-sql,25250ためのこの形式。インスタンス名が必要なのは、そのインスタンスがターゲットのリンク先サーバーのデフォルトインスタンスでない場合のみです。また、リンクされたサーバーがローカルネットワーク上にある場合は、IPアドレスをホスト名で置き換えることができます。サーバタイプ

  3. ため

  4. 選択SQL Serverには、[セキュリティ]タブ

  5. クエリSQLDBAはaboveを指定しただけのような形式を使用して新しいサーバを使用して接続するために必要な資格情報を追加します。

example screenshot

T-SQLを使用して同じこと:

EXEC master.dbo.sp_addlinkedserver @server = N'192.168.10.5\dev-sql,25250', @srvproduct=N'SQL Server'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.10.5\dev-sql,25250',@useself=N'False',@locallogin=NULL,@rmtuser=N'my_username',@rmtpassword='my_pswd'

関連する問題