2

できるだけ多くのバージョンの SQL Server で、Microsoft SQL Server インスタンス内のデータベースとテーブルを返す最小限のクエリ セットを作成したいと考えています。

自分の質問に半分答えるべきかどうかはわかりませんが、2000年と2005年に必要だと思うものは次のとおりです。理想的にはさらに前に戻りたいのですが、古いバージョンにはアクセスできません。

権限

2005: VIEW ANY DEFINITION 権限を持つユーザー

2000: 取得するすべてのデータベースで public ロールを持つユーザー

データベース

sp_databases

また

SELECT * FROM sysdatabases

どちらも SQL Server 2000 および 2005 で動作します

テーブル

2005年

SELECT name FROM <database>.sys.tables

また

SELECT table_name FROM <database>.information_schema.tables WHERE table_type = 'BASE TABLE'

2000年

SELECT name from <database>.dbo.sysobjects WHERE xtype = 'U'
4

1 に答える 1

2

私はINFORMATION_SCHEMAビューがあなたを助けることができると信じています。

http://msdn.microsoft.com/en-us/library/ms186778.aspx

于 2008-11-04T13:45:58.950 に答える