SQL Server 2008 データベース分散クエリの知識
ある会社のシステムに接すると、データベースはSQL Server 2008を使用しており、データベース間の問い合わせが多く、データベースは複数のサーバーに分散されており、それぞれのデータベースは異なるモジュール機能のデータの保存を担当しています。これには、データベースの分散クエリも含まれます。
分散クエリに関する知識を深めること。
分散クエリは、複数の異種データソースからデータにアクセスします。これらのデータソースは、同じコンピューターに保存されていることも、異なるコンピューターに保存されていることもあり、Microsoft SQL Serverは、OLE DBを使用することによって分散クエリーをサポートしています。
SQL Server ユーザーは、分散クエリを使用して、以下にアクセスすることができます。
- 複数のSQL Serverインスタンスに格納されている分散データ。
- OLE DBアクセスインターフェースを使用してアクセス可能な、様々なリレーショナルおよび非リレーショナルデータソースに格納された異種データ。
OLE DB Access Interfaceは、データを行セットと呼ばれる表形式のオブジェクトで公開します。SQL Serverでは、OLE DB Access Interfaceの行セットをSQL ServerのテーブルのようにTransact-SQLステートメントで参照することができます。
外部データソースのテーブルとビューは、SELECT、INSERT、UPDATE、およびDELETE Transact-SQLステートメントで直接参照することが可能です。分散クエリはOLE DBを基本インターフェースとして使用するため、SQLクエリプロセッサーを備えた従来のDBMSシステムだけでなく、異なる機能を持った複雑なデータソースが管理するデータにもアクセスすることができるようになります。データを所有するソフトウェアがOLE DBアクセスインターフェースを通じて表形式の行セットでデータを公開すれば、分散クエリでそのデータを使用することができる。
会社の業務では、異なるサーバー上のデータベースを頻繁に使用する必要があるため、会社のデータベース用にリンクされたサーバーが大量に作成されている。これらのリンクされたサーバーを作成することによって、これらのリンクされたサーバーのエイリアスを使用して、SQL文の記述とSQLのオーバーヘッドを簡素化することができます。
SQL SERVER 2008の管理ツールを使用すると、直接インターフェースでリンクサーバーを追加することができます。ここでは、SQLステートメントを使用して、システムのストアドプロシージャを使用してリンクサーバーを追加する方法と、使用するストアドプロシージャを2つ紹介します。
sp_addlinkedserver
sp_addlinkedsrvlogin
1つはリンクサーバーの追加、もう1つはリンクサーバーの接続ログイン認証の追加です。この2つの手順のパラメータの意味については、マイクロソフト社のマニュアルを参照してください。この手順を実行するユーザーは、ログインするためにSysadmin権限を持っている必要があることに注意してください。
10.155.24.101上のFlieDB01テーブルの情報を10.155.25.100上のDBで使用したいとします。10.155.25.100上で次のSQLステートメントを実行します。
exec sp_addlinkedserver
@server='SZDB01', - alias of the server to add the link to
@srvproduct='',
@provider='SQLOLEDB',--specify the link through SQLOLEDB
@datasrc='10.155.24.101' - DB address
exec sp_addlinkedsrvlogin
'SZDB01',- alias of the connection server
'false',
NULL,
'szUSER',- login username
'Password@123' -- password for login
-- After execution, you can write a query like this
select * from openquery([SZDB01],'select file_No,file_Name from FileDB01.dbo.getFileList()') as tableA -- Here DZDB01 is the alias of the connection server added above
接続サーバーが複数ある場合は、そのうちの1つを追加します。
もう一つは、SQLの関数であるopendatasourceの使用は、その機能は、指定されたDBを開くには、この関数の実行は非常に低い特権は、技術マニュアルは、誰もがこの関数を実行することができると言うです。この関数は、ハッカーのデータバーストのテーブルの共通の手段、現在表示SQL Server 2008マニュアル、その説明はまだ誰もが実行する権限を持って言うです。
この関数は、使用頻度の低いクエリにのみ使用することができます。
簡単な例として
select * from opendatasource('SQLOLEDB','Data Source=10.155.24.100;User ID="szUSER";Password="Password@123"') as tableA
これも上記を実装したものです。
opendatasourceは、mdbのようなファイルを直接開くこともできます。私は実験していません、このテクニックは本に書かれています。
select * from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="d:/abcd.mdb"')
概要
この記事の内容が、あなたの勉強や仕事の参考になれば幸いです。また、スクリプトハウスを応援していただきありがとうございます。もっと詳しく知りたい方は、以下のリンク先をご覧ください。
関連
-
sql server 2008のレジストリ書き込み失敗、vs2013のコア機能のインストール失敗を解決する。
-
SQL Server 2008でSQLクエリ文のフィールド値の大文字と小文字が区別されない問題の解決
-
win2008 r2 install SQL SERVER 2008 R2 can't open port 1433 設定方法
-
SQL Server 2012 クラスタのインストール方法
-
sql server 2008データベース移行の2つの方法
-
SQLServer2008 新規インスタンスのリモートデータベース連携問題(sp_addlinkedserver)
-
SQL Server 2008 R2 認証モードの設定 グラフィックチュートリアル
-
ログインとパーミッションのロール制御のためのSpringセキュリティ
-
Sql Server 2008R2アップグレード Sql Server 2012グラフィックチュートリアル
-
SQL Server 2008データベースの定期的な自動バックアップを設定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQLServerの共通関数の概要説明
-
SQL Server 2008のデータベース管理システムは、SQLステートメントを使用して、ログインユーザの手順を作成するために説明した
-
sqlserver 2008 データベースに接続する Java コード
-
jdomで中国語のxmlファイルを作成する方法
-
空白の値を他の値に置き換えるSQL
-
SQL Server 2008 ExpressおよびManagement Studio Expressのダウンロード、インストール、構成に関するチュートリアル
-
Sql Server 2008データベースで新しい割り当てユーザーを作成する詳細な手順
-
SQL Server 2008 R2 ユーザー権限を割り当てる手順
-
Sql Server 2008インストールグラフィックチュートリアル
-
SQL 2008のアンインストールに関する問題の解決策(コンピューターの再起動に失敗、SQLのアンインストーラーが見つからない)