SSIS Project Deployment Model: How to find a specific object (SqlServer2012) - ssis-2012

I'm having an issue related to find all references for one column used in my project, which has over 25 SSIS Packages (.dtsx files). The problem started when I had to change the structure for several columns from varchar(xxx) to varchar (yyy) and those columns not only existed on actual databases but also could been found in many statements (as temporary tables), spread out to all existing packages (hope It makes sense). All I need is to find at least what .dtsx package has in it those columns (as in one .dtsx package I have lots of objects).
I was able to find something here on this topic, but is for SQL 2010 and I cannot apply it to my server.
Any hints on how to find lets say all objects where the column "ColumnA" is referenced, in one SSIS Project ?
Many thanks in advance,

Right click on a package (not project!) name, click view code. CTRL+F and enter the name of your column. Search the entire solution.

Related

Managing Database Code Reviews in TFS

I am currently faced with a situation where I am working in a TFS repository that has a large source control folder dedicated to the database. There are sub folders for various database objects like tables, stored procedures, functions, etc. Right now our team is expected to create a DB code review task each time we check in a database change against one of these objects. Over the past couple months I have had somewhere between 40-50 check ins touching various database objects. The problem is that this is not really efficient because a material percentage of these check ins and subsequent reviews become a waste of time because chronologically later check ins make that code obsolete. I am just one dev on an 8-10 person team too, those poor DBA's!
I have what I think would be a working solution but I don't think it's possible to get this data out of the UI (at least in TFS 2012) and I'm not sure how to even begin a query to get it (assuming they will even give me access to the tfs db).
What I would like to get is a result set including all modified files within a specific source control folder and sub folders between two dates. I would then like to be able to get the id of the changeset that was in effect at the beginning date and the changeset id that was in effect at the end of that date.
The table would hopefully look something like this:
File1 - BeginningChangesetID - EndingChangesetID
File2 - BeginningChangesetID - EndingChangesetID
This way we could structure our DB code reviews such that we can provide a file name, the beginning changeset and the ending changeset. This would allow the DBA to pop open source control, navigate to the file, right click and compare those two versions of the file and then be able to provide meaningful feedback on code that is relevant. If anyone has any recommendations on how to extract this information from TFS it would be much appreciated! Sample queries would also be great. If this data is retrievable through the UI in a version later than 2012, I'm looking for that as well.
If you right-click a folder in the source control explorer you have the option to diff the folder. In the Diff window you can select the version of the folder to compare on both sides.
Set the source to:
$/Project/Folder
[SERVER]
Version: date
Set the target to:
$/Project/Folder
[Server]
Version; another date
You can configure what to show, it seems you're interested in: most options, in source, in target, changed.
You can achieve the same thing from the commandline:
tf vc folderdiff $/Project/folder;D"2017-01-01" $/project/folder;D"2017-02-01"
/recursive /view:different,sourceonly,targetonly

Entities cannot be found after update edmx file

For the project I am working on, we have updated the database with two extra datatables that I now would like to add to the edmx file, but this gives an unwanted result.
What I do is open the edmx file, open the model Browser and run Update form database. In the wizard here I choose the two tables I want to add under the add tab and click finish.
The tables show up in the diagram view and in the Model browser under Model.Store-Tables/Views (and under Entity Types and EntityContainer). So far so good.
When I then save the changes to the edmx, all other existing entities,as well as the complete content of the Model.Context.tt file are deleted. The result being that the context entity and all underlying entities no longer can be found.
I do not understand why this is happening, and I don't know how to fix this and I am now stuck in the development of the project. i am using VS2015 and Entity Framework 6. I have spend most of the day to find a solution, but have not been able to do so. None of the "Entity can't be found" solutions around fixed my problem. I hope therefor that some smart minds here can help.
Thans!

How do I convert my flat list to a tree list when trying to bulk import from Excel 2013 to TFS?

I've got a lot of product backlog items that I want to load into TFS. We've already got most of these defined in an Excel spreadsheet, so I thought that bulk importing from Excel to TFS as described here would be the best way to go.
If I just wanted a flat list, I'd be fine. Excel 2013 is a bit different than the screenshots in that article, but it worked pretty much the same. I went to the TEAM menu option and selected a new list, and then built the list from my selected query. I got a screen with my existing work items that looked like this:
According to the article I linked above, if I want to be able to add sub-tasks I need to convert the flat list to a tree list. I'm supposed to do this "by adding a tree level." However, here's the problem with that:
I've tried clicking in various cells in case something needs to be selected to "enable" this option, but my blind clicking has yielded no luck. Am I just terrible at following instructions, or does Excel 2013 have some quirk that I need to work around?
What do I need to do to enable this so that I can bulk import sub-tasks?
The Work Item Query you select needs to be a tree-based query. I'm guessing the WI Query you are selecting is a flat-list, that's why those features aren't lighting up in Excel.
To build off of Dylan Smith's answer, here's how to get your Work Item Query into a tree-based form (so you can add a tree level). This works with Team Foundation Server 2012 and higher.
Here is where to go within TFS 2012. Using the web interface, you should navigate to the query you want to load into Excel. From there, go to the 'Editor' section of the query, then there you can change the type of query to be "Tree of Work Items".
With that done, you can now load the list into Excel (using the Team tab, as described elsewhere). You can then Add Tree Levels, Add Child, etc.

What would be the best way to migrate work items from TFS 2010 to JIRA?

I am in the process of evaluating JIRA as a replacement to TFS 2010.
I know that JIRA has the capability to import from CSV but cannot figure out how to export fields like the History fields from TFS to a spreadsheet.
Any recommendations / tools would be highly appreciated.
I don't think there is an easy way to do what you want.
I am thinking you would need to make your own tool using the TFS API. I don't know if JIRA has an API to do the inserting, but TFS's api is fairly good. You could easily get that data out.
For "How To" on the TFS API I usually look to Shai Raitan's TFS API blog posts.
I do custom migrations from all sorts of databases (ClearQuest, TeamTrack, Remedy) into JIRA. It takes about a week to do the job so it isn't cheap but if you have a lot of data and want more information than the standard importers provide, it's one way to go. The CSV importer probably won't do what you want.
Have a look at Appfire's Enterprise Migration Utility. It migrates TFS to JIRA, amongst others.
Simple enough, create a Query that has all your work items, click on the icon to open in Excel,
Save the Excel file as CSV.
done.
Here's what worked for me (sorry about the formatting; it was a .docx):
For every TFS Server:
Create a query by using Iteration Path for all Product Backlog Items and Bugs for every Product and/or every Scrum Team.
A single query can be used for all projects/products by altering the iteration path(s)
Format the results in TFS by selecting the appropriate columns.
Save the query, run it, and open it in Excel an .xlsx file with the word RAW included (for example, XXXX_ALL_WIs_RAW.xlsx).
Using the same file, select Save As… to create and save an excel .csv file.
Note that not all columns/mappings will be used on all projects. Delete unnecessary columns, and change column headings as needed.
The TFS columns/fields, and the Jira fields (some custom) to which they are mapped, for me were:
Iteration Path maps to Scrum Team
ID maps to Legacy ID
Work Item Type maps to Issue Type
Title maps to Summary
Description maps to Description
Acceptance Criteria maps to Acceptance Criteria
Assigned To maps to Assignee (Users must exist in Jira for this to work!)
SubCategory maps to Component/s
Effort maps to Story Points
Severity maps to Priority
Case Number maps to Case ID
Client Name maps to Customer
Platform maps to Environment
Once the .csv has been modified, use File/Check for Issues/Inspect document to determine if modification are required so the inspection results yield no issues.
Save the clean .csv as _CLEAN (for example, XXXX_ALL_WIs_CLEAN.csv).
Rename spreadsheet headers for import to appropriate Jira field names.
Field modifications:
If the work item Acceptance Criteria field has nothing in it, enter “No Acceptance Criteria in the original TFS work item” on the csv.
If the work item Description field has nothing in it, enter “No Description in the original TFS work item” on the csv.
Bugs – Severity must be converted to a number (1 through 5).
Change column headings on the .csv to match the Jira field names, as defined above in 2d.
Clean/Inspect the .csv
If necessary, increase the advanced setting jira.bulk.create.max.issues.per.import in Jira appropriately to handle the number of items being imported (there is a 250 item import limit by default).
In Jira, at the Site Admin Level – Create new Jira projects based on individual products (NOT projects!)
Create or add users that will be used in the various projects.
In Jira, at the Site Admin level – Create Custom Fields as needed
Associate new and existing custom fields to appropriate project screens, and update.
In Jira, at the Site Admin Level – Re-index DB
At the Project level – Create components for the product by using subcategory from TFS. (Can be assigned to Component Lead)
You should now be ready for import into Jira.
Test Case Migration from TFS to Jira/Zephyr if you need it:
Test case migration is a 2-part process.
The first part will get the test cases from TFS, and create and format an Excel spreadsheet containing the data that will then be imported into Jira (Zephyr).
The second part of the process will use a Java tool to import the data from the spreadsheet created in Part 1 of the process.
Part 1 – Test Case Export
Install TCExport (Used to create the Excel spreadsheet that will be used to import the test cases into Zephyr).
When mapping fields while using the .jar tool, use the Excel column letter.
Part 2 – Test Case Import
1. Download the import utility zfj-importer-utility-0.38.jar
This utility can be run by double-clicking the file in most environments. To launch the utility double-click the .jar file or run through the command prompt as: java -jar .
Detailed instructions for using the utility can be found here: https://www.getzephyr.com/insights/getting-started-zephyr-jira-importer-utility

Corrupted TFS project

I'm banging my head for several hours but couldn't find the solution on my problem. I have a team project collection. one of the project in collection is corrupted probably. It doesn't show up either in Team Explorer nor in TFS Administrator. but I can see that project in Source Control Explorer from VS. I tried TFSDeleteProject but it says:
TF200016: The following project does not exist:........
I can't create a team project with same name, nor I can delete it.
I looked at the database and there are entries about the corrupt project in many tables. Any idea how to remove it? maybe with the help of some SPs? I tried DeleteProject stored procedure, it didn't show an error, but it also didn't delete the project.
thanks.
Have you tried simply deleting it from source control?
TFS is comprised of several components (issue tracker, reports, source control, etc.), which, although typically used together, can also function individually. A file/folder in source control that does not belong to any project is thus possible. I don't know if you can create this situation manually, but it could result from a bug.
You need to use tfsdeleteproject to remove this.
The DB isn't corrupt, you cannot delete Team Project level source control folders through the UI.
tfsdeleteproject /collection:<url> <teamproject|srcfoldername>
You can always get the collection url by selecting the collection node in Team Explorer and hitting F4 to view the properties pane. Copy/paste the url. The Source Control folder you are trying to delete is likely the same as your Team project name.

Resources