0

このようなアプリケーションで要件を取得しました。web.config ファイルとデータベース テーブル内の computername を更新するための PowerShell スクリプトを開発します。

このスクリプトは、アプリケーションが既にインストールされているが、ユーザーがコンピューター名を変更する必要がある場合に実行されます。[そのため、マシン名が変更されても、スクリプトを実行しても、インストールされたアプリケーションは壊れません。製品をアンインストールして再インストールする必要はありません]

現在、多くのテーブルには、コンピューター名を含むフィールドが含まれています。たとえば。URL、BaseURL などの列には、コンピューター名と残りのテキストが含まれます。

列値 computername を持つテーブル名を見つける必要があります(like column names URL and baseURL contains machine name.For example. AB2S481V0:80/Project/Default.aspx AB2S481V0 is the computername ).

各テーブルを手作業で調べてリストを見つけるのは、テーブルがたくさんあるので面倒です。データベース名と列の部分文字列(列名全体ではない)を渡すと、テーブル名のリストを見つける方法はありますか

4

2 に答える 2

0
Select a.name as  [Table Name],b.name as [Column Name]
from sys.tables a
Join sys.columns b on a.object_id = b.object_id
where b.name like '%ColumnName%'
于 2012-07-02T10:00:33.103 に答える
0

次のクエリを使用して、列名でテーブルを検索することがよくあります。

USE MYDB
SELECT t.name, c.name
FROM sys.tables t
JOIN sys.columns c ON c.object_id = t.object_id
WHERE c.name LIKE '%[my_serach_pattern]%'

object_id は、sys.tables 内のテーブル ID (つまり、sys.objects テーブル内の object_id) を参照します。

詳細については、MSDNを参照してください。

于 2012-07-02T09:07:54.270 に答える