ブログランキング・にほんブログ村へ
PVアクセスランキング にほんブログ村
子豚のココのお勧め商品 - にほんブログ村

■おすすめの商品
防災グッズ
Evopow ポータブル電源 ソーラーパネル セット リン酸鉄リチウム 1024Wh 出力1000W (瞬間最大2000W)とソーラーパネル 100W ポータブルバッテリー 22% 純正弦波 車中泊 防災 キャンプ 家庭用 アウトドア用
最新記事
写真ギャラリー
検索
カテゴリアーカイブ
タグクラウド
最新コメント
リンク集
RSS取得

広告

posted by fanblog

2017年06月06日

SQL Server リンクサーバ 設定方法 Transact-SQL Management Studio

リンク サーバーの作成(SQL Server データベース)



サーバーマシンのリプレイスなどで、
並行運用期間を経て、
新サーバーに旧サーバーのデータを移行する時に役立つのがリンクサーバー。

作成はとっても簡単なので、
覚えておいて損は無いでしょう。


SQL Server Management Studio でリンクサーバを設定する方法


無償で使えるSQL Server Express Editionにも付属している
SQL Server Management Studio を使っての設定手順は次の通りです。

?@SQL Server Management Studioの起動
Microsoft SQL Server Management Studio を起動し、
SQL Server に接続します。
接続するのは、リンクサーバーを設置するSQL Server です。

?A新しいリンクサーバーの作成
インスタンス名下のツリーから、
「サーバーインスタンス名」→「サーバーオブジェクト」→「リンクサーバー」を展開します。

G001.jpg

?B「リンクサーバー」を右クリックし、サブメニュー内の「新しいリンクサーバー」をクリックします。

G002.jpg

?Cリンクサーバーの設定

G003.jpg


「全般」タブを開き設定を行います。

■リンクサーバー:作成するリンクサーバーの名称です。
SQLでアクセスする際に必要になるので、
解り易い名称を付けるようにしましょう。

■サーバーの種類:「その他のデータソース」を選択してください。

■プロバイダー:「SQL Server Native Client 10.0」を選択してください。

■製品名:リンクサーバー作成(設置)先のサーバー名を入力してください。
 (名前付きインスタンスの場合は、コンピュータ名\sqlexpressやipアドレス\sqlexpress等になります。)

■データソース:リンク元(リンクしたい)のサーバー名を入力してください。
 (名前付きインスタンスの場合は、コンピュータ名\sqlexpressやipアドレス\sqlexpress等になります。)

G004.jpg

「セキュリティ」タブを開きます。

「上記一覧で定義されないログインの接続方法」から、
「このセキュリティコンテキストを使用する」を選択し、
リモートログイン、パスワードを入力します。

■リモートログイン:sa
■パスワード:「パスワード」

?D「OK」をクリックします。リンクサーバーが作成されます。

G005.jpg

Transact-SQL でリンクサーバを設定する方法



sp_addlinkedserver 構文


sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ]
[ , [ @provider= ] 'provider_name' ]
[ , [ @datasrc= ] 'data_source' ]
[ , [ @location= ] 'location' ]
[ , [ @provstr= ] 'provider_string' ]
[ , [ @catalog= ] 'catalog' ]

【実行命令文】

192.168.1.1\sqlexpressサーバー内に、
192.168.0.1\sqlexpressサーバーのデータベースをリンクする
LinkSvという名称のリンクサーバーを作成するTransact-SQLです。

EXEC master.dbo.sp_addlinkedserver
@server = 'LinkSv',           ・・・リンクサーバー
@srvproduct ='192.168.0.1\sqlexpress', ・・・製品名
@datasrc = '192.168.1.1\sqlexpress',  ・・・データソース
@provider = 'SQLNCLI10',        ・・・プロバイダー
@provstr = ''

■リンクサーバー:作成するリンクサーバーの名称です。
SQLでアクセスする際に必要になるので、
解り易い名称を付けるようにしましょう。

■製品名:リンクサーバー作成(設置)先のサーバー名を入力してください。
 (名前付きインスタンスの場合は、コンピュータ名\sqlexpressやipアドレス\sqlexpress等になります。)

■データソース:リンク元(リンクしたい)のサーバー名を入力してください。
 (名前付きインスタンスの場合は、コンピュータ名\sqlexpressやipアドレス\sqlexpress等になります。)

■プロバイダー:「SQLNCLI10」(※1)を入力してください。

※1:インストールされているSQL Server のバージョン毎に異なります。最新はSQLNCLI11です。

sp_addlinkedsrvlogin 構文


sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
[ , [ @useself = ] 'TRUE' | 'FALSE' | NULL ]
[ , [ @locallogin = ] 'locallogin' ]
[ , [ @rmtuser = ] 'rmtuser' ]
[ , [ @rmtpassword = ] 'rmtpassword' ]

【実行命令文】

LinkSvへアクセスする「sa」ユーザーを設定するTransact-SQLです。

EXEC sp_addlinkedsrvlogin
@rmtsrvname = 'LinkSv',       ・・・リンクサーバー
@useself = 'false',
@rmtuser = 'sa',          ・・・リモートユーザー
@rmtpassword = 'P0ssW0rd'         ・・・パスワード

■リモートユーザー:sa を設定します。
■パスワード:saユーザーの「パスワード」を設定します。


シノニムを利用して別名を付ける


シノニムを利用して別名をつけることもできるようです。

Create Synonym [シノニム名] For [リンクサーバー名].[データベース名].[スキーマ名].[テーブル名]

(サンプル)
CREATE SYNONYM MyProduct
FOR AdventureWorks2012.Production.Product;


リンクサーバーへのアクセス


SQLを利用してのリンクサーバー内データベースへのアクセスは以下のように行います。

select * from [リンクサーバー].[データベース].[dbo].[テーブル]


【2020/4/15追記】
新型コロナウイルスの感染拡大に伴い在宅勤務の方が増えている影響だと思いますが、
この記事へのアクセスが増加しています。
皆さまのお役に立てれば幸いです。
posted by 子豚のココ at 14:49 | RDBMS
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: