Report Manager Permissions - sql-server

Is there any permission in Report Manager by which my manager can view the report definition i.e. can view the SQL Query but cannot edit it and save/publish it on the server?
I am using Report Builder 3 and SQL Server 2008 R2

Maybe this will help you..
When you give a user an access to the report server you have to specify the permission he will get.
When you add new Role for a user you have a list of roles, the one which fits to your need named "Report Builder". This permission gives the user to view the report definitions.
It means that the user will be able to open the report with report builder but not save it back to the report server
See screenshot

Related

SSRS Report run in Chrome isn't using Windows credentials

Our setup:
Server A is where the database lies that holds the report information.
Server B is where the report is saved.
The report uses a stored procedure that grabs data from the DB on Server A.
The report was designed with Microsoft SQL Server Report Builder (15.0.900.71).
The report's data source is set to use Windows credentials.
Users connect to a database by an AD group (lets call it the "everyone" group) for basic report reading. So even though we haven't created a login/user for each employee on the server/DB, this group should be handling that.
For the server, I gave the "everyone" group the public server role and for the user mapping I selected the option for the DB and gave it db_datareader and public roles.
For the securables I inserted the server name and selected the option for "Connect SQL".
For the DB,I gave this group the role db_datareader. I didn't give any securables or extended properties for this user.
I can't think of a time when we had this issue with a previous version of Report Builder (version 10.50.1600.1) and this is the only report that is giving this issue. Chrome keeps giving this error to the end user:
An error has occurred during report processing. (rsProcessingAborted)
Cannot create a connection to data source 'SQL01'.
(rsErrorOpeningConnection) Login failed for user 'NT
AUTHORITY\ANONYMOUS LOGON'.
It seems as though when making the report using the new version of Report Builder it isn't correctly passing the user's credentials. Is there something different that needs to be done for this new version of Report Builder or am I doing something wrong elsewhere?

Who created a database in my SQL Server instance?

I'm trying to determine who created a database in my SQL Server instance. The .trc logs seem to have been purged and I can't locate a backup of them. I know when the database was created and have found the .bak file that was used to create the database, but I can't determine WHO created it.
Any other ideas how I can figure this out? (SSMS schema history report also doesn't go back far enough)
Based on the following article:
There is no dbo concept for server scope securables. They are always owned by the login that created them, no matter of any server roles that the login might be a member of.
So by default, the database owner is the one who created the database, but you have to make sure that no one changed this property:
To check the database owner, in SQL Server management studio, Right click on the database and in the Properties window >> General Tab >> check the owner property:

Gain access to SQL Server instance to be able to set up a user that can subscribe to reports in SSRS

I have a SQL Server instance that has been in place with our company for several years. There is an SSRS site (and reporting database) associated with it where you can run reports from. We now want to be able to Subscribe to reports from that SSRS site.
In order to do so, we need to create a data source that has stored credentials that can run the report. Those credentials need to be set up in the SSRS database I believe. Unfortunately we don't have access to the database to do so.
How can we get a report subscribed in this situation?
You should be able to do this using only the Report Manager interface.
Go to the data source for the report and check the option for "Credentials stored securely on the report server" and supply the 'User name' and 'Password'.

deployment of adventureworks cube fails: 'user does not have permission to create a new object in 'GARY-PC' or the object does not exist

when I deploy adventure works cube it fails, and i get: user does not have permission to create a new object in 'GARY-PC', or the object does not exist.
trying to process cube from adventureworks DW and having what seem like permissions issues (?).
took following steps (i am using sql server 2008 R2 developer edition and VS 2008):
1 downloaded and successfully created adventureworksDW (2008R2) database from
2 successfully created Datasource and DSV for a cube with 2 fact tables and several dimensions.
3 Click deploy
I see the following 2 prompts
Login: greyed out, can’t type anything here
the password is required for the impersonation account of data source Adventure Works DW.
Now, Whether I enter a password or not, I get:
Error 3 Either the 'Gary-PC\Gary' user does not have permission to create a new object in 'GARY-PC', or the object does not exist. 0 0
what objects is SSAS trying to create? are these objects in the relational database?
You have to add your user account as an administrator in the Analysis Services portion of the SQL server.
For some reason the database and the analysis services portion of the server do not share login information. The user you run Visual Studio under needs to have administrative access to the Analysis Services engine; this is the reason running as administrator works. The account you use to access the Database Engine is arbitrary.
Right-click on the SQL Server Management Studio icon and then select "Run as Administrator"
Select "Analysis Services" from the "Server type:" drop-down list in the "Connect to Server" dialog box, then click connect.
Right-click on the localhost definition in the Object Explorer panel and select Properties.
Click on Security in the left panel of the Analysis Server Properties.
Click the Add... button and type your user name and click the Check Names button to make sure you typed it right. Then click OK.
Click OK.
Note: This may not the most secure solution, but it enables not running Visual Studio as administrator every time and possibly opening up yourself to attack.
The Error message is:
"domain\user does not have permission to alter object 'mf20'..................."
I gone through the work around and found the solution as below:
Open Services, go to Analysis services--->right click on it -->
Properties-->LogOn --> select This Account -->give server and your
user name here. confirm it is your user, click ok.
Stop the service and again start the service. check the service Log On As in your user name.
That's it. save your cube in BIDS and close and reopen the cube, then deploy the cube. it will deploy and process it.
I hope this will help.
I had the same exact issue, but I was using the Adventure Works DW 2012. The problem is not on the database end but how your trying to deploy. When you run BIDS (or SQL Data Tools 2012 or Visual Studio 2010) use the "Run as Administrator" menu option. It will then ask you to authenticate, but the authentication should be accepted.
The user account you're using to deploy the SSAS database must have appropriate access to the SSAS instance in order to create the database and objects inside. Since this is a dev-setup, you could try adding your user account to the Server Admins.
In SSMS, log into the SSAS instance and right click on it (in the object explorer) and select properties. The last option in the left-pane is security and here is where you can add admin users.
are you talking about the " impersonation information" tab when you double click on the data source ? You should set it to "use service account"
In BIDS Solution Explorer → select the (in my case xx=08) Data Source and double-click on it. From the Data Source Designer screen click on the “Impersonation Information” tab, and enter the username and password of the user who has access for that remote data base or data source, and click OK.

Created a new database on SQL Server, can't be seen by web apps because permissions aren't set

So I created a new database on my SQL Server box and then added an ODBC entry so my ASP code knows what it is. Now I am getting this error:
Cannot open database "DB_NAME" requested by the login. The login failed.
I checked out the permissions by right clicking the db in Management Studio and checked permissions and low and behold it is empty.
I am just trying to duplicate the permissions of one of any of the other twenty or so databases sitting on the box. Is there a quick way to do this? Either way I just need to open up the lines of communication between my ASP code and my SQL Server db
Here is my connect code in ASP:
Set sqlConnection = Server.CreateObject("ADODB.CONNECTION")
sqlConnection.Open "DB_NAME"
Is there some reason to avoid using a proper connection string:-
sqlConnection.Open "Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=DB_NAME;User Id=myUsername;Password=myPassword;"
On top of what John said, when you create a new database, you have to map the login (either SQL login or Windows login from Application Pool) to this database. You can use management studio to do this - open login properties and map it to the new database. Open Object Explorer, then click Security, Logins and rightclick login that is used by your application. Select Properties. Click User Mapping and add appropriate entry for your database in the grid you will see.
The other option is to run statement to create user within the database:
Use DB_NAME
go
create user [web_user] from login [web_login]
go
Another question is to see what rights have to be assigned to the user in the database. You have to check users permissions in one of the existing databases. Again in Object Explorer, click your existing database, then Security, Users and rightclick Properties of the user that you want to check. Observe information displayed on the dialog box in the General tab and check if there are any Securables assigned to the user. You have to copy these settings to the user in your new database.
HTH
Piotr
Try adding the user id and password into your connection string.

Resources