Solved

How to get list of all view created by a user

Posted on 2001-08-29
17
283 Views
Last Modified: 2012-06-21
How can I get a list of all the views created by a particular in SQL Server. ADOX views object doen't work properly with SQL oledb provider. I cannot use SQL-DMO due to licence problem.
How can I get just the names of all view created by user by querying the database
0
Comment
Question by:bravi
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 9
  • 8
17 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6436766
select * from sysobjects
where xtype = 'V'
and uid = (select id from sysusers where <whatever> )

CHeers
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6436770
select * from sysobjects
where xtype = 'V'
and uid = (select id from sysusers where <whatever> )

CHeers
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6436773
sorry for the double post...

or

select * from INFORMATION_SCHEMA.views
where TABLE_SCHEMA = 'dbo'

CHeers
0
Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

 

Author Comment

by:bravi
ID: 6436905
I don't need any system views, only user views are required
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6436998
What about these queries:

select * from sysobjects
where xtype = 'V'
and uid > 1

or

select * from INFORMATION_SCHEMA.views
where TABLE_SCHEMA <> 'dbo'

Cheers
0
 

Author Comment

by:bravi
ID: 6437021
I don't need any system views, only user views are required
0
 

Author Comment

by:bravi
ID: 6437034
I need all user views created by a paricular user. What if a particular user has dbo privilege? I won't get even the user created views in that case
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6437087
You are right, there is no indication WHO did actually create the table, only to which user the tables are assigned...
0
 

Author Comment

by:bravi
ID: 6437109
I need all user views created by a paricular user. What if a particular user has dbo privilege? I won't get even the user created views in that case
0
 

Author Comment

by:bravi
ID: 6437116
There should be some way to filter out this information, enterprise manager displays the type of view also (system or user).
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6437298
In fact, in the systems table there is a column that indicates if the views are build by the system, but not by which user they are created. Take the following example:

You have USERA and USERB, both with dbo permissions...

USERA connects to the server, and executes the following script:
CREATE VIEW USERB.MyViewA
AS SELECT ...
GO
CREATE VIEW USERA.MyViewB
AS SELECT ...
GO
CREATE VIEW MyViewC
AS SELECT ...

and USERB connects, and executes a similar script:
CREATE VIEW USERB.MyView1
AS SELECT ...
GO
CREATE VIEW USERA.MyView2
AS SELECT ...
GO
CREATE VIEW MyView3
AS SELECT ...


If you look at EM, you will have 6 views:
USERB.MyViewA
USERA.MyViewB
USERA.MyViewC
USERB.MyView1
USERA.MyView2
USERB.MyView3

BUT not all the views that are owned by UserA are actually created by UserA (and vice-versa). All the views have the bit "systemobject" set to false, but there is no indication to which user actually create it...

Cheers


0
 

Author Comment

by:bravi
ID: 6437357
Can you tell me where this systemobject flag can be found, even that would be useful to me. Thanks
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 6437366
using the sysobjects, the status column > 0 ...
CHeers
0
 

Author Comment

by:bravi
ID: 6437377
Can you tell me where this systemobject flag can be found, even that would be useful to me. Thanks
0
 

Author Comment

by:bravi
ID: 6437392
Is it reliable? Books online says its reserved for internal use only. Anyway thanks, I will accept the answer
0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 200 total points
ID: 6437408
You are right, it's internal use only... and the values can differ for sometimes no obvious reason.
For views however, i am sure it can be used reliable way.
Cheers
0
 

Author Comment

by:bravi
ID: 6437422
Is it reliable? Books online says its reserved for internal use only. Anyway thanks, I will accept the answer
0

Featured Post

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have a large data set and a SSIS package. How can I load this file in multi threading?
In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question