• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 208
  • Last Modified:

Creating Databse!

Hi All,

How to determine whether the MS SQL Server user has the premission to create database programmatically?

With Regards,
  • 5
1 Solution
Error trapping!

You could attempt the create database functionality.  If it errs out, then he/she doesn't have the permission.  Otherwise, he/she does.  You'll need to determine the exact error number from SQL Server if you want to provide specific error handling.


Public Function CreateANewDB()
On Error GoTo err_create:
'code to create the new db

'clean up any used variables and close the function
Exit Function

MsgBox Err.Description,,Err.Number
Resume exit_create:
End Sub

callilamAuthor Commented:

I dont want to create a database. But, just want to know whether the user has the previledge to create the database.

Also, It is not possible to create database from VB.

With Thanks,
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

OK, so try to create the database anyway.  If it's created, great, the user has access to create databases.  Then delete the database.

In addition, it is too possible to create a database from vb.  However, at this time i'm not sitting in front of a computer with vb installed so I can't be of much help.  But I'll look around and see what I can find for ya.
example of creating a database with sql server and vb

checking the users permissions within sql server (article from http://www.winnetmag.com/SQLServer/Article/ArticleID/20176/20176.html)

How do I get the current user’s effective permissions?

If you want to check whether the current user has a certain statement, object, or column permission, you can use the PERMISSIONS() function. The PERMISSIONS() function gives you the effective permissions that result from NT groups, server roles, and the user’s database role membership as well as explicit permissions granted to that user.

You can invoke the PERMISSIONS() function with no arguments to check statement permissions, with an object ID to check object permissions, or with both an object ID and a column name to check column permissions. The function returns an integer with a bitmap that contains the effective permissions. SQL Server Books Online (BOL) provides a detailed explanation about how to use this function and which bits represent which permissions. Listing 5 contains a few examples that demonstrate how to use the PERMISSIONS() function.


You can use the ListDatabasePermissions Method of the user object (all done through sql-dmo) to enumerate the users permissions.  See this link for more info (it's in C, but I think you can manage).


Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now