問題タブ [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.

0 投票する
1 に答える
3873 参照

sql-server - SQLServer2005を使用したLDAPを介したActiveDirectoryロールメンバーシップへのアクセス

Active Directoryユーザーのリストと、SQLServer2005リンクサーバーを使用しているメンバーであるセキュリティグループを取得したいと思います。レコードを取得するためのクエリが機能していますが、memberOf属性(複数値のLDAP属性)にアクセスする方法がわかりません。

私は情報を保存するためにこれを一時的に持っています:

各グループ/ユーザーの関連付けは1行である必要があります。

これは私のSELECTステートメントです:

このエラーメッセージが表示されます:

OLEDBエラートレース[OLE/DBプロバイダー'ADSDSOObject'IRowset :: GetDataが0x40edaを返しました:プロバイダーから返されたデータステータス:[COLUMN_NAME = memberOf STATUS = DBSTATUS_E_CANTCONVERTVALUE]、[COLUMN_NAME = sAMAccountName STATUS=DBSTATUS_S_OK]]。メッセージ7346、レベル16、状態2、行2OLEDBプロバイダー'ADSDSOObject'から行のデータを取得できませんでした。符号の不一致またはオーバーフロー以外の理由により、データ値を変換できませんでした。

0 投票する
3 に答える
474 参照

sql-server - SQL Server のリンク サーバー?

リンクサーバーにデータベースを作成することはできますか? はいの場合、どのように。

私はあなたの助けに感謝します。ありがとうございました。

0 投票する
3 に答える
3188 参照

sql - データベース間クエリのパフォーマンス(リンクされたサーバー間)

2つのリンクされたサーバー間にインポートがあります。私は基本的に、複数の結合からデータを自分の側のテーブルに取得する必要がありました。

現在のクエリは次のようなものです。

db1=リンクサーバー

db2=自分のデータベース

この後、db2にあるテーブルにこのデータを追加するために+selectへの挿入を使用しています。(通常、数百レコード-このインポートは1分に1回実行されます)

私の質問はパフォーマンスに関連しています。リンクサーバー上のテーブル(tbl1、tbl2、tbl3、tbl4)は巨大なテーブルであり、数百万のレコードがあり、インポートプロセスの速度が低下しています。たとえばストアドプロシージャで「反対側」(db1-リンクサーバー)で結合を行うと、クエリが同じように見えても、実行速度が速くなると言われました。そうですか?これをテストするのはちょっと難しいです。結合には私のデータベースのテーブルも含まれていることに注意してください。

また。これをより速く実行するために使用できる他の「トリック」はありますか?ありがとう

0 投票する
4 に答える
34582 参照

sql - リンク サーバーの SQLNCLI の問題。「アクティブなトランザクションはありません」

ストアド プロシージャを実行し、その結果を一時テーブルに挿入しようとすると、次のメッセージが表示されます。

リンク サーバー "MyServerName" の OLE DB プロバイダー "SQLNCLI" が分散トランザクションを開始できなかったため、操作を実行できませんでした。リンク サーバー "MyServerName" の OLE DB プロバイダー "SQLNCLI" から、"アクティブなトランザクションはありません" というメッセージが返されました。

私のクエリは次のようになります。

正確な列番号、名前、問題は結果ではありません。

MSDTC は許可され、両方のコンピューターで開始され、リモート プロシージャ コールも開始されます。

マシンは同じドメインにありませんが、自分のマシンからリモート クエリを実行して結果を取得できます。ストアド プロシージャを実行してその結果を確認することもできますが、別のテーブルに挿入することはできません。

編集


ああ、言い忘れましたが、ストアド プロシージャはトリガーを起動しません。データ処理のために自身で作成する一時テーブルにレコードを挿入するだけです。

0 投票する
2 に答える
1866 参照

linked-server - OPENDATASOURCEのパラメーターを渡す方法

これでリンクサーバーに接続できます:

SELECT testNo、soruTuruId、soruNo、cevap、degerlendirenTcNo、degerrendirilenTcNo FROM OPENDATASOURCE('SQLOLEDB'、'Data Source = 192.168.150.42; User ID = readerUser; Password = 1')。akreditasyon.dbo.tblPerfCevap

ただし、パスワードをパラメーターとして渡す必要があります。そして私はこのようにしようとします:

SET @connectionString='データソース=192.168.150.42;ユーザーID=readerUser; Password ='+ @ pw

SELECT testNo、soruTuruId、soruNo、cevap、degerlendirenTcNo、degerrendirilenTcNo FROM OPENDATASOURCE('SQLOLEDB'、@connectionString).akreditasyon.dbo.tblPerfCevap

SELECT testNo、soruTuruId、soruNo、cevap、degerlendirenTcNo、degerrendirilenTcNo FROM OPENDATASOURCE('SQLOLEDB'、'Data Source = 192.168.150.42; User ID = readerUser; Password ='+ @ pw).akreditasyon.dbo.tblPerfCevap

しかし動作しませんでした:S

誰かアイデアがありますか?

0 投票する
2 に答える
3224 参照

sql-server - SQL認証を使用せずにドメイン内にない別のサーバーにリンクサーバーを設定しますか?

サーバーA(SQL2005)はプライマリドメインにありますが、サーバーB(SQL2000)はWindowsワークグループにあります。ドメインに参加することは許可されていません。そうしないと、悪いことが起こります...

サーバーBでSQL認証を有効にすることもできません。

Aのドメインアカウントと、サーバーBの一致するローカルアカウントがあります。

SSMSとドメインログインを使用してローカルPCまたはAからBに接続できますが、リンクサーバーを接続できません。

これを行う方法はありますか?

0 投票する
1 に答える
10770 参照

sql - トランザクション内のリンクサーバーを使用してリモートテーブルに挿入する方法は?

リンクサーバーが正しく設定されているので、以下のクエリを実行できます。

INSERTINTO[RemoteServer]。[Table]SELECT*FROM[LocalServer]。[Table]

ただし、トランザクション内で同じことを行うと

BEGIN TRAN INSERTINTO[RemoteServer]。[Table]SELECT*FROM[LocalServer]。[Table]COMMITTRAN

次のようなエラーが発生します

リンクサーバー「66.70.123.202」のOLEDBプロバイダー「SQLNCLI」が「アクティブなトランザクションはありません」というメッセージを返しました。メッセージ7391、レベル16、状態2、行3リンクサーバー"66.70.123.202"のOLEDBプロバイダー"SQLNCLI"が分散トランザクションを開始できなかったため、操作を実行できませんでした。

0 投票する
2 に答える
2871 参照

linked-server - データ層プロジェクトとリンク サーバー

リンク サーバーを含むデータ層アプリケーションを使用しようとしていますが、奇妙な問題が発生しています。

ここに私が持っているものがあります:

1) データ層プロジェクトを含む VS2010 ソリューション。

2) データ層プロジェクトは、SQL 2008 R2 サーバーを対象としています。

3) SQL サーバーには、Oracle データベースへの有効なリンク サーバー接続があります。

4) データ層プロジェクト内のビューは、OPENQUERY を使用してリンク サーバーを参照します。

リンク サーバー接続は有効であり、サーバー上でそれに対してクエリを実行すると正常に動作し、サーバー上で直接ビューを作成することも正常に動作します。

ただし、データ層アプリケーションをビルドしようとすると、次のエラーが発生します。

0 投票する
1 に答える
1906 参照

tsql - SQLServerでのopenqueryの問題

私はSQLServer2008を使用しており(この質問の説明ではこのソースデータベースサーバーと呼びます)、SSMSでは別のSQL Server 2008データベースへのリンクサーバーを作成しました(この質問の説明ではこの宛先データベースサーバーと呼びます)。

ステートメントを発行すると、[リンクされたサーバー名]。[データベース名]。[dbo]。[テーブル名]から*を選択すると、エラーが返されます。

ステートメント--select*from openquery([linked server name]、'select * from [table name]')を発行すると、エラーは発生しません。何が問題なのでしょうか。

よろしくお願いします、ジョージ

0 投票する
1 に答える
1392 参照

sql-server-2008 - SQLServer2000のsp_addlinkedserverに関する問題

SQL Server 2000(A)を実行しているサーバーとSQL Server 2008(B)を実行しているサーバーから特定のデータを移動する際に少し問題があります。Aで実行される顧客の仕様に従ってスクリプトを作成し、Bのテーブルにデータを入力します。ただし、サーバーリンクを機能させることができないようです。

スクリプト全体を実行すると、次のようなエラーが発生します。

メッセージ7202、レベル11、状態2、55行目sysserversでサーバー「remoteServer」が見つかりませんでした。sp_addlinkedserverを実行して、サーバーをsysserversに追加します。

ただし、sp_addlinkedserver一部のみを強調表示して実行すると、エラーは発生せず、スクリプトの残りの部分を強調表示して実行できます。ここで何が欠けていますか?

助けてください!

PS。バックアップと復元がオプションだったとしたら、私はすでにそれを行っていただろう。