SQL Server Data Automation Through Frameworks: Building Metadata-Driven Frameworks with T-SQL, SSIS, and Azure Data Factory Andy Leonard instant download
SQL Server Data Automation Through Frameworks: Building Metadata-Driven Frameworks with T-SQL, SSIS, and Azure Data Factory Andy Leonard instant download
https://textbookfull.com/product/sql-server-execution-plans-for-
sql-server-2008-through-to-2017-and-azure-sql-database-3rd-
edition-grant-fritchey/
https://textbookfull.com/product/building-custom-tasks-for-sql-
server-integration-services-the-power-of-net-for-etl-for-sql-
server-2019-and-beyond-2nd-edition-andy-leonard/
https://textbookfull.com/product/building-custom-tasks-for-sql-
server-integration-services-the-power-of-net-for-etl-for-sql-
server-2019-and-beyond-second-edition-andy-leonard/
https://textbookfull.com/product/biota-grow-2c-gather-2c-cook-
loucas/
Quick Start Guide to Azure Data Factory Azure Data Lake
Server and Azure Data Warehouse 1st Edition Mark
Beckner
https://textbookfull.com/product/quick-start-guide-to-azure-data-
factory-azure-data-lake-server-and-azure-data-warehouse-1st-
edition-mark-beckner/
https://textbookfull.com/product/data-integration-life-cycle-
management-with-ssis-a-short-introduction-by-example-1st-edition-
andy-leonard/
https://textbookfull.com/product/sql-server-big-data-clusters-
data-virtualization-data-lake-and-ai-platform-benjamin-weissman/
https://textbookfull.com/product/azure-sql-revealed-a-guide-to-
the-cloud-for-sql-server-professionals-bob-ward/
https://textbookfull.com/product/azure-sql-revealed-a-guide-to-
the-cloud-for-sql-server-professionals-1st-edition-bob-ward/
SQL Server Data
Automation
Through
Frameworks
Building Metadata-Driven Frameworks with
T-SQL, SSIS, and Azure Data Factory
—
Andy Leonard
Kent Bradshaw
SQL Server Data
Automation Through
Frameworks
Building Metadata-Driven
Frameworks with T-SQL, SSIS,
and Azure Data Factory
Andy Leonard
Kent Bradshaw
SQL Server Data Automation Through Frameworks: Building Metadata-Driven
Frameworks with T-SQL, SSIS, and Azure Data Factory
Andy Leonard Kent Bradshaw
Farmville, VA, USA Providence Forge, VA, USA
For Ann
—Kent
Table of Contents
About the Authors���������������������������������������������������������������������������������������������������� xi
Introduction�����������������������������������������������������������������������������������������������������������xvii
v
Table of Contents
vi
Table of Contents
vii
Table of Contents
viii
Table of Contents
Index��������������������������������������������������������������������������������������������������������������������� 385
ix
About the Authors
Andy Leonard is Chief Data Engineer at Enterprise Data
& Analytics, creator and Data Philosopher at DILM (Data
Integration Lifecycle Management) Suite, an Azure Data
Factory and SQL Server Integration Services trainer and
consultant, and a BimlHero. He is a SQL Server database and
data warehouse developer, community mentor, engineer,
and farmer. Andy is coauthor of SQL Server Integration
Services Design Patterns, Data Integration Life Cycle
Management with SSIS, and The Biml Book.
xi
About the Technical Reviewer
André van Meulebrouck has a keen interest in functional
programming, especially Haskell and F#.
He also likes data technologies from markup languages
to databases and F# type providers.
He lives in Southern California with his wife “Tweety”,
and is active in athletics: hiking, mountain biking, and
gravity/balance sports like freestyle skating (in-line and ice),
skateboarding, surfing, and sandboarding.
To keep his mind sharp, he does compositional origami, plays classical guitar, and
enjoys music notation software.
xiii
Acknowledgments
This book would not have been possible without the help of Kent Bradshaw, my
coauthor, friend, and brother. This book represents Kent’s first foray into authoring, and
he delivered outstanding work.
Thanks André van Meulebrouck for proofreading, working through the samples, and
providing feedback on the manuscript.
I owe my coworkers at Enterprise Data & Analytics (EntDNA.com) a debt of gratitude
for their encouragement and for covering for me when I stayed up too late trying to
figure out how to make the code work. We have an awesome team, especially my
brothers from other mothers – Nick Harris, Shannon Lowder, and Reeves Smith.
Donald Farmer inspires me every time we interact. As Principal Program Manager at
Microsoft, Donald worked extensively with SSIS and helped shape the product. Donald
continues to shape data software by providing vendors unique strategic guidance at
TreeHive Strategy (treehivestrategy.com).
I am certain there are many excellent editors in this business. Jonathan Gennick is
the best with whom I have had the privilege to work. Without Jill Balzano’s input and
project management, I would have been lost!
Finally, I thank my family for their understanding. My children Stevie Ray, Emma, and
Riley who live at home at the time of this writing, and Manda and Penny who have children
of their own. And Christy, to whom I dedicate this book, my wife, my love. Thank you.
—Andy
Writing this book never really entered my mind until my great friend and EDNA
colleague, Andy Leonard, convinced me to do it. I truly appreciate his confidence in me,
and it was a very interesting experience. I’m really glad that I could work together with
him on this project.
Many thanks to Jonathan Gennick, Jill Balzano, and André van Meulebrouck for all of
their help and suggestions. They made things so much easier.
Most important of all, I want to thank my wife, Ann. Much of where I am today is due
to her love, support, and encouragement. I couldn’t begin to do it without her. Thank you.
—Kent
xv
Introduction
Frameworks have existed for as long as people have been building things. When
people began developing solutions using computers, frameworks soon followed. Like
woodworking jigs, frameworks exist to simplify work and speed up the process of
developing a solution, whether the problem is to complete a woodworking project or
deliver an enterprise data integration solution.
1. Database developers
Database developers will learn about driving database object execution from stored
procedures and will see one example of a database framework.
Data engineers and data integration developers will learn how to use SQL Server
Integration Services (SSIS) to implement a metadata-driven data integration framework.
Biml developers will see one example of using BimlExpress and metadata to
rapidly produce several SSIS packages in selected design patterns and an example of
interrogating flat files to generate flat file formats and flat file connection managers via
Biml.
xvii
Introduction
C
hapter 1: Stored Procedures 101
Before we dive into database development, let’s cover some basics of stored procedures.
C
hapter 2: Automation with Stored Procedures
Once you have a solid grasp on stored procedures, we will use what we’ve learned about
stored procedures to automate execution using the controller pattern, which executes
one or more stored procedures.
C
hapter 3: Stored Procedure Orchestrators
In this chapter, we examine high-level execution management using the orchestrator
pattern, which executes one or more controller stored procedures.
C
hapter 4: A Stored Procedure–Based Metadata-Driven
Framework
Metadata-driven frameworks are a recurring theme in this book. In this chapter, we
store information about stored procedures, controllers, and orchestrators to execute
framework applications.
xviii
Introduction
C
hapter 5: A Simple, Custom, File-Based SSIS Framework
In this chapter, we define a data integration/engineering framework metadata database
that manages configuration and execution. We introduce a version of an SSIS framework
that manages these subject areas for SSIS executed on-premises.
C
hapter 6: Framework Execution Engine
In this chapter, we add instrumentation in the form of Information and Error events.
Built-in SSIS logging will surface these messages, which are useful when troubleshooting
SSIS framework application issues.
C
hapter 7: Framework Logging
In this chapter, we persist execution metadata to “Instance” tables. The
ApplicationInstance table stores one record for each instance of an SSIS framework
application execution. The ApplicationPackageInstance table stores one record for each
instance of an SSIS framework application package execution. Important execution
instance attributes – such as start and end times and execution status – are maintained
in the “Instance” tables.
C
hapter 8: Azure-SSIS Integration Runtime
In this chapter, we introduce Azure Data Factory (ADF) and the Azure-SSIS integration
runtime by walking through the provisioning processes.
C
hapter 9: Deploy a Simple, Custom, File-Based Azure-SSIS
Framework
In Chapters 5–7, we designed and constructed an SSIS framework aimed at on-premises
SSIS execution, configuration, and logging. In this chapter, we begin migrating the SSIS
framework designed in Chapters 5–7 by provisioning a new Azure SQL database and
then deploying the metadata database to our new Azure SQL database. We provision an
Azure File Share and migrate test SSIS packages to the Azure File Share. Finally, we begin
building the Azure Data Factory parent pipeline that serves as the execution engine for
the ADF version of the SSIS framework.
xix
Introduction
C
hapter 10: Framework Logging in ADF
In this chapter, we add logging functionality to the parent ADF pipeline, much like the
functionality we added to the on-premises version of the SSIS framework in Chapter 7.
C
hapter 11: Fault Tolerance in the ADF Framework
In this chapter, we complete ADF execution engine functionality by implementing fault
tolerance to programmatically stop (or not stop) pipeline execution based on SSISConfig
metadata configurations.
C
onclusion
This book is for people who want to dive deeper into SQL Server and SSIS automation.
We will be discussing and demonstrating database and Integration Services frameworks
and covering such topics as SQL Server, SSIS, Azure, and Azure Data Factory.
As you can see, we have a long journey filled with learning and new insight ahead of
us. Let’s get started!
xx
PART I
Stored Procedure-Based
Database Frameworks
CHAPTER 1
3
© Andy Leonard, Kent Bradshaw 2020
A. Leonard and K. Bradshaw, SQL Server Data Automation Through Frameworks,
https://doi.org/10.1007/978-1-4842-6213-9_1
Chapter 1 Stored Procedures 101
Now, consider that monolith broken up into multiple procedures, each of which
performs a unit of work. When a change is made and needs to be tested, that effort can
be isolated to just what is necessary to perform that unit of work, and the validation is
concentrated on the result of the procedure. And, with it now being multiple procedures,
modifications can usually be done simultaneously by multiple developers, and their
efforts can be mutually exclusive. Over time, that approach can prove to be much more
cost effective and efficient.
That is where a framework helps to organize and manage processes to provide
the most flexibility in development and can minimize the maintenance effort (which,
sometimes, is not considered until it becomes an obvious issue). A framework provides
a consistent methodology for assembling and executing processes. It also promotes
writing code in small units of work that can potentially be mixed, matched, and reused.
It adds complexity to the development and deployment processes but can reduce the
effort for production scheduling. The framework can also provide greater flexibility for
managing the execution of the process.
D
emonstration of a Framework
To begin the analysis of the framework concept, we need a process. Our example to
follow shows a framework built to run a daily process against an example schema. The
details of that process don’t matter to the example. Just consider that any production
system might have something that needs to be done each day, and what follows is a
framework by which to make those daily processes happen.
Also, part of the example is a monthly process. Just as a system might need certain
tasks to be done each day, it’s also common to have certain things that need to be done
once monthly. In designing such a system, one must take into account the order in
which daily and monthly processes execute when their schedules intersect on – in our
example – the first of each month.
For the purpose of this book, a simple process has been developed (NOTE: all of the
code described can be downloaded at entdna.com. You can also find a link to the code
from the book’s catalog page on Apress.com). Downloading the example code enables
you to follow along with the upcoming examples on your own machine.
4
Chapter 1 Stored Procedures 101
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
5
Chapter 1 Stored Procedures 101
Do you have a SQL Server instance that you can use for learning purposes? Connect
to that instance as an administrator, for example, as the sa user. Then, in SQL Server
Management Studio (SSMS), open a “New Query” window, copy the code from Listing 1-1,
and execute it to create the example schema used in this and subsequent chapters.
6
Chapter 1 Stored Procedures 101
SET NOCOUNT ON
/*********************************************/
/* Log the START of the procedure to the process log */
/*********************************************/
7
Chapter 1 Stored Procedures 101
SET @RetStat = 0
/******************************************/
/* Force an ERROR CONDITION for this procedure */
/******************************************/
/****************************************************/
/* Log the COMPLETION of the procedure to the process log */
/****************************************************/
IF @RetStat = 0
BEGIN
INSERT INTO FWDemo.ProcessLog (
ProcessLogMessage,
CreateDate
)
VALUES ('Procedure FWDemo.DailyProcess1 - COMPLETED',
GETDATE()
)
8
Chapter 1 Stored Procedures 101
END
ELSE
BEGIN
INSERT INTO FWDemo.ProcessLog (
ProcessLogMessage,
CreateDate
)
VALUES ('Procedure FWDemo.DailyProcess1 - ERROR',
GETDATE()
)
END
RETURN @RetStat
GO
9
Chapter 1 Stored Procedures 101
SET NOCOUNT ON
/*********************************************/
/* Log the START of the procedure to the process log */
/*********************************************/
SET @RetStat = 0
/******************************************/
/* Force an ERROR CONDITION for this procedure */
/******************************************/
10
Chapter 1 Stored Procedures 101
--SET @RetStat = 1
/****************************************************/
/* Log the COMPLETION of the procedure to the process log */
/****************************************************/
IF @RetStat = 0
BEGIN
INSERT INTO FWDemo.ProcessLog (
ProcessLogMessage,
CreateDate
)
VALUES ('Procedure FWDemo.DailyProcess2 - COMPLETED',
GETDATE()
)
END
ELSE
BEGIN
INSERT INTO FWDemo.ProcessLog (
ProcessLogMessage,
CreateDate
)
VALUES ('Procedure FWDemo.DailyProcess2 - ERROR',
GETDATE()
)
END
RETURN @RetStat
GO
In a “New Query” window in SSMS, execute the code from Listing 1-2 while
connected to the FWDemo schema. The code creates two stored procedures that
together make up a daily process. With those procedures in place, you can turn your
attention to the next problem, which is to schedule those procedures to actually run each
day.
11
Chapter 1 Stored Procedures 101
Listing 1-3. Daily Process execute statements and process log SELECT statement
EXECUTE FWDemo.DailyProcess1
EXECUTE FWDemo.DailyProcess2
SELECT ProcessLogID
,ProcessLogMessage
,CreateDate
FROM FWDemo.ProcessLog
ORDER BY ProcessLogID desc
12
Chapter 1 Stored Procedures 101
SET NOCOUNT ON
/*********************************************/
/* Log the START of the procedure to the process log */
/******************************** ************/
13
Chapter 1 Stored Procedures 101
/******************************************/
/* Force an ERROR CONDITION for this procedure */
/******************************************/
/****************************************************/
/* Log the COMPLETION of the procedure to the process log */
/****************************************************/
IF @RetStat = 0
BEGIN
INSERT INTO FWDemo.ProcessLog (
ProcessLogMessage,
CreateDate
)
VALUES ('Procedure FWDemo.MonthlyProcess1 - COMPLETED',
GETDATE()
)
END
14
Random documents with unrelated
content Scribd suggests to you:
63. “Marcus Antonius,” p. 119. Skeat.
71. P. 91 ff.
78. Pp. 93, 94, 95. There are some similarities to “Cornelie” and to
Grévin in this passage.
79.
“Have I in conquest stretch’d mine arm so far,
To be afeard to tell graybeards the truth?”
81. Paolo Beni was quick to seize upon this feature of Pescetti’s
characterization of Caesar. He says: “Che se pur volesse alcuno
che non perciò restasse suo Cesare di esser furto, almen
convien confessare ch’egli solo fosse vero Autore dell’ingiuria la
quale con tanta sciocchezza e temerità fece in tal Tragedia a
quell’Altezza et a tutta la serenissima Casa d’Este, poscia che
havendo pubblicato e celebrato Alfonso per congiuntissimo di
sangue con la Casa Giulia, e con Giulio Cesare, finalmente si
adduce a dedicarli la sua Tragedia; (che sua chiamerolla per
hora) quella Tragedia dico nella qual Cesare vien com’empio
tiranno e traditor della patria bruttamente trucidato. Vedi
imprudenza estrema di quest’huomo: vedi sciocchezza et
audacia incomparabile: ricordare che questo serenissimo
Principe sia per sangue strettamente congiunto con Giulio
Cesare, e disceso da Giulio Cesare, e poi immantinente far che
il Theatro per ogni parte risuoni l’impietà, la perfidia, la tirannia
di Cesare: e che su gli occhi di quell’Altezza ne venga quasi
pernitioso mostro co’l ferro trucidato et estinto. E forse che
non supplica il Serenissimo Alfonso (vedi nuova imprudenza et
ardire) che faccia rappresentar questa Tragedia in publico con
nobil pompa, e dia spettacolo sì horrendo d’un suo antenato al
Mondo.” Il Cavalcanti, 1614, p. 107 et seq.
85. True, the conspirators have suspected that the portents and
the auspices might persuade him, and Trebonius has prepared
for this. But how was Caesar to know?
89. E per non fare ora qui (che nè il luogo, nè l’occasione il ricerca)
un catalogo di tutti, chi dell’ antico, ò del moderno secolo
possiam noi trovare, che a Cesare somigli più, e faccia meglio
parallelo di quel, che fa la Sereniss. Altezza Vostra? Sol che
quelli fosse stato Cristiano, e avesse saputo contentarsi d’esser
il primo della sua Città, senza voler esser anche della stessa
Città più potente, ò Signor legittimo fosse suto; . . . “Cesare,”
Dedication, p. 2.
90. In the classic drama it is not unusual for the Chorus to speak in
the first person, but this instance is unique in Pescetti. It
strikes the reader with all the force of an individual opinion of
the author.
94. From these words the reader may believe that the conspirators
feared that very courage of which Caesar himself proves
deficient. But by courage, Cassius here means sheer physical
bravery, an attribute which no reader either of Pescetti or of
Shakespeare can deny him. The courage Caesar lacked was
that of his own convictions. Like Macbeth, the known had no
terrors for him, but like the Scottish king, he is confounded by
the unseen. No Roman could have found fault with a man for
heeding the warning of the gods. The historical Caesar, it is
true, oft expressed his contempt for omens, while the Caesar
of the drama professes to disregard them. But his disregard is
superficial, and apparently the result of an attitude which we
cannot but attribute to a belief in his own semi-divine being.
Rather than be suspected of feelings common enough to
ordinary mortals, Caesar deludes himself by a process of self-
hypnotism, and is led to his doom, a victim of his lack of true
courage, a sacrifice to his own inordinate vanity.
95. P. 24. Is this perhaps the hint from which Shakespeare built up
the entire scheme of physical comparisons dwelt upon by
Cassius? The swimming of the Tiber, for instance?
100.
I., ii, 54–61.
101.
I., iii, 157.
102.
II., i, 90.
103.
II., i, 321.
104.
II., i, 332.
105.
Probably because it involved a profanation of the sacred
precincts of the Senate. But one might expect such an ardent
patriot to regard Caesar’s death here as a very acceptable
sacrifice to the gods he supposedly outraged. But see Appian.
106.
II., i, 77.
109.
P. 109.
110.
III., i, 22.
111.
V., i, 109.
112.
P. 216–217, MacCallum.
113.
The conclusion is irresistible that Pescetti was very much under
the influence of Lucan. This is true not alone of the
supernatural element, but also of the general attitude of Brutus
and Cassius, who talk of Caesar very much in the spirit of the
Pharsalia. In Book IX. Lucan describes how the soul of Pompey
leaving the tomb soars to the abodes of the Blessed and
thence looking down upon the earth inspires the breasts of
Brutus and Cato. (Lines 1–23.)
114.
P. 17.
115.
Pp. 89–90.
116.
In Muretus the case against Caesar is also weak. In Grévin,
Brutus in his speech to the citizens makes definite charges:
“Ce Tyran, ce Cesar, enemi du Senat,
Oppresseur du pays, qui de son Consulat
Avoit faict heritage, e de la Republique
Une commune vente en sa seule practique,
Ce bourreau d’innocens, ruine de nos loix,
La terreur des Romains, e le poison des droicts,
Ambitieux d’honneur, qui monstrant son envie,
S’estoit faict appeler Pere de la patrie,
E Consul à jamais, à jamais Dictateur,
Et pour comble de tout, du surnom d’Empereur.
Il est mort ce meschant, qui decelant sa rage,
Se feit impudemment eslever un image
Entre les Rois, aussi il a eu le loyer
Par une mesme main qu’eut Tarquin le dernier.”
117. There is no doubt that Pescetti found in Muretus the hints for
some of Brutus’ speeches, but his loans from his predecessor
do not affect the argument.
118.
But, as usual, Pescetti fails to take full advantage of this motif.
During the wordy progress of the drama we lose sight of
Antony, and only a few lines at the end suggest him as the
Nemesis of the conspirators.
119.
See section on Portia.
120.
In regard to Antony and the Popilius Lena episode.
121.
In Muretus she has no place in the action. Brutus refers to her
in his soliloquy: Act II., lines 107 ff.
Brutus— “. . . Haec parum si te movent,
Tua jam, vir ut sis, te satis conjux monet,
Fidem cruore quae tibi obstrinxit suam,
Testata sic se avunculi prolem tui.
Si ab exequendis te avocat coeptis timor,
Animusque pigro torpet ignavus gelu,
Ex femina perdisce, quid deceat virum.”
This is the only reference to Portia throughout the drama.
Grévin makes no mention of her, while Garnier, in his “Porcie”
(1568) treats of events following the death of Caesar.
122.
I know of but two notices of these scenes, neither being much
more than a mere mention. Neri says: “Su tutte ancora
primeggia il Cesare d’Orlando Pescetti, che per il rilievo della
figura di Bruto, tratta da Plutarco—vedi la bella scena di Porzia
nel secondo atto, etc.” (La Tragedia italiana nel Cinquecento,
Ferdinando Neri, Firenze, 1904, p. 158.) It is also referred to
by Emilio Bertana in “La tragedia,” Milano, 1904, p. 75 ff.
123.
Plutarch notes that she was of a “noble courage.”
124.
That is, Fortune.
125.
Marcus Brutus, p. 116. Skeat.
In the “Julius Caesar” of Sir William Alexander, (Earl of Stirling)
written a few years after Shakespeare’s play, there is a decided
similarity between some portions of the Brutus-Portia scenes
and those in Pescetti. The prologue seems an echo of
Pescetti’s. Nor do these portions have anything verbally in
common with Seneca, the model of both tragedies. See
Conclusion, page 121.
126.
Many of the motifs of the Calpurnia-Nurse scene in Pescetti are
derived from Muretus. Others are reminiscent of Grévin.
127. Malone long ago suggested that this scene probably refers to
the popularity of the play on the stage, and that it points to
other contemporary dramas on the same subject.
Prolegomena, II, ff. 448–9. Ed. 1823. Prof. Sykes sees in it a
dramatic device to emphasize the reality of the presentation.
“Julius Caesar” note, page 142.
128.
“Connections between the Drama of France and Great Britain,
particularly in the Elizabethan Period.” Harvard Dissertation,
1900 (unpublished), quoted by Ayres.
129.
Alexander’s Prologue is the first act of the drama. Juno delivers
a long monologue and the chorus closes the act. In Muretus,
Caesar and the chorus occupy the first act. In Grévin, it is
Caesar, Antony and the Chorus of Soldiers. In Pescetti, the
Prologue is separate, but like in Alexander the actors therein
do not appear in the drama proper.
130.
Of the above only the fact that the conspiracy was revealed to
her is recorded by Plutarch in this connection.
131.
Fortune.
132.
Alexander, in his younger days, travelled in France, Spain and
Italy. He was high in the favor of James VI. of Scotland and
accompanied him to London in 1603, where he became an
intimate of Prince Henry. That he was well and favorably
known to the authors of the day may be inferred from the
dedication of a sonnet to him by Michael Drayton.
133.
In Shakespeare Soc. Pub., 1874, p. 357. Also his Life of
Shakespeare, 1886, p. 215–6.
134.
The allusion to the phrase Act III, Sc. 1.
“Know, Caesar doth not wrong, nor without cause
Will he be satisfied.”
135.
Appendix to Vol. IV of the Cambridge History of English
Literature. Also M. A. Scott, Elizabethan Translations from the
Italian. Mod. Lang. Assoc. Pub., X. to XIV., 1895–99.
136.
Sidney Lee, The French Renaissance in England, 1910. Phoebe
Sheavyn, The Literary Profession in the Elizabethan Age, 1909.
139.
Ethel M. de Fonblanque in Fortnightly Review, Nov., 1911.
140.
“Studies in Shakespeare.”
141.
In his discussion of the state of the Italian drama during the
sixteenth century, Symonds says: “At the same time, we may
question whether the Despots would have welcomed tragic
shows which dramatized their deeds of violence; whether they
would have suffered the patriotism of a Brutus, the vengeance
of Virginius, the plots of Catiline, or the downfall of Sejanus to
be displayed with spirit-stirring pomp in the theatres of Milan
and Ferrara, when conspiracies like that of Olgaiti were
frequent.” John Addington Symonds, “The Renaissance in Italy,
Italian Literature,” Vol. II., p. 119. Henry Holt & Co., 1888.
142.
“The Monarchicke Tragedies” of Alexander by 1617 had gone
through three editions, besides several single quartos.
TRANSCRIBER’S NOTES
1. Retained the blanks that the original Italian text
often had before apostrophes.
2. Inserted a blank before the apostrophe in front
of the letter l, whenever the apostrophed ’l
stands for il.
3. Changed “προσέττατεν” to “προσέταττεν” in
footnote 12.
4. Added anchor after “—II., i, ll. 154–191.” for the
first footnote[60] on p. 46.
5. Changed “cosi” to “così” on p. 67.
6. Changed “angurio” to “augurio” on p. 84.
7. Silently corrected typographical errors.
8. Retained anachronistic and non-standard
spellings as printed.
The following corrections to
obvious Italian misspellings in
Boecker's text made by
comparing excerpts with
Pescetti's original (this copy).
1. Changed “Secundo” to “secondo” on p. 1.
2. Changed “ricchezze” to “ricchezze” on p. 16.
3. Changed “Più che d’Orso, e de Tigre Ircana
crudo” to “Più che d’Orso, e di Tigre Ircana
crudo” on p. 17.
4. Changed “E fù si grande del ferir la voglia
Ricandosi” to “E fu sì grande del ferir la voglia
Recandosi” on p. 24.
5. Changed “Immenso regno, e sì gonfiato ha
l’onde,” to “Immenso regno, e sì gonfiato hà
l’onde,” on p. 30.
6. Changed “Altri temer gran fatto, un’huom al
ventre” to “Altri temer gran fatto, un’huomo al
ventre” on p. 43.
7. Changed “Sciogliam noi l’alma de’ corporei lacci.”
to “Sciogliam noi l’alma da corporei lacci.” on
p. 53.
8. Changed “Ben t’esort’ io guardati de’ nemici.” to
“Ben t’esort’ io guardarti de’ nemici.” on p. 61.
9. Changed “Quest’ alta impresa il cielo, acciochè
nulla” to “Quest’ alta impresa il cielo,
acciocchè nulla” on p. 63.
10. Changed “Non può salir, che del terreno incarco”
to “Non può salir, chi del terreno incarco” on
p. 66.
11. Changed “Et ei conforme al merto suo nel
propio” to “Et ei conforme al merto suo nel
proprio” on p. 92.
12. Changed “Non senza gran cagion stamane
uscito” to “Non senza gran cagion stamane
uscito” on p. 101.
13. Changed “Ite, ò forti, ite ò saggi, te ò de gli alti”
to “Ite, ò forti, ite ò saggi, ite ò de gli alti” on
p. 107.
14. Changed “te ò de gli alti Lenaggi,” to “ite ò de gli
alti Legnaggi,” on p. 114.
*** END OF THE PROJECT GUTENBERG EBOOK A PROBABLE
ITALIAN SOURCE OF SHAKESPEARE'S "JULIUS CÆSAR" ***
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must,
at no additional cost, fee or expense to the user, provide a copy,
a means of exporting a copy, or a means of obtaining a copy
upon request, of the work in its original “Plain Vanilla ASCII” or
other form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
textbookfull.com