1. | You’ve been tasked with writing a standard for package security. You were able to gather the following background information: packages will be deployed to the file system, only sensitive data within the packages needs to be secured, and packages might be executed by multiple users. Which security option would you select from the following?
|
|
2. | Your packages need to be able to resume at the point they failed. Select all of the options that need to be enabled.
|
|
3. | You’re trying to set up a checkpoint on a conditional split, but you can’t find the properties you need. What is the most likely problem?
|
|
4. | Which two of the following are valid techniques for scheduling execution of an SSIS package?
|
|
5. | You’ve been tasked with selecting a security mechanism that will allow your company to guarantee that you can detect whether a deployed package has changed. Which one of the following options would be the best solution?
|
|
6. | You have a package that has checkpoints enabled. You have a production package that failed last night that you want to run from step 1 rather than from the checkpoint. Which of the following is the best way to achieve that?
|
|
7. | What action do you need to take to create a deployment manifest?
|
|
8. | Package configurations can be stored in which of the following ways? (Choose five.)
|
|
9. | Which of the following items can be changed using the Execute Package Utility?
|
|
10. | You need to process all the files in a folder with the extension of .csv. For each file you process, you will need to look up the correct city name based on the ZIP code and then write the results to a file that will be used by a different SSIS package. Which of the following would best accomplish that?
|
|
11. | Your manager has asked you to integrate some existing DTS packages into a new project you’ll be starting on. Which of the following would be the best way to proceed, given that you are on a tight deadline?
|
|
12. | A number of tasks can start with Transfer: Transfer Logins, Transfer Jobs, and Transfer Databases. What are these tasks most commonly used for?
|
|
13. | If you were working on a package that would access SQL Server only and needed to add a column to the data set, which of the following options would work? (Choose two.)
|
|
14. | A co-worker has completed a package and sent to you for deployment. The files include new-employees.dtsconfig, newemployees.SSISDeploymentManifest, and newemployees.dtsx. Based on those files, which of the following are true? (Choose three.)
|
|
15. | Which of the following will make it easier for someone else to maintain a package you created?
|
|
16. | A new employee has asked you to give him a very high-level overview of the differences between DTS and SSIS because he has some experience with DTS. Which of the following statements would help him understand? (Choose four.)
|
|
17. | Which control lets you send its output to more than one destination?
|
|
18. | A talented co-worker has written some script for you that has been placed into a Script task that you have added to your package, but now the package is failing. Which of the following debugging steps listed are worth trying? (Choose two.)
|
|
19. | Your manager has asked you to schedule a package to run once per day and to automatically notify her if the package fails. All packages at your company are stored in SQL Server and executed by the SQL Agent. What would be the easiest way to notify her of a failure?
|
|
20. | You have selected the Rely on Server Storage for Encryption option for security. Which of the following are true? (Choose three.)
|
|
Answers
1. | D. Option A would not help because it would remove all the sensitive data that would most likely be needed to execute the package. Options C and E would work only for the user that saved the package, and option F does not work for the file system. That leaves you with options B and D, with D being the better choice in this case because you want to encrypt only the sensitive portions of the package. |
2. | A, F, H. For checkpoints to work, you need to set a CheckPointFileName property (it’s blank by default), set SaveCheckPoint to true, and set CheckPointUsage to IfExists. Combined, they tell SSIS that the checkpoint is enabled and to use the file if it is present on disk. Checkpoint files can be named anything, but an .xml extension is common. |
3. | C. This is one to watch out for: checkpoints work only in the control flow. If you want to have checkpoints in the data flow, break up the data flow into two or more different data flows, which allows you to put a checkpoint between them on the control flow. |
4. | B, E. There are only two standard ways to schedule a job of any kind-using SQL Agent or using Task Scheduler. Neither the deployment wizard nor DTExec.exe allows you to set a schedule. |
5. | D. Digital signatures when combined with setting the verification option of the package to require them are the only guaranteed way to detect whether a package has changed. Note that you could certainly do a diff between two versions of a DTSX file to see any changes, but that would not enforce the rule that it cannot run if changed. |
6. | D. Deleting the checkpoint file is the best way because it requires no changes to the package, which is handy if it was built with a digital signature, for example; however, even without that change, the package introduces the chance that once you’ve recovered from the problem, you might not restore the package to its original state. |
7. | C. Deployment manifests are not created by default; you have to enable them by setting the CreateDeploymentUtility property to True. Changing the deployment path would change where you would find the manifest, but it doesn’t control whether it’s created. |
8. | A, B, C, D, E. You get a rich set of options for saving package configurations. Configurations sit outside the package so that you can change them, or they swap between two or more configurations, without actually changing the code flow in the package. There is no option to store the configuration inside the package, and there is no option called MS.Config. |
9. | E. The Execute Package Utility lets you manage configurations, connection managers (directly, without even needing to set up a configuration), verification options such as requiring the digital signature to match, and logging. |
10. | A. The ForEach loop container is the best choice because it natively supports processing the file system, and then in the data flow you need a Flat File source, a lookup task (to get the city name), and a Raw File destination. Raw files are a native format used by SSIS that avoids the logging overhead of writing staging data to a SQL Server table. |
11. | C. The best and quickest way is via the Execute Package task. SSIS can execute DTS packages without any changes (but remember you can modify them only if you have a SQL Server 2000 instance installed or you installed the designer separately). |
12. | D. It is certainly possible to use them for automating installs (or more accurately, post-install configuration), but the most common use is for maintenance plans generated by the Maintenance Plan Wizard. This is a big change from SQL Server 2000, and this finally gives the DBA a chance to truly customize maintenance plans without having to write entirely custom solutions. |
13. | C, D. It’s usually going to be faster and cleaner to create the derived column in your SELECT statement, but it’s certainly valid to do it with the Derived Column transform. Import and Export Columns transforms are specialized transforms that work with files that are associated with rows of data. |
14. | A, C, E. Configuration files typically have the .dtsconfig extension (but you could use something different), and manifests have the SSISDeploymentManifest extension. All three types (configuration, manifest, and package definition) are stored on disk as XML files. There is no DTS compatibility mode. |
15. | A, E. Documenting how and why a package works is the best way to make it easier for someone else to maintain a package. In SSIS, you best accomplish this by renaming tasks and transforms and adding text annotations. Transactions and checkpoints should be when used if the project requires them but do not directly help another person understand the implementation of the package. |
16. | A, D, E, H. A key part of upgrading to SQL Server 2005 is that very little breaks; in particular, you know that DTS packages will continue to execute as before. A big change was splitting the DTS functionality of Enterprise Manager into multiple applications: BIDS, SSMS, and DTExec.exe. It’s all XML now, with no saving to language files of any type. And finally, there is no requirement to load Enterprise Manager to edit DTS (but you do need either a SQL Server 2000 instance or the DTS Designer installed). |
17. | C. The Multicast transform is the unusual one; the other transforms have one output. Although it’s not part of the question, remember that the Union All transform takes multiple inputs (but has a single output). |
18. | A, B. If you can do it and still have a working package, option A is the quickest way to prove the problem is in the Script task. Answer B will work but assumes that it was the talented co-worker who erred rather than you! Using the breakpoint in the Visual Studio environment should take you to the exact point of the problem. |
19. | C. You could use a Send Mail task, but you would have to make it conditional on something to work only on failure-so either an error generated from the task or transform or a value you could look up. Building a second job would be a lot more work and not as good as just relying on the built-in functionality of the SQL Agent (which can always notify, notify on success, or notify on failure). |
20. | C, D, F. Server storage is not usually encrypted. Instead, you secure it with SQL permissions, and the default settings use the built-in roles (db_dtsadmin, db_dtsoperator), but you can build other roles if needed. Option F is correct but doesn’t really apply here since you know you’re not storing packages in the file system. Option E is incorrect because there is not a role called db_dtsexecute |