問題タブ [linked-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - クロスサーバー SQL
あるサーバーのデータベースから別のサーバーのデータベースにデータを移植したいと考えています。データベースは両方とも異なる mssql 2005 サーバー上にあります。宛先データベースは [時間間隔] ベースでゼロから生成されるため、レプリケーションはおそらくオプションではありません。
できれば私は次のようなことをします
このスクリプトのどこかに接続資格情報が含まれることは明らかです。
sql - 挿入クエリが分散トランザクションに登録されないようにするにはどうすればよいですか?
リンク サーバーテーブルに行を挿入するために、ストアド プロシージャ内に SQL 挿入クエリがあります。
ストアド プロシージャは親トランザクション内で呼び出されるため、この Insert ステートメントは DTC を使用してリンク サーバーに行を挿入しようとします。
DTCの関与は避けたい。
Insert SQLステートメントがトランザクションスコープを無視するために(ヒントのように)それを行う方法はありますか?
sql-server-2000 - 連携サーバーの性能とオプション
職場には 2 台のサーバーがあり、1 台は SQL Server 2000 バックエンドを持つ、多くの人が使用するアプリケーションを実行しています。私は長い間これを自由に照会してきましたが、ストアド プロシージャや追加のテーブルなどを追加することはできません。
これにより、最初の SQL Server にリンクされた 2 つ目の SQL Server を持つことになり、リンク サーバーを使用して両側からデータをクエリするストアド プロシージャのライブラリを構築しました。これらのクエリの一部は、希望よりも時間がかかっています。
リンク サーバーの使用に関する優れた記事を教えてもらえますか? 通常、SQLステートメントの大部分はリモートで実行できるため、2つの間でどのデータが転送されているかを知ることに特に興味がありますが、テーブル全体を転送している可能性があると感じています。通常は小さな最終への結合ですテーブルをローカルに。
また、現在私が持っているリンクサーバーオプションは何ですか:
- 照合互換 True
- データ アクセス True
- Rpc True
- Rpc アウト True
- リモート照合を使用する False
- 照合名(空白)
- 接続タイムアウト 0
- クエリ タイムアウト 0
編集:
この投稿を更新しようと思ったのですが、パフォーマンスを向上させるためにしばらくの間、動的パラメーターを使用して openqueries を使用しました。ヒントをありがとう。ただし、これを行うと、文字列を処理することになるため、クエリがより面倒になる可能性があります。ついにこの夏、SQL Server を 2008 にアップグレードし、ライブ データ ミラーリングを実装しました。正直なところ、オープン クエリは私のタスクのローカル クエリの速度に近づいていましたが、ミラーリングにより、SQL の処理が確実に簡単になりました。
sql-server - SQLServer2000からDB2/AS400へのOpenQueryにより、ロックが発生します
毎朝、AS400 / iSeries / i6(IBMが現在呼んでいるもの)のDB2に多数のクエリ(〜10000)を発行するプロセスがあります。過去2か月間、オペレーターは、クエリがいくつかのファイルをロックするという不満を持っています。彼らが毎晩の処理を完了するのを防ぎます。クエリは非常に単純です。
私は家のiSeries側の専門家ではなく、AS400/Db2の観点からロックのエスカレーションについて誰かが洞察を持っているかどうか疑問に思っていました。ロックの原因となっているIDは、リンクサーバーを登録したIDであることが確認されており、[Library]と[FileName]が発行しているクエリと一致しているため、最も可能性が高いことがわかります。
これは最近起こり始めたばかりです。AS400がロックをエスカレートする原因となっているselectステートメントは可能ですか?問題は、手動の介入なしではリリースされないことです。
sql-server-ce - SQL Server (任意のバージョン) から SQL Server CE (3.5) データベースへのリンク サーバーを作成できますか?
Redgate から SQL Data Compare というツールを購入しました。主にテスト目的で使用して、アプリケーションがデータベースに変更を加えていることを証明し、他の変更を加えていないことを証明します。
私の現在のアプリケーションには、「オンライン」編集と「オフライン」編集の両方があります。オンライン モードでは SQL Server を直接操作し、オフライン モードでは SQL CE (3.5) ファイル内のテーブルのサブセットを操作します。
とにかく、SQL データ比較ツールは SQLCE をサポートしていないので、SQLCE データベースにリンクされたサーバーを作成し、ビューを介して CE データベースをミラーリングする SQL Server データベースを作成できることを期待していました。これでテストを実行できます。
そのため、SQLCE データベースへのリンク サーバーを作成する方法がわかりません。誰もそれを行う方法を知っていますか?
sql-server - 異なる照合順序を使用した 2 つのリンクされたデータベースに対する SQL Server クエリ
クエリの一部として 2 つのリモート データベースがあります
問題は、serverA が照合Latin1_General_BIN
を使用し、serverB が使用Latin1_General_CP1_CP_AS
し、クエリが実行を拒否することです。
どちらのサーバーも SQL 2000 サーバーです。両方のデータベースは固定されているため、残念ながら照合順序を変更することはできません。
とにかく、これを機能させる方法を知っていますか?
更新: 別の解決策を見つけました。リンク サーバーのプロパティでは、リンク サーバーの照合順序を指定できます。
sql-server-2005 - SQL2005リンクサーバーからDB2iSeriesストアード・プロシージャーを実行します
MS SQL 2005でリンクされたデータベースからストアドプロシージャを実行しようとしています。リンクされたデータベースは、iseriesサーバー上のdb2データベースです。iSeriesIBMDASQLサービスプロバイダーを使用しています。単純なvbscriptとadoを使用して、問題なくストアドプロシージャをクエリできます。SQL Serverのクエリアナライザで同じストアドプロシージャを実行しようとすると、結果が表示されません。クエリアナライザは常に「コマンドが実行されました」と表示し、一時テーブルでselect *を実行すると、値が表示されません。私は何が間違っているのですか????? ありがとう!
-以下のクエリアナライザからのコード--
更新:openqueryを使用するために更新されたコードは次のとおりです...まだ運がありません:(
DECLARE @TSQL varchar(8000)DECLARE @emailToAddress varchar(50)DECLARE @emailFromAddress varchar(50)SET @emailToAddress ='customer.service@company.com' SET @emailFromAddress ='customer@gmail.com' SET @TSQL = ' SELECT * FROM OPENQUERY(MAM400、'' CALL abicqual.VP_GETCCEPGMID('''''+ @emailToAddress +'''''、'''''+ @emailFromAddress +'''''' +')'' ' +')' @TSQL EXEC(@TSQL)を出力します
--以下の出力--SELECT*FROM OPENQUERY(MAM400、'CALL abicqual.VP_GETCCEPGMID(''customer.service@company.com''、''customer@gmail.com'')')メッセージ7357、レベル16、状態2、1行目オブジェクト「CALL abicqual.VP_GETCCEPGMID('customer.service@company.com'、'customer@gmail.com')」を処理できません。リンクサーバー"MAM400"のOLEDBプロバイダー"IBMDASQL"は、オブジェクトに列がないか、現在のユーザーにそのオブジェクトに対するアクセス許可がないことを示しています。
sql - リンク サーバーに参加するか、ホスト サーバーに参加しますか?
状況は次のとおりです。データをプルするために接続する必要がある Oracle データベースがあります。上記の Oracle データベースにアクセスするのは非常に面倒なので (何よりも主に官僚的な障害です)、それを SQL Server にリンクし、そのリンクを使用して必要に応じてデータにアクセスすることを計画しています。
アプリケーションの 1 つで、必要なデータを取得するためのビューを作成する予定です。これで、必要なデータが 2 つのテーブルから結合されました。これを行う場合、どちらが望ましいでしょうか?
これ(そのようなものが存在する場合は疑似SQLで):
またはこれ:
どちらかを優先する理由はありますか?注意すべき点は、Oracle サーバーにアクセスするためにクエリを実行できる時間に制限があることです。
sql - MSDTC を使用したリンク サーバー エラー
インターネットを介した2つのシステム間の「リンクサーバー」を使用したデータトランザクションのストアドプロシージャの例を示しています
ストアドプロシージャを実行すると、さまざまな実行時間でさまざまなエラーが発生します
しばらくすると、このエラーが表示されます
別の時間にこのタイプのエラーが表示される
クライアント側で Windows XP と SQL Server 2005 を使用しており、ネット サーバーで Windows Server 2003 と SQL Server 2005 を使用しています。
両方のシステムで MSDTC を設定します
この問題を解決するにはどうすればよいですか (また、Windows XP および Windows Server 2003 で MSDTC を設定するための正しい情報を提供してください)
sql - SQLServer 2k5のリンクサーバーテーブルのビューに外部キーを設定できますか?
別のデータベースにリンクされたサーバーを備えたSQLServerがあります。そのリンクサーバーにビューを作成しました
以下にしたいのですが
しかし、それはエラーを生成します:「外部キー'fk1_baz_to_foo'はユーザーテーブルではないオブジェクト'dbo.vw_foo'を参照します。」
次を使用して外部キーをテーブルに直接配置しようとすると
次に、次のエラーが発生します。
オブジェクト名'LINKEDSERVER.RemoteDatabase.dbo.tbl_bar'に、最大数を超えるプレフィックスが含まれています。最大は2です。
同じ効果を得る方法はありますか?