Cloning the Existing Project in SQL Server - sql-server

Here is the description of the situation:
I have a reload Job that takes data
the reload Job loads the new data every day in the morning in SQL Server Database
When the new data is in the tables, the job processes 3 Cubes (Mgmt, Team, and Project cube)
In regard to 3 cubes, 3 roles have been defined: Mgmt_Reader, Project_Reader, and Box_Reader, respectively.
Here is the request - department manager wants to "clone" the project for his department.
My question is - what would be smart to do:
Maybe on the lower level in the reload Job include the data for the both departments.
In the next phase no changes are made - when the reload job loads the Database on SQL Server
Would than be possible to make another 3 Roles (6 overall) for the department manager? And would then be possible to make the corresponding restrictions, so that he can see only the data relevant to his department?
If yes, I ask kindly for feedback, how I can do it?
Or, do you know an approach that is more elegant, that the suggested one?
Thanks in advance!

Related

Laravel Database How to Setup Jobsheets With Jobs In Database

I am looking for some advice please as to the best way to configure my laravel database.
The Software is for a Garage who fix cars etc. The Garage Admin will raise a new job on the system, then Engineers will be assigned the job.
Once an Engineer views the job he can open a job sheet. There are 3 different kinds of job sheets to choose.
The engineer will choose a job sheet (which is a checklist) and save the job sheet to the job. He then can open a different job sheet with a different set of questions (which is another checklist) and save that second job sheet to the same job. etc.
My issue is how to create in the database the job_sheet lists.
Do I create one migration with all questions from all sheets on one table with a job_sheet_type to categorise them?
Or do I create 3 separate tables in the database one for each sheet with a relation to the job_id?
I know this may seem very trivial, I am just trying to ensure I do this the best and most optimal way possible.
Please feel free to ask for further information and I can explain more. Thank you.

How to update an already published database?

I have a web application that has an SQL database.
For clarity I'm using Asp.Net 4.0/c#/SQL Server 2008 Web edition.
I recently puclished the site, which was my first, by creating a deployment package for the database.
Now a couple of months down the line, I need to update the database structure. The web application now has data that has been entered via the web, so i'll need to update the structure, then copy data across.
As this is the first time I've done it, I'm unsure of the process I should follow - is there a standard practice for this kind of update?
Also, since some of the tables use incremental ID's I need to ensure they remain the same in the newly updated database.
Any tips, links, advice appreciated.
Important Guidelines:
I assume you have not changed structure entirely (means keys column are same though solution is around for that too)
Steps are as follows:
Take export of the database
Add or remove the columns or whatever changes you want
Import the database back
Check the log for rows/tables (if some) were not updated successfully
Make SQL queries for them and run them to sync
Here are some general steps for this:
Take backup of your online database and restore it locally
Modify local database to suite your needs
Use third party comparison and synchronization tool to publish changes to your production database
There are many of these available and you can use them in trial mode to get the job done if you’re on a tight budget. You can try tools from Red Gate, ApexSQL, Idera, Dev Art and others…

Displaying Reports on SharePoint

First of all, I must say that I'm new to this. I'm a 3rd year ICT & Business student and an intern in a international company. My assignment is to create a reporting service on the company's intranet (SharePoint).
The company wants to have a section on the intranet where only managers can access. To give you an idea, lets say one of the managers wants a report like this:
"Show the names of the male interns who worked between 2012 – 2013".
And lets say the interface on the intranet is going to be like the image below.
http://i.imgur.com/eBZXP8t.jpg
Once the manager fills in the required fields and presses the button;
1.SharePoint is going to create the query,
2.SharePoint is going to ask for the data which is stored in the SQL Server,
3.SQL Server is going to send the data to SharePoint,
4.SharePoint is going to create an Excel File.
In order to achieve such a reporting system, where and how do you suggest me to start? Any links, guides etc. would be much appretiated. Even a general response would help me to understand the basics.
NOTE: Our IT department will handle the connections between the SharePoint and SQL server. I don't have to worry about that. All I need is to find out how you create a query on Sharepoint which will connect to SQL server and ask for data and display it on SharePoint (or Excel in this case).
Thanks in advance.
If you're not already, you need to use SharePoint Designer.
Create a new site in SharePoint. You'll need to manage the permissions as to prevent non-management from accessing the new site.
Open the new site in SP Designer. Bring up the Data Source Library (Data View > Manage Data Sources). There you can 'Connect to a database...'. I can't help you there. For this you'll need the DB connection string and you'll have to design a query that gets a super set of interns (to your example). You can then use filters to extract the specific intern. This also will take some exploring on your part.
You may be able to customize the SQL query using form elements but I haven't seen that done before. Typically the DB connection pulls down a data table and that is consumed by the web parts on the page.
Hope this at least gets you started...

Database sharing/versioning

I have a question but I'm not sure of the word to use.
My problem: I have an application using a database to stock information. The database can ben in access (local) or in a server (SQL Server or Oracle). We support these 3 kind of database. We want to give the possibility to the user to do what I think we can call versioning.
Let me explain : We have a database 1. This is the master. We want to be able to create a database 2 that will be the same thing as database 1 but we can give it to someone else.
They each work on each other side, adding, modifying and deleting records on this very complex database. After that, we want the database 1 to include the change from database 2, but with the possibility to dismiss some of the change.
For you information, ou application is already multiuser so why don't we just use this multi-user and forget about this versionning? It's because sometimes, we need to give a copy of the database to another company on another site and they can't connect on our server. They work on their side and then, we want to merge.
Is there anyone here with experience with this type of requirement? We have a lot of ideas but most of them require a LOT of work, massive modification to the database or to the existing queries.
This is a 2 millions and growing C++ app, so rewriting it is not possible!
Thanks for any ideas that you may give us!
J-F
The term you are looking for is Database Replication. You can google that to get more information about the topic (my personal experience is limited).
This was already done by ical (an old SunOS calendar app).
What you store/remember/transmit when the app makes the changes is not just the database contents, but the actual change log (e.g. "delete record with ID 1", "update record with ID 2 with these fields", "insert record with these fields")
That way you can apply these changes to master DB later on, AND to filter them before applying

SQL Server Object Organisation

I'm not sure if this is valid, however I have a bug bear with SQL Server, and that is that I cannot organise objects in to a group of objects.
Imagine I'm working on a new section of work in a large database and I perhaps have 15 objects that I will be regularly using. What I want to do is sort of "Favourite" them in to a folder so that I don't have to trawl through all objects in my databases.
I know I could organise objects by schema, however these objects aren't necessarily schema specific, they cross boundaries.
Has anyone come across a method for organising objects in to a favourites group? I know SQL Server Projects organise scripts, but I can't see that they can organises tables?
Thanks
You can't do that with the native tools (SQL Server Management Studio) but there's a workaround: create a new empty database with those 15 tables - just the schema, not the data. Then when you're writing T-SQL code, you can quickly drag and drop elements out of those tables into your code.
The downside is that changes made in the real database won't be reflected in your working database, but you can automate that with a script to pull out the objects you need and recreate them in your working database. You can run that as often as you like (like every X hours, or as a SQL Agent job that runs when your local dev server starts up) without losing data, since you won't be modifying the structure in your "favorites" database.
I know I'm really late to the party, but the question showed up on the right under "Related" and I was curious enough to look.
There is a free add-in for Management Studio that seems to do exactly what you're asking:
http://www.sqltreeo.com/wp/dowload-free-ssms-add-in-to-create-own-folder-for-database-objects/
There is also a $65 commercial add-in which you may want to try as well. I haven't tried either so I'm not sure how well they work or what the paid version offers over the free add-in (if anything).
http://www.skilledsoftware.com/
Also can't hurt to vote for this Connect item and add a comment describing your business use case. While you may find it discouraging that it's been closed as Won't Fix, that is not necessarily a permanent decision:
http://connect.microsoft.com/SQLServer/feedback/details/209340

Resources