我将一个表导出到服务器但我找不到该表.也许我没有把正确的目的地数据库.如果我的服务器有多个数据库,而不打开每个数据库,我怎样才能找到这个表?
我使用MS Sql Server Management Studio 2008.
粗糙和肮脏,但它会做的工作.
-- Instructions. Replace "table_name_here" with actual table name sp_MSforeachdb 'USE ? IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N''[table_name_here]'') AND OBJECTPROPERTY(id, N''IsUserTable'') = 1) BEGIN PRINT ''Found in db ?'' END'
单程
SELECT DISTINCT DB_NAME(database_id) FROM [sys].[dm_db_index_operational_stats](NULL,NULL,NULL,NULL) WHERE OBJECT_NAME(object_id,database_id) = 'table_name'
或者,如果您有理由相信它将dbo
在任何数据库的架构中
SELECT name FROM sys.databases WHERE CASE WHEN state_desc = 'ONLINE' THEN OBJECT_ID(QUOTENAME(name) + '.[dbo].[table_name]', 'U') END IS NOT NULL