如何查看sqlserver数据库文件位置

如何查看sqlserver数据库文件位置,第1张

查看sqlserver数据库文件的位置,有两种情况,一是在创建时就修改了数据库的位置,二是在默认位置,下面就来看一下如何查看数据库文件所在的位置

工具/材料

Microsoft  SQL Server Management  Studio 2008

方法:

1、以Book数据库为例。

打开并成功登录数据库之后,找到所要查找的数据库Book数据库,选中Book数据库,右击—>属性

2、点击属性之后,会出现下面这个窗口,在左上角有一个“选择项”-->文件-->

"路径",在“路径”这一列就可以看到数据库文件所在的位置了。

--oracle无穷解查询数据库中的所有数据

--TEST0418为表属于的用户(不知道哪个用户,可以用语句查已知表名,

--表所属的用户--可百度)

--1001E71000000002RWGW :为所查询的内容,也可改为模糊查询

DECLARE

V_SQL VARCHAR2(2000);

V_COUNT NUMBER;

BEGIN

FOR XX IN (SELECT TABLE_NAME,COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER='TEST0418' ) LOOP --WHERE OWNER='TEST0418'

BEGIN

V_SQL:= 'SELECT COUNT(1) FROM TEST0418'||XXTABLE_NAME ||' WHERE '||XXCOLUMN_NAME||' = ''1001E71000000002RWGW'' '; /LIKE ''%123%'' ';/

EXECUTE IMMEDIATE V_SQL INTO V_COUNT;

IF(V_COUNT>=1) THEN

DBMS_OUTPUTPUT_LINE('SELECT TEST0418'||XXCOLUMN_NAME ||' FROM '||XXTABLE_NAME ||' WHERE '||XXCOLUMN_NAME||' = ''1001E71000000002RWGW'' '); /LIKE ''%123%'' ');/

END IF;

EXCEPTION

WHEN OTHERS THEN NULL;

END;

END LOOP;

END;

OBJECT_ID : 返回数据库对象标识号

例如:

use master

Select Object_Id(N'pubsauthors') //查看pubs数据库里的authors表的object_id对象标识号。

OBJECTPROPERTY : 返回当前数据库中对象的有关信息

语法 : OBJECTPROPERTY ( id , property )

例如:

OBJECTPROPERTY (object_id(N'authors') , N'ISTABLE') = 1

select from dbosysobjects where Object_Id(N'myTable') AND OBJECTPROPERTY(id, N'IsTable') = 1

OBJECT_ID:返回数据库对象标识号。N是显式的将非unicode字符转成unicode字符,它来自 SQL-92 标准中的 National(Unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(PerPersonData)。

OBJECTPROPERTY:返回当前数据库中对象的有关信息。1表“真”。同样可以写成OBJECTPROPERTY(id, sUserTable) = 1。

整条语句的意思是判断数据库里有没有存在PerPersonData这样一张表。

整条语句可以简写成:

if exists (select from sysobjects where objectproperty(object_id('PerPersonData'),'istable') = 1)

判断myTalbe对象是否是一个表。

If exists (select from dbosysObjects

where id = Object_Id(N'myTable') and ObjectProperty(id, N'IsUserTable') = 1)

判断myProc对象是否是一个存储过程。

If exists (select from dbosysObjects

where id = Object_Id(N'myProc') and ObjectProperty(id, N'IsProcedure') = 1)

判断myFun对象是否是一个自定义、标量值函数。

If exists (select from dbosysObjects

where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsScalarFunction') = 1)

判断myFun对象是否是一个表值函数。

If exists (select from dbosysObjects

where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsTableFunction') = 1)

其他更多ObjectProperty属性的 property 值参考

>

可以用select语句查询某个表中某字段是否存在某个值,如果有,可以查询改行的其他字段值。

没办法遍历所有表和字段知道某个值在哪里,即使写了语句,代价也太大了。

祝好运,望采纳。

Select Name FROM MasterSysDatabases

可以获取所有的表

Select Name from SysColumns Where id=Object_Id('TableName')

可以获取所有列

然后循环的用 like ‘%[数据]%’ 去查,

你可以试试,不过你的想法貌似是行不通的,什么都不知道怎么查啊,查出来的也并不代表就是你想要的那个数据

一个表一个表,一个字段一个字段的去查,比如:select  from 表1 where 字段1=值

把表导入到sql文件里面,然后打开这个文件,用"查找"的功能找这个值。但是如果表和数据库很大的话,恐怕也不容易导出和打开这个sql文件。

以上就是关于如何查看sqlserver数据库文件位置全部的内容,包括:如何查看sqlserver数据库文件位置、Oracle数据库中,知道一个值,如何查询它所在的表,是哪个字段、SQL如何在一个数据库中查询已知列名的所在表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10092475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存