A database may consist of multiple , with each containing at least one data file. Data Files are divided into 8KB , which are part of 64KB .
The option when creating or altering a database controls how full each data page is for a database.
SQL Server 2014 can bring a database online if one of it's files is corrupted - true or false?
Within each instance of SQL Server 2014, the database contains meta data about each hosted database - and the database contains information about the instance itself.
If you want to include a stored procedure in all newly created databases, you should place this within the database.
The msdb database supports the following functions within a SQL Server 2014 instance...
SQL Server Agent
Log Shipping
SQL Server Integration Services
Backup & Restore
Customer Data
Transaction Logs
Operators & Alerts
In order to group related objects together within a database, you could create and assign them to a
How would you select all data from a table called "Employees" within a schema called "HumanResources"? ....
SELECT * FROM
You can create an alternative name for database objects, either on local or linked server instances, using a
If you regularly need to reference a table within a database on a linked server within your SQL Code, you could use a in order to avoid widespread direct references to the server (therefore creating a binding dependency) in your code.
Which of the following exist within SQL Server 2014?
Dynamic Management Objects (DMO)
Dynamic Management Views (DMV)
Dynamic Management Functions (DMF)
Dynamic Management Tables (DMT)
Dynamic Management Stored Procedures (DMP)
As a general rule of thumb, character data types requiring 5 or less bytes of data should be stored in a data type, above that, a data type should be used.
A char data type can store a maximum of characters, however an nchar data type can store a maximum of characters.
Which of the following data types can store unicode data?
char(n)
nchar(n)
nvarchar(max)
text
varchar(n)
varchar(max)
The data type can store the values 0, 1 or null.
The data type can store whole numbers between 0 and 255.
The data type can store whole numbers between -32,768 and 32,767.
The data type can store whole numbers between -2,147,483,648 and 2,147,483,647.
The data type can store whole numbers between -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
The data type can store financial values from -922,337,203,685,477.5808 to 922,337,203,685,477.5807.
The data type can store financial values between -214,748.3648 and 214,748.3647.
If you wanted to define a field which could store the value 99999.999 using a decimal data type - you would specify the scale to be the value and the precision to be the value .
SQL Server 2014 would use the same "mantissa" if you defined a fields of data type ... float(10), float(15), float(19), float (25), float(30). True or False?
An image data type can store up to GB of binary data.
If you wished to store binary database within a data type, which *could* exceed 2GB of data - you would use the data type .
The data type can represent data from January 1st, 0001 to December 31st, 9999.
The data type can stored dates between January 1st, 1753 to December 31st, 9999 accurate to the nearest 3.33 millisecond.
The (n) data type can stored dates between January 1st, 0001 to December 31st, 9999 with fractions of a second represented to n decimal places.
The data type can stored dates between January 1st, 1900 to June 6th, 2079 accurate to 1 minute.
The (n) data type stores time in Hours, Minutes, Seconds with fractions of a second represented to n decimal places.
The data type can store the value of any other system data type - except text, ntext, image, timestamp, xml, varchar(max), nvarchar(max) and varbinary(max).
The data type (synonym: ) is automatically updated whenever a row is inserted or updated.
A table can have multiple rowversion columns - true or false?
A table can have multiple timestamp columns - true or false?
A data type can be used to store a GUID.
Which statements are true regarding the functions NewSequentialID() and NewID()?
the former is technically guessable, the latter isn't.
the former is not technically guessable, the latter is
the former is faster than the latter
the latter is faster than the former
they both require a network card to be globally unique
neither require a network card to be globally unique
neither need a network card to create a GUID
SQL Server 2014 is available in which of these editions?
Standard Edition
Enterprise Edition
Business Intelligence Edition
Express Edition
Developer Edition
Web Edition
Compact Edition
Workgroup Edition
Small Business Edition
Data Centre Edition
SQL Server 2014 Standard Edition can use CPU Cores and GB of memory.
SQL Server 2014 Business Intelligence Edition can use CPU Cores and GB of memory for databases (unlimited memory for business intelligence).
SQL Server 2014 Enterprise edition can use all available cores and memory within a server - true or false?
Which SQL Server Editions support Basic Online Transactional Processing?
Which SQL Server Editions support In Memory Online Transactional Processing?
Which SQL Server Editions support Advanced Auditing and Transparent Data Encryption?
Which SQL Server 2014 Editions support Data Warehousing (ColumnStore Index, Compression, Partitioning)?
Which SQL Server 2014 Editions support Always On functionality?
SQL Server 2014 is licensed on a per-processor basis.
If your server has two CPU Sockets with 8 cores each, you would need to purchase SQL Server 2014 license packs in order to fully license it.
When licensing SQL Server 2014 - you need to license a minimum of cores for each CPU present on the server.
With a Software Assurance / Enterprise Agreement - a SQL Server 2014 Enterprise Edition may be licensed on a per-host basis - covering the maximum number of cores on the server. Once licensed in this manner, a maximum of 16 Virtual instances are permitted on the same machine.
SQL Server 2014 will perform faster running on two 1.6 GHz processors than on a single 3.2 GHz processor - true or false?
When specifying Key Storage performance for a device - it is recommended that the ❌ and ❌ are high and the ❌ is zero (or close to zero).
SQL Server specifies the set of rules regarding how data is stored, sorted and compared.
Which type of Account is recommended for running a SQL Server 2014 instance, if it requires network access?
Domain Account
Local System Account
Local Service Account
Network Service Account
Local Server Account
How should SQL Server 2014 service accounts be configured across an enterprise?
Each instance runs as a Network Service Account
Each instance runs as a Local Service Account
Each instance runs using a specially created Domain Service Account for all SQL Servers
Each instance runs using a specially created Domain Service Account per SQL Server instance
A mixture of the Network, Local and Domain Accounts depending on need
SQL Server 2014 Analysis Services can be installed in which of the following modes?
Standard Mode
Advanced Mode
OLTP Mode
Multidimensional and Data Mining Mode (UDM)
Tabular Mode
ColumnStore Mode
Which of the following are storage and processing modes in SQL Server 2014 Analysis Services UDM mode?
MOLAP
OLAP
ROLAP
HOLAP
SOLAP
ColumnStore
In Memory OLTP
Cubes
In SQL Server 2014 Analysis Services UDM mode ... is a storage and processing mechanism where aggregates are stored in a separate specialised database to a typical SQL Database - and used to answer queries instead.
In SQL Server 2014 Analysis Services UDM mode ... is a storage and processing mechanism where aggregates are calculated via query cache or directly from the relational SQL Database data source.
In SQL Server 2014 Analysis Services UDM mode ... is a storage and processing mechanism where aggregates are stored and queried partially in a separate specialised database with more detailed queries retrieved directly from the SQL Server Relational Database data source.
Analysis Services databases are column based databases that enable high levels of compression because of the reduced need to store discrete values along with advanced compression algorithms.
Analysis Services Tabular Mode supports a new approach model called the (BISM)
Which of the following Query Mode options when using Tabular Mode in Analysis Services?
QueryDirect
DirectQueryWithInMemory
Partitioned Cubes
DirectAccess
InMemoryWithDirectQuery
InMemory
DirectQuery
Which of the following Tabular Mode Query Options is similar to the MOLAP processing mode in UDM mode?
Which of the following Tabular Mode Query Options is similar to the ROLAP processing mode in UDM mode?
What does UDM mean in SQL Server Analysis Services?
Unified Development Mode
United Distribution Method
Universal Data model
Unified Development Model
Unified Dimensional Model
Universal Dimensional Model
Which of the following tools can help with 'Burning In' a new SQL Server 2014 installation?
SQLLocalDB
iisreg
SQLIOSim
IOPSStress
IOMeter
SQLLoader
Prime95
When setting the Maximum Memory available to SQL Server, this should at least GB less than the total available server memory.
The Minimum Memory setting within a SQL Server Instance is reserved when the SQL Service starts up, and never released back to the operating system whilst running.
The default size for SQL Server 2014 is 4096 bytes. If are supported by the server hardware, this should be increased to 8192 bytes in order to increase performance when the server is subject to a large number of bulk operations.
When database files are created or grow, they are zero-filled and block write operations until that task is finished. What should you do to enable Instant File Initialisation in your SQL Instance?
Set the Instant File Initialisation checkbox in Database Properties
Set the Instant File Initialisation checkbox in Server Properties
issue the command: EXEC sp_configure 'instant file initialisation', '1';
Add the SQL Server Service Account to the Administrators group on the local machine
Add the SQL Server Service Account to the Perform Volume Maintenance Tasks Local Policy
Instant File Initialisation is not a SQL Server feature
Adding multiple tempdb data files can increase performance when SQL Server utilises multiple CPUs - true or false?
As a guide, when sizing tempdb you should analyse a typical workload in a query plan to determine the rows affected in each stage of the plan - and workout the rows affected count * row size (bytes) to get a good starting size for tempdb. Which stages of the query plan are most useful for this process?
sort
hash match
spool
export
index lookup
table scan
hash
It's a good idea to turn on (or auto schedule) auto shrinking on your database in order to reclaim unused space and keep the database small and fast - true or false?
What is the preferred method of securing the SA account within a SQL Server Instance?
Nothing - by default it's secured on installation
Set a strong password
Delete the SA Account altogether and use a Domain Admin account
Set a strong password and disable the SA account
Set a strong password, disable the account - and then rename it
Rename the SA Account to something else
SQL Server 2014 when installed in the default instance, communicates on port .
Which of the following tools can be used to analyse a current server to ensure an upgrade to 2014 will run successfully to completion by performing in place analysis of databases for potential compatibility issues.
SQL Server Mangement Server
Visual Studio .NET IDE with Data Tools installed
SQL Server Upgrade Advisor
SQL Profiler
SQLDMO Object Library
SQL Server Upgrade Assistant
Which of the following should be performed as part of a pre-upgrade plan when upgrading to SQL Server 2014
Set data and log files to autogrow
Set the master and msdb databases to single user mode
Execute the command: EXEC sp_configure 'no new connections',1
Disable all startup stored procedures
Shrink tempdb so it has enough room to grow during the upgrade
Disabled Trace Flags as they may not exist in SQL Server 2014
Migrate any SQL Mail instances into Database Mail
Use the SQL Server tool to check for conditions, situations or known errors that might affect the upgrading process.
RESTORE | BACKUP { DATABASE | LOG } WITH is no longer supported.
SQL Server 2014 supports returning result sets from triggers. True of False?
SET for INSERT, UPDATE and DELETE statements has been depcrecated.
During an upgrade to SQL Server 2014 - all databases with Full-Text Catalog are marked as Full-Text - because of the potential time involved in rebuilding the catalog.
Which of the following can be upgraded, using an in place update, to SQL Server 2014 64bit Edition?
SQL Server 2005 32bit Edition
SQL Server 2005 64bit Edition
SQL Server 2008 32bit Edition
SQL Server 2008 64bit Edition
All of them
None of them
Which of the following can be upgraded, using a side-by-side upgrade, to SQL Server 2014 64bit Edition?
After upgrading to SQL Server 2014 - query performance may be poor due to outdated or unsupported statistics. In order to rectify this situation, you should call the sp_ stored procedure with the argument to rebuild the statistics based on an inherited sampling ratio.
In order to administer the SQL Server services - for example: changing the listening port for an instance - you would use the SQL Server Tool.
Which of the following communications protocols can SQL Server 2014 use?
Shared Memory
Named Pipes
TCP/IP
VIA
Bonjour
IPX/SPX
Novell
If you wish to change the startup parameters of an instance of SQL Server 2014 - you should use the SQL Server tool, access properties of the SQL Server instance and access the tab.
You can start SQL Server 2014 requesting it to use a different master database - useful if a SQL Instance won't start. How would you do this?
Use the SQL Server Repair tool to repair the master database
Rename the existing master.mdf and master.ldf files - SQL will ask where it can find a replacement master database where you can choose the appropriate files.
Start the SQL Server via the command line, in 'safe' mode, and follow on screen instructions to point to a new master database.
Start the SQL Server via the command line, using the -d and -l switches to specify the path to the replacement master mdf and ldf files.
You can use the (uppercase) switch from the command line to start SQL Server and turn on Trace flags for all connections.
Starting SQL Server 2014 from the command line, using the - switch, starts SQL Server in single-user or 'master recovery mode' enabling you to perform critical server maintenance (e.g. restore master database).
In order to instruct SQL Server 2014 to run startup stored procedures when an instance starts, you must do the following...
issue the command: EXEC sp_configure 'scan for startup procs', 1
Issue the command: EXEC sp_configure 'startup procs',1
In the SQL Server properties, set the 'Run Startup Procedures' in the 'Start Up' tab
start SQL Server from the command line with the -s switch
Startup Stored Procedures are not supported by SQL Server 2014
In order to make the following stored procedure a 'startup stored procedure' you would use the syntax...
sp_ @procname='master.dbo.MyStoredProcedure', @option='', @optionvalue='1'
When a SQL Server is not allowing new connections, or is overloaded, an administrator can connect using the (DAC) - to force a connection.
In order for an administrator to connect using the Dedicated Administrator Connection - you can connect to the server via SMSS by prefixing the server name with : - or, you can start SQL Server via the command line, using the - switch.
The Dedicated Administrator Connection, as a default, listens on port .
In order to enable the Dedicated Administrator Connection on a remote SQL Instance, you would need to set the appropriate configuration options on the remote instance as follows...
EXEC sp_configure '', 1
In order to view the Edition and version of SQL Server, any non-default configuration options, I/O and CPU statistics by type of activity - you could use the report.
Using SQL Management Studio, you can set configuration options by using the sp_ stored procedure, or use the dialog.
Typically it is recommended that you set the and amount of memory that your SQL instances use in your environment.
Setting the Maximum Worker Threads property to ensures that SQL Server chooses the optimum number of threads to enable on each processor.
Which of the following authentication mechanisms are available within SQL Server?
Kerberos Authentication
Domain Trust Authentication
Secure Token Two Factor Authentication
SQL Server Integrated Authentication
Windows Authentication
By default, sp_configure only shows / sets basic and commonly used configuration options... in order to view and adjust all configuration options, you would use the command...
sp_configure '',1
... and then issue the command
If, when setting a configuration value using sp_configure, SQL Server reports that the value is out of a recommended range - it warns the user. If you wished to proceed and force the change, regardless of the warning, you would use the command...
RECONFIGURE WITH
To view Error Logs within SQL Server Management Studio, you should right click on the node, within the folder in the Object Tree, and select View -> SQL Server and Windows Lg.
In the Log File Viewer screen in SQL Server Management Studio, you can load log files from Windows Logs - or other SQL instance logs, into one consolidated view - in order to view a unified timeline of events. True or False?
Within SQL Server Management Studio, you would use the screen to view current transactions and determine if there are blocking transactions.
Using SQL Management Studio, there is a report which details all currently blocking transactions. You can access this by right clicking upon the ❌, select ❌ - then, ❌, and then choose ❌.
Using Transact-SQL, you can see who is connected to your SQL instance with either the sp_ (or, more recently, sp_) stored procedures.
In order to see all active connections to your SQL Instance, you could use the following command....
sp_who2 ''
If you wanted to view the worst performing queries through history in your SQL Instance, you could query the following Dynamic Management View, sys.dm_exec__.
Within SQL Server Management Studio, you can administer many servers at once, issuing commands on each server simultaneously, and consolidating the results into a single result set. This is achieved by creating a Server - and creating within it.
When using a Central Management Server to manage multiple servers, all queries issued to managed servers are sent through connections. If the servers cross domains, you must have relationships between them.
When installed, SQL Server 2014 will not allow SQL Agent to run - having an 'Agent XPs disabled' tag against it in SQL Server Management Studio. In order to allow SQL Agent to start, you must issue the following command...
sp_ '', 1
are a quick and easy way to automate routine maintenance tasks in SQL Server 2014.
You can perform routine maintenance within SQL Server 2014 by using either the Maintenance Plan (the quick way) or the Maintenance Plan (the more advanced editor).
SQL Server can be used to automate tasks within SQL Server, and consists of four basic components...
: Defines the work to be done : Defines when the job will be executed : Lists the people who can be notified for job statuses and alerts : Enables you to set up an automatic response or notification
SQL Server Agent Jobs can be started by ...
attaching the job to one or more schedules
being triggered in response to one or more alerts
by executing sp_start_job
Manually via SQL Server Management Studio
All of the above
A SQL Agent Job consists of Job Steps. Which of the following types of steps can be added to a job?
ActiveX Script
Operating System Command
Powershell Script
SQL Server Analysis Services commands & queries
SQL Server SSIS Package
Transact-SQL Statements
Set Registry Entries
Server Control (Restart service)
Send an Email
SQL Server Agent can also host jobs relating to SQL Server Replication. Which of the following are valid Replication Job Steps?
Replication Distributor
Replication Merge
Replication Queue Reader
Replication Snapshot
Replication Transaction Log Reader
Replication Backup Log
Replication Flush Transaction
Replication Sync
SQL Server Agent job steps have a number of outcomes which can determine the flow of the job. Which of the following are valid outcomes for a job steps...
Quit the job, indicating success
Quit the job, with failure
Go to another job step
Retry a job step on failure, n number of times
Restart SQL Server
Restart SQL Server Agent
Place the SQL Server Agent Job into a 'suspended' state
You can organise your SQL Agent Jobs by creating and assigning a to each job. This helps when there are a large number of jobs within an instance of SQL Server.
In order to log the outcome of a SQL Agent Job Step, the step needs to be executed under a security context belonging to the role.
SQL Agent jobs support notifications when a step completes, succeeds or fails. These can trigger actions. Which of the following are permissible actions...
Send a Pager Message
Send a Net Send Message
Write to the Windows Application event log
Write to the System event log
Automatically delete the job
Send a Tweet
Restart the SQL Server Agent after retrying n times
SQL Agent Jobs can be scheduled to run under which of the following schedules...
When SQL Server Agent Starts
Once, at a specified date and time
On a recurring basis
When the CPU utilisation of the server is idle
On receipt of an Email
On receipt of a WCF API Call
On receipt of a Windows Workflow schedule
When a transaction log becomes full
SQL Server Agent provides the ability to chain Jobs together - i.e. when one completes, it triggers the execution of another. Which of the following statements are true?
SQL Server Agent has no native support for this feature
You set the outcome of the job to be 'Execute another Job' and choose from a drop down list
You can start a job using the stored procedure sp_start_job and add it as a Transact-SQL job step
You create a job with a start trigger that is the completion of a previous task
If you wish to send an alert to an individual if a SQL Server Agent job fails, you must create an in order to represent the individual and their contact details.
In order to send an email to an individual when a SQL Agent Job fails, must be set up and enabled, and the SQL Server must be configured to use it.
When defining an operator to be notified when a SQL Agent Job fails, it is best practice to define an email and send the alerts to it, enabling you to change the recipient list externally to the SQL Job.
SQL Server Agent, natively, cannot send alerts to pagers. True or False?
In order to send a Net Send message to an individual when a SQL Agent job completes, the Windows Service needs to be installed upon the server - and the individual must provide their name as the recipient destination.
A "fail safe operator" can be configured to be notified if a notification alert cannot be sent via Pager, Email or Net Send - True or False?
If a notification message has to be sent to the "fail safe operator" because of a failed attempt to Page an on duty operator, which method will be used to send the message?
Pager
Email
Net Send
Any - it depends on how it's configured
Within SQL Server Agent, an is an automated response to an .
An SQL Server Agent alert can be triggered in response to an Event. Valid Event types include...
SQL Server Event
SQL Server Performance Condition
Windows Management Instrumentation (WMI) event
Receipt of an HTTP request
Receipt of an Email
Starting of the SQL Server Agent Service
Which of the following responses can be triggered as the result of an event alert?
Start a SQL Server Agent Job
Notify one or more operators
Restart the SQL Server Agent Service
Restart the SQL Server Service
Write to a log file
Write to the Windows Event Log
When defining an Alert - you can instruct alert to apply to All databases as well as a specific database. True or False?
SQL Server Event Alerts are defined based upon an error or error level.
When defining a SQL Server Event Alerts, which of the following takes precedence if multiple alerts match the same condition?
Error Number takes precedence over Error Severity
Error Severity takes precedence over Error Number
They are of equal importance, they will both fire
They are of equal importance, but the first defined alert will fire
Depends on the Severity level ( 19 or over takes precedence over all other alerts )
An alert can be defined when a SQL Server Event contains a specified piece of text. True or False?
Leveraging the Windows Performance Monitor feature of Windows Servers - an alert can be defined based upon a SQL Server - one of the many performance values that are monitored and tracked natively.
The SQL Server Agent ❌ Account should be a ❌ account if you plan to use the features of ❌ or require any network connectivity. The account must be mapped to a SQL Server ❌ that is also a member of the ❌ role.
Which of the following server roles could a login belong in order to see the SQL Server Agent within SQL Server Management Studio?
sysadmin
sqlagentuserrole
sqlagentreaderrole
sqlagentoperatorrole
sqlagentadministrator
serveradmin
In order of capability (lowest to highest) - which roles allow access to the SQL Server Agent via SQL Management Studio?
SQLAgentUserRole, SQLAgentReaderRole, SQLAgentOperatorRole
SQLAgentUserRole, SQLAgentOperatorRole, SQLAgentReaderRole
SQLAgentReaderRole, SQLAgentUserRole, SQLAgentOperatorRole
SQLAgentReaderRole, SQLAgentOperatorRole, SQLAgentUserRole
SQLAgentOperatorRole, SQLAgentUserRole, SQLAgentReaderRole
SQLAgentOperatorRole, SQLAgentReaderRole, SQLAgentUserRole
Within SQL Server Agent, members of the SQLAgentUserRole can ...
access only jobs and schedules that they own
access jobs and schedules for others in the SQLAgentUserRole
access all jobs and schedules on the server
access multi server jobs
delete job history for their own jobs
delete job history for all jobs
select the operators to be notified on outcomes of their own jobs
select the operators to be notified on outcomes of others jobs
A SQL Server Job Step can run, via impersonation, under a context other than the context of the user that created the job. This can be useful if the job requires access to resources that are denied to the job creator. If this is required, the creator must create a SQL Server Agent that is associated with a domain account that has the appropriate rights.
The SQL Server Agent can pass on events to another server for processing, using a feature called
Event Shipping
Event Log Replication
Distributed Event Co-ordinator
Event Forwarding
Event Log Distribution
SQL Agent can send only unhandled events to another server for processing. True or False?
An unhandled event, in SQL Server, is an event which does not have an defined for it.
In SQL Server Agent advanced properties, you can define what consitutes an condition. When setting this option, you are setting that the is deemed if the CPU usage falls below x and remains below this level for y.
When you wish for placeholders to be replaced in job responses to alerts, you must enabled the option within the SQL Server Agent Alert System Properties dialog.
You can define how long the SQL Agent Service will wait before killing off executing jobs when it's asked to stop, by setting the time-out interval in the Job System Properties dialog.
You can limit the SQL Agent History logging feature by setting the Maximum job history size (measured in ) - and the maximum number of rows per .
When using Token Replacements within SQL Server Agent jobs, it is imperative that you protect the server from SQL Injection Attacks - using Escape Macros around tokens. Which of the following are valid Escape Macros?
ESCAPE_SQUOTE
ESCAPE_DQUOTE
ESCAPE_RBRACKET
ESCAPE_LBRACKET
ESCAPE_BRACKETS
ESCAPE_NONE
When using Event Forwarding within SQL Agent, if you choose to forward 'All Events', you can specify a filter based upon the level.
Multiserver Administration enables a system to be configured with a server (MSX) and one or more servers (TSX) - where jobs can be sent on it's behalf.
In order to set up MultiServer Administration on a SQL Server, you need to right click on the SQL Server node in SQL Management Studio, then select Multi Server Administration...
When setting up a master server, when configuring Multi Server Administration, the first thing that is requested is you set up a operator - the only operator that can be notified from multiserver jobs.
When using Multi Server Administration, and you connect to a Target server with administrative rights. You are unable to edit any multi server jobs that you may find in the SQL Agent. True of False?
The SQL Server can be used where a large amount of commands can be expected to be received, and need to be completed reliably, just not at the exact time the command was issued.
The feature of SQL Server enables you to build reliable, asynchronous services in a SQL Server Database.
Service Broker Services can pass messages reliably and transactionally - and can contain up to GB of binary data within each message, and, if so desired, can associate an schema with a message, for automatic schema validation.
The Service Broker addresses wildly varying resource loads by a process that watches for messages on Service Broker queues. This background process is called the monitor - and maintains the optimum number of queue processes required to process the current load.
Within a Service Broker system, Services depend on bidirectional exchange of messages. Requests are made of a service and the service returns responses. These exchanges are persisted within the Service Broker in persisted objects called .
A Service Broker is an object at each end of the message exchange that tracks what messages have been sent and received, what messages have been acknowledged and what acknowledgements have been received.
Service Broker Conversations are stored as persistent database objects that can survive database restarts. They have a default lifetime of 24 hours from the time of receipt. True or False?
The Service Broker feature uses three commands to manage conversations. These are...
: which generates a conversation on which messages are sent : which dispatches messages on a previously created conversation : which receives messages from a conversation.
Within a SQL Service Broker Conversation, messages are GUARANTEED to be delivered once, in the order in which they were created.
As the Service Broker is configured within a SQL Server instance, care must be taken when restoring system state from msdb - if you restore this to a different point in time to a database that uses the service broker, message inconsistencies can be introduced. True or False?
When restoring a database, that uses the Service Broker, the Service Broker is disabled as a default - to stop the database immediately processing queued conversations. In order to restart the Service Broker at you convenience, you can issue the following command...
ALTER DATABASE <database name> SET
If you have a database that uses Service Broker, and you wish to delete all existing conversations and messages, and create a new SERVICE_BROKER_GUID so the database will look like a new Service Broker database, as it was before, but with a new Identity, you would use the following command...
If a database is using a Service Broker, and you wish to flush all conversations into an error state in order to clean up both ends of a conversation cleanly, you could use the following command...
When configuring the Service Broker for a database, types can be used in your service to determine what kind of data a message contains so that it knows how to process it.
A Service Broker Message Type can be defined to be self validating. In order to do this, it requires a validation option within the definition. Valid options are...
NONE
EMPTY
WELL_FORMED_XML
VALID_XML WITH SCHEMA COLLECTION
BINARY
STRING
SQL_VARIANT
When defining a Service Broker Message type, called RegRequest, that can contain any valid XML snippet as the message body - you should use the following command...
CREATE MESSAGE TYPE AUTHORIZATION dbo VALIDATION =
When using the Service Broker within a database, you can define which types can be used in a by defining a .
When defining a Contract whilst configuring the Service Broker, you can define the message types that each type of participant can send. Which of these are valid participant types?
INITIATOR
TARGET
ANY
ORIGINATOR
RECIPIENT
ALL
When setting up the Service Broker within a database, a represents a physical table within the database which stores a message during the time period between it's receipt - and when it is processed.
Which of the following commands are permissible on a queue table within the Service Broker...
SEND
RECEIVE
INSERT
UPDATE
DELETE
SELECT
When creating a queue within the Service Broker, you can instruct it to keep an audit log by leaving actioned messages in the queue table, by using the following command...
CREATE QUEUE <Queue Name> WITH = ON
In production systems, it is not recommended to create Service Broker Queues using the retention option - true of false?
When using the Service Broker within a database, a message that continually fails processing, causing a transactional roll back and being placed back in the queue for reprocessing is called a message. By default, a queue will become disabled if it detects one of these messages rolling back consecutive times.
The preferred method of handling repeatedly failing transactions in the Service Broker is to turn off _HANDLING in the queue, trap the condition and action it in your own application code then the transaction to remove it from the queue. This prevents the queue from being automatically disabled when discovering repeatedly failing transactions.
When using the Service Broker, if you wanted to create a Queue called RegQueue, that triggers the activator stored procedure, dbo.ActivateRegistration, with 20 simultaneous queue readers - running under the queue owner context - you would use the following procedure...
CREATE QUEUE RegQueue WITH ( STATUS = , PROCEDURE_NAME = , MAX_QUEUE_READERS = , EXECUTE AS )
Within the Service Broker, when you define a , you give it a name, then, you tell it which it will use - and then you choose which it will use (which defines the message types and participants).
When using the Service Broker, messages exchanged within a conversation are sent between the abstraction layer - the .
Within the Service Broker - a is defined to represent the network path that messages to a service will follow.
Within the Service Broker, a route can define a network path through multiple SQL Servers until the destination service is located. True or False?
When defining a Route within the Service Broker, omitting the name of the service within the Route Definition will ensure the route applies to ALL Services on the server. True or False?
When defining a route within the Service Broker, you must set the parameter to be so it knows that the service it points to resides on the instance of SQL Server you are adding the route to.
Within the Service Broker, messages within a conversation can be prioritised so more important messages will be processed first. True or False?
Within the Service Broker, a can be assigned to a in order to fast track communications to a service.
When defining a priority in the Service Broker, you can specify a matching criteria that defines which conversations are prioritised. Which of the following criteria can be used to match to a conversation?
Contract Name
Local Service Name
Remote Service Name
Route
Message Type
Queue
Within the Service Broker, a Conversation Group allows multiple conversations to be received in a single threaded operation, simplifying the programming involved in dealing with related messages in different conversations. True of False?
When using the Service Broker service queues, what are the equivalent commands to the typical table commands used for database tables?
INSERT: SELECT:
When sending a message through the Service Broker, the command can be used with multiple ID's as parameters, in order to send the message to multiple services. This process is known as .
Which of the following commands can be used to start a service broker conversation?
BEGIN DIALOG CONVERSATION
BEGIN DIALOG
START CONVERSATION
BEGIN CONVERSATION
OPEN CONVERSATION
OPEN DIALOG
When beginning a conversation within the Service Broker, which of the following parameters are mandatory?
FROM SERVICE
TO SERVICE
SOURCE SERVICE
DESTINATION SERVICE
ON CONTRACT
RELATED_CONVERSATION
LIFETIME
QUEUE
When using the SEND command to send a message through the Service Broker, it requires a 'dialog handle' parameter. How do you obtain the dialog handle?
You create a new UNIQUEIDENTIFIER variable, initialise it, and pass it to the BEGIN DIALOG CONVERSATION command, before using it again in the SEND command.
You create a new UNIQUEIDENTIFIER variable, pass it to the BEGIN DIALOG CONVERSATION as an output parameter, before using it again in the SEND command.
You obtain it using the GETCURRENTCONVERSATION() function after a successful BEGIN DIALOG CONVERSATION command
You use the @@CURRENTCONVERSATION global variable after a successful BEGIN DIALOG CONVERSATION command
You create a new UNIQUEIDENTIFIER variable, initialise it, and pass it to the OPEN DIALOG CONVERSATION command, before using it again in the SEND command.
You create a new UNIQUEIDENTIFIER variable, pass it to the OPEN DIALOG CONVERSATION as an output parameter, before using it again in the SEND command.
When using SEND and RECEIVE within the Service Broker, it is highly advisable to use Transactions in all Queue operations.