6

すべてのテーブル内のリンク サーバーのデータベースで特定の列を見つける方法はありますか。

私は解決策があると思います

EXEC sp_columns_ex 
4

3 に答える 3

8
SELECT t.name as TableName, c.name as ColumnName
FROM servernamehere.databasenamehere.sys.columns c 
INNER JOIN servernamehere.databasenamehere.sys.tables t ON c.object_id = t.object_id
WHERE c.name like '%yoursearchhere%'
于 2012-10-09T16:34:15.893 に答える
1

これはどう:

EXECUTE [MyLinkedServer].[MyLinkedDB].dbo.sp_executesql
   N'SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE ...'

そして、検索したいものに応じてwhere句を入力しますか?

別の方法は、から選択するビューを作成し、INFORMATION_SCHEMA.COLUMNS代わりにそれをクエリすることです。

のリファレンスInformation_Schema.Columns

于 2012-10-09T15:23:45.230 に答える
1

リンクサーバーが指しているデータベースによって異なります。たとえば、Oracle の場合は Oracle 構文を使用し、SQL Server の場合は Sql Server 構文を使用します。

リンクされたサーバーを介してスキーマを照会しているという事実は重要ではありません。

于 2012-10-09T15:28:36.470 に答える