Learn SQL and database management at SQLYoga for articles, tutorials, and tips to improve your skills and streamline data operations. Join our community!
March 26, 2009
SQL SERVER: How much space occupied by Each Table with sp_MSforeachtable procedure
For example, How much space occupied by each table.
I found undocumented Procedure: sp_MSforEachTable in the master database.
The following script reports the space used and allocated for every table in the database.
USE AdventureWorks;
EXECUTE sp_MSforeachtable 'sp_spaceused [?]'
So, We can use sp_MSforeachtable procedure when we need to loop through each table.
Let me know if it helps you in any way.
March 22, 2009
SQL SERVER: Unable to Launch Activity Monitor. How to add VIEW SERVER STATE Permissions to launch Activity Monitor
Activity Monitor, is used view to current executing queries, Query status, Start Time, Host, Blocking or not, Database etc. Last week, one of my developer has one issue. When he try to open Activity Monitor, System gives the following Error: I found that this user need to get VIEW STATE Permissions, Lets see how to give this permission to the user. We can give permission to user by this two ways: 1. T-SQL: GRANT VIEW SERVER STATE TO YourLogin 2. GUI: Step 1: Right mouse click the SQL Server and go to Properties. You need to give GRANT to “View server State’ for that user. |
March 20, 2009
SQL SERVER: How to enable 'Ad Hoc Distributed Queries' SQL SERVER 2005
Frequently, we need to use OPENROWSET queries to connect to remote database servers. To enable this feature on SQL Server 2005, you should first configure the database to enable Ad Hoc Distributed Queries. We can Enable this feature by two ways: 1. SQL Server Surface Area Configuration. 2. by sp_configure option. Lets check with first way, by SQL Server Surface Area Configuration. Open surface Area configuration, you will get this screen:
Click on second option, Surface Areas Configuration for Features. you will get this screen, where you need to check to Enable OPENROWSET and OPENDATASOURCE support.
Lets see second option to enable this feature with sp_configure option: sp_configure If you run this command, you will lists of SQL configuration settings. There are 14 items in the list in which 'Ad Hoc Distributed Queries' is not exist. To see this, we need to enable the 'show advanced options' configuration parameter. You can enable advance options by: sp_configure 'show advanced options',1 When we run this command we will get this message: “Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install.” so we need to execute reconfigure command as: reconfigure so now if we run sp_configure again, we will get result set as follows: Here, we can find that config_value for “Ad Hoc Distributed Queries” is “0”. We need to set it to 1 to enable this feature. so to do that we need to use following: sp_configure 'Ad Hoc Distributed Queries',1 so, now if we run sp_configure, we will get result as follows: Here, we can find that now config_value for “Ad Hoc Distributed Queries” is “1”. That’s it, now you can use OPENROWSET and OPENDATASOURCE to connect with remote database without Linked server. Let me know if it helps you in any way. |
March 19, 2009
SQL SERVER: Find Duplicate Rows with Row_Number() SQL SERVER 2005
This is very known question to find Duplicate Rows from the Table and Delete Duplicate rows from the table I came to know about "ROW_NUMBER()" of SQL SERVER 2005. Lets see how we can use this feature: There is one Table:
INSERT some data into the table:
Now we have data like: Now, we need to Find the duplicate Rows from the table. So we need to get "A", "C" and "D". Lets see the use of Row_Number():
Output will be like: So we can Delete Duplicate Rows as we have EmpID (Primary Key) I Used: PARTITION BY: which will find same rows and assign ID accordingly. ORDER BY: In which order we want to assign ID. By Default its Ascending |