SlideShare a Scribd company logo
OPTIMIZING ACCESS WITH
SQL SERVER
JUAN SOTO
JUAN SOTO
IT Impact Inc.
jsoto@itimpact.com
AccessExperts.net
AccessExperts.net/blog
Twitter:@jsoto22
Find all links at:
http://bit.ly/bundles/jsoto22/1
About me:
Only Puerto Rican Access
MVP
Co-Founder
AccessUserGroups.org
Love playing poker
ADOLFO SOCORRO, PH.D.
• Local rep for IT Impact, Inc.
• Ph.D. in Computer Sciences
• Extensive Consulting Experience
ACCESS EXPERT
• Developer
• Consultant
• Expert in Access with SQL Server optimization
QUICK SURVEY
• First time to the meeting?
• Access Developers?
• Who uses Access with SQL Server now?
JUST WHAT THE HECK IS A ACCESS GUY DOING AT A
SQL SERVER MEETING?
• Not a SQL Server Expert
• Not a DBA
• And now: a deep discussion on running SQL
Server clusters for high availability
THE CASE FOR MICROSOFT ACCESS
• Most popular desktop database in the world
• Most users have it on their desktop
• Rapid Development Tool
• Easy to use, lots of templates
I Access
WHY THE LOVE?
• Rapid development - save money/time vs. .Net
• Contains all of the tools needed to develop rich
applications: report designer included
• No need for custom controls
• Wide range of solutions possible
• Rich integration with office
WHY IS ACCESS USED IF IT’S SO BAD?
• It’s in Office, my company gave it to me along with Word,PowerPoint
and Excel, so I guess I can use it?
• Users first choice is to go to IT and ask for help, but IT is too busy
with enterprise projects.
• (SQL Server Guys: How many times have you turned away small projects?)
• Business is so unique off the shelf software not a solution
• Employees can “cobble” together a database quickly, just enough to
be dangerous
WHY IT DOESN’T LIKE ACCESS DATABASES
• Departmental Islands of Data
• Non-Conformity
• Hard To Support at Help Desk
• Not possible to share data over WAN or VPN
• Not sharable outside the corporate net
• NOT secure, sneaker net
• Can become mission critical, than what?
I don’t care for Jet/ACE
What is Jet/ACE
anyway?
WHY JET DOES NOT CUT IT
Disadvantages
• File based, no server
component
• Can’t handle more than
25 users
• Prone to
crashes/corruption
Advantages
• No need for server
equipment
• Great for small (less than
5 users) databases IF
there is a small data set
I
SQL Server
(Express)!
SQL SERVER (EXPRESS)
• Best thing that ever happened to Access!
• Make an unbeatable combination if done right
• Saves on development costs over web and .net
• Provides UI flexibility and rapid response to
business changes
• Cut out Jet or minimize Jet’s role
• No need for separate reporting tools
• No need for custom controls
SQL SERVER (EXPRESS)
• Best thing that ever happened to Access!
• Make an unbeatable combination if done right
• Cut out Jet or minimize Jet’s role
TOP TEN THINGS YOU CAN DO IN SQL SERVER YOU CAN’T
DO IN ACCESS
• #10 Table Triggers
• #9 Identity Insert
• #8 Identity Seed
• #7 Table Function Calls
• #6 Table Variables
• #5 Triggers for Views
• #4 Batch Transactions/Rollback
• #3 Backup while in use
• #2 Column Security
• #1 Intellisense SSMS
USE ACCESS ONLY FOR THE EYE
CANDY
• All code and reporting in Access
• All data storage, security and querying in SQL
• Use local tables to minimize traffic, i.e. static tables in Access
• Minimize connections
• In short, treat Access as the presentation layer, not the data
layer
MIGRATING ACCESS DATA INTO SQL
• Use the Microsoft SQL Server Migration Assistant
for Access bit.ly/SQLMigration
• REVIEW the suggested conversions
• Follow these conventions:
• Make all Yes/No fields bit, with zero as default
• All tables must have a time stamp field (avoids record conflicts)
• Create Indexes for foreign keys, (Access will auto-generate them if the field
ends in ID, such as CustomerID but SQL server does not)
MIGRATING QUERIES INTO VIEWS
• Can’t migrate hybrid queries that use local Jet tables
• Must replace Access custom functions
• Convert Access native functions to SQL version
• Views used in data entry will require local indexes, which can be created in
Access using this SQL code:
• Create IndexName On ViewNameInAccess (field1, field2,…) WITH
PRIMARY"
• Views will also require delete trigger when multiple tables used in view
• Views are considered tables in regular Access
OPTIMAL DESIGN
• Use Windows credentials for user validation, security roles
and limiting users to features and data
• Use SQL Server to store most data, use local tables for small
lists.
• Use DSNless tables for rapid deployment
• Use ADODB with SQLOLEDB and bypass jet to send
commands direct to SQL
DESIGN CONTINUED
• Use a unique view for each report
• Use stored procedures for inserts, deletes, and business
rules
• Use pass through queries to retrieve output of stored
procedures as tables in Access
WHAT ABOUT STORED PROCEDURES?
• Only way to use them in regular Access is through a pass-
through query, which would require re-building them each
time arguments change or through code using ADODB
recordset or command object.
• Use the QueryDef object to create queries on the fly with
code
• In code: Use ADODB recordset object to return recordset
from stored procedure
SQL SERVER OVER THE WEB AND
ACCESS
• Great when there is no VPN available
• Requires extensive optimization and tweaking
• Faster then Jet!
*NEW* ACCESS WEB APPS
• Easliy create web apps and deploy in seconds
• Great for data collection apps
• Works with IE, Chrome and Safari
• Upload to SharePoint
• Stores all data on SQL Server, including webpages and report designs
DEMO ACCESS WEB APPS
PROS & CONS
• Benefits
• Users comfortable with creating Access solutions will experience short
learning curve
• No need to worry about users overloading the system
• No need to learn Visual Basic for Applications, safer environment
• Disadvantages
• Does not use VBA
• Limited functionality in Access
• Look at it as Access 1.0 for the Web
WHAT’S NEXT?
• Subscribe to my blog at AccessExperts.com/blog
• Contact me at AccessExperts.com/Contact
• Connect with me on LinkedIN
• Attend a AccessUserGroups.org meeting!
• Access Latino America
• Access with SQL Server

More Related Content

What's hot

Part I: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTec...
Part I: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTec...Part I: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTec...
Part I: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTec...
SPTechCon
 
SharePoint 2010 Development for ASP.NET Developers - Tyson Devcon 2010
SharePoint 2010 Development for ASP.NET Developers - Tyson Devcon 2010SharePoint 2010 Development for ASP.NET Developers - Tyson Devcon 2010
SharePoint 2010 Development for ASP.NET Developers - Tyson Devcon 2010
Corey Roth
 
Installing SharePoint 2013 – Step by Step presented by Alan Richards
Installing SharePoint 2013 – Step by Step presented by Alan RichardsInstalling SharePoint 2013 – Step by Step presented by Alan Richards
Installing SharePoint 2013 – Step by Step presented by Alan Richards
European SharePoint Conference
 
1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...
1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...
1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...
BIWUG
 
UWP apps development - Part 2
UWP apps development - Part 2UWP apps development - Part 2
UWP apps development - Part 2
Jiri Danihelka
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developers
John Ferringer
 
In Memory Cahce Structure
In Memory Cahce StructureIn Memory Cahce Structure
In Memory Cahce Structure
Mehmet Ali Tastan
 
Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications
Paul Withers
 
Oracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google Apps
Sergei Martens
 
Iris Multi-Class Classifier with Azure ML
Iris Multi-Class Classifier with Azure MLIris Multi-Class Classifier with Azure ML
Iris Multi-Class Classifier with Azure ML
Davide Mauri
 
Sql developer - Powerful Free tool for Developers and DBA's
Sql developer - Powerful Free tool for Developers and DBA'sSql developer - Powerful Free tool for Developers and DBA's
Sql developer - Powerful Free tool for Developers and DBA's
Navneet Upneja
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For Developers
Davide Mauri
 
RavenDB 4.0
RavenDB 4.0RavenDB 4.0
RavenDB 4.0
Oren Eini
 
Top 5 Tools for Web Scraping
Top 5 Tools for Web ScrapingTop 5 Tools for Web Scraping
Top 5 Tools for Web Scraping
PromptCloud
 
Role of-analytics-in-db as-life
Role of-analytics-in-db as-lifeRole of-analytics-in-db as-life
Role of-analytics-in-db as-life
Navneet Upneja
 
Top 7 mistakes
Top 7 mistakesTop 7 mistakes
Top 7 mistakes
Talbott Crowell
 
Revision
RevisionRevision
Revision
David Sherlock
 
Spsatx 1
Spsatx 1Spsatx 1
Spsatx 1
jtbarrera
 
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
O365Con18 - SharePoint Framework for Administrators - Waldek MastykarzO365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
NCCOMMS
 
SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010
John Ferringer
 

What's hot (20)

Part I: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTec...
Part I: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTec...Part I: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTec...
Part I: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTec...
 
SharePoint 2010 Development for ASP.NET Developers - Tyson Devcon 2010
SharePoint 2010 Development for ASP.NET Developers - Tyson Devcon 2010SharePoint 2010 Development for ASP.NET Developers - Tyson Devcon 2010
SharePoint 2010 Development for ASP.NET Developers - Tyson Devcon 2010
 
Installing SharePoint 2013 – Step by Step presented by Alan Richards
Installing SharePoint 2013 – Step by Step presented by Alan RichardsInstalling SharePoint 2013 – Step by Step presented by Alan Richards
Installing SharePoint 2013 – Step by Step presented by Alan Richards
 
1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...
1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...
1. SQL Server forSharePoint geeksA gentle introductionThomas Vochten • Septem...
 
UWP apps development - Part 2
UWP apps development - Part 2UWP apps development - Part 2
UWP apps development - Part 2
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developers
 
In Memory Cahce Structure
In Memory Cahce StructureIn Memory Cahce Structure
In Memory Cahce Structure
 
Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications Engage 2019: Modernising Your Domino and XPages Applications
Engage 2019: Modernising Your Domino and XPages Applications
 
Oracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google Apps
 
Iris Multi-Class Classifier with Azure ML
Iris Multi-Class Classifier with Azure MLIris Multi-Class Classifier with Azure ML
Iris Multi-Class Classifier with Azure ML
 
Sql developer - Powerful Free tool for Developers and DBA's
Sql developer - Powerful Free tool for Developers and DBA'sSql developer - Powerful Free tool for Developers and DBA's
Sql developer - Powerful Free tool for Developers and DBA's
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For Developers
 
RavenDB 4.0
RavenDB 4.0RavenDB 4.0
RavenDB 4.0
 
Top 5 Tools for Web Scraping
Top 5 Tools for Web ScrapingTop 5 Tools for Web Scraping
Top 5 Tools for Web Scraping
 
Role of-analytics-in-db as-life
Role of-analytics-in-db as-lifeRole of-analytics-in-db as-life
Role of-analytics-in-db as-life
 
Top 7 mistakes
Top 7 mistakesTop 7 mistakes
Top 7 mistakes
 
Revision
RevisionRevision
Revision
 
Spsatx 1
Spsatx 1Spsatx 1
Spsatx 1
 
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
O365Con18 - SharePoint Framework for Administrators - Waldek MastykarzO365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
 
SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010
 

Similar to Optimizing Access with SQL Server

Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
EPAM Systems
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Theo Jungeblut
 
Office Add ins community call-February 2019
Office Add ins community call-February 2019Office Add ins community call-February 2019
Office Add ins community call-February 2019
Microsoft 365 Developer
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
Jeremy Likness
 
ow.ppt
ow.pptow.ppt
ow.ppt
ssuser96a63c
 
ow.ppt
ow.pptow.ppt
Ow
OwOw
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Lucas Jellema
 
Kent State Ashtabula AITP - Exploring IT and Intro to PowerShell
Kent State Ashtabula AITP - Exploring IT and Intro to PowerShellKent State Ashtabula AITP - Exploring IT and Intro to PowerShell
Kent State Ashtabula AITP - Exploring IT and Intro to PowerShell
Sarah Dutkiewicz
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
TIMETOACT GROUP
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
Vincent Biret
 
Lecture 9: Dynamic web application
Lecture 9: Dynamic web applicationLecture 9: Dynamic web application
Lecture 9: Dynamic web application
Artificial Intelligence Institute at UofSC
 
Ten query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should knowTen query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should know
Kevin Kline
 
Visual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) OverviewVisual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) Overview
Steve Lange
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
Taylor Lovett
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
SPC Adriatics
 
O365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloudO365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloud
NCCOMMS
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
Serdar Basegmez
 

Similar to Optimizing Access with SQL Server (20)

Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
 
Office Add ins community call-February 2019
Office Add ins community call-February 2019Office Add ins community call-February 2019
Office Add ins community call-February 2019
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
Ow
OwOw
Ow
 
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
Modern DevOps across Technologies on premises and clouds with Oracle Manageme...
 
Kent State Ashtabula AITP - Exploring IT and Intro to PowerShell
Kent State Ashtabula AITP - Exploring IT and Intro to PowerShellKent State Ashtabula AITP - Exploring IT and Intro to PowerShell
Kent State Ashtabula AITP - Exploring IT and Intro to PowerShell
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
 
Lecture 9: Dynamic web application
Lecture 9: Dynamic web applicationLecture 9: Dynamic web application
Lecture 9: Dynamic web application
 
Ten query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should knowTen query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should know
 
Visual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) OverviewVisual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) Overview
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
O365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloudO365con14 - migrating your e-mail to the cloud
O365con14 - migrating your e-mail to the cloud
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
 

Recently uploaded

"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens""Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
sameer shah
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Kiwi Creative
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
apvysm8
 
writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
VyNguyen709676
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
mkkikqvo
 
Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...
Bill641377
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
nuttdpt
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
manishkhaire30
 
Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
roli9797
 
University of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma TranscriptUniversity of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma Transcript
soxrziqu
 
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
v7oacc3l
 
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
nuttdpt
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Aggregage
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
Sachin Paul
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
nyfuhyz
 
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdfUdemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Fernanda Palhano
 
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Kaxil Naik
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
AndrzejJarynowski
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
Walaa Eldin Moustafa
 

Recently uploaded (20)

"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens""Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
"Financial Odyssey: Navigating Past Performance Through Diverse Analytical Lens"
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
 
writing report business partner b1+ .pdf
writing report business partner b1+ .pdfwriting report business partner b1+ .pdf
writing report business partner b1+ .pdf
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
原版一比一多伦多大学毕业证(UofT毕业证书)如何办理
 
Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
 
Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
 
University of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma TranscriptUniversity of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma Transcript
 
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
 
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
一比一原版(UCSB文凭证书)圣芭芭拉分校毕业证如何办理
 
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
 
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdfUdemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
 
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
Orchestrating the Future: Navigating Today's Data Workflow Challenges with Ai...
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
 

Optimizing Access with SQL Server

  • 1. OPTIMIZING ACCESS WITH SQL SERVER JUAN SOTO
  • 2. JUAN SOTO IT Impact Inc. jsoto@itimpact.com AccessExperts.net AccessExperts.net/blog Twitter:@jsoto22 Find all links at: http://bit.ly/bundles/jsoto22/1 About me: Only Puerto Rican Access MVP Co-Founder AccessUserGroups.org Love playing poker
  • 3. ADOLFO SOCORRO, PH.D. • Local rep for IT Impact, Inc. • Ph.D. in Computer Sciences • Extensive Consulting Experience
  • 4. ACCESS EXPERT • Developer • Consultant • Expert in Access with SQL Server optimization
  • 5. QUICK SURVEY • First time to the meeting? • Access Developers? • Who uses Access with SQL Server now?
  • 6. JUST WHAT THE HECK IS A ACCESS GUY DOING AT A SQL SERVER MEETING? • Not a SQL Server Expert • Not a DBA • And now: a deep discussion on running SQL Server clusters for high availability
  • 7. THE CASE FOR MICROSOFT ACCESS • Most popular desktop database in the world • Most users have it on their desktop • Rapid Development Tool • Easy to use, lots of templates
  • 8.
  • 9.
  • 10.
  • 12. WHY THE LOVE? • Rapid development - save money/time vs. .Net • Contains all of the tools needed to develop rich applications: report designer included • No need for custom controls • Wide range of solutions possible • Rich integration with office
  • 13. WHY IS ACCESS USED IF IT’S SO BAD? • It’s in Office, my company gave it to me along with Word,PowerPoint and Excel, so I guess I can use it? • Users first choice is to go to IT and ask for help, but IT is too busy with enterprise projects. • (SQL Server Guys: How many times have you turned away small projects?) • Business is so unique off the shelf software not a solution • Employees can “cobble” together a database quickly, just enough to be dangerous
  • 14. WHY IT DOESN’T LIKE ACCESS DATABASES • Departmental Islands of Data • Non-Conformity • Hard To Support at Help Desk • Not possible to share data over WAN or VPN • Not sharable outside the corporate net • NOT secure, sneaker net • Can become mission critical, than what?
  • 15. I don’t care for Jet/ACE What is Jet/ACE anyway?
  • 16. WHY JET DOES NOT CUT IT Disadvantages • File based, no server component • Can’t handle more than 25 users • Prone to crashes/corruption Advantages • No need for server equipment • Great for small (less than 5 users) databases IF there is a small data set
  • 18. SQL SERVER (EXPRESS) • Best thing that ever happened to Access! • Make an unbeatable combination if done right • Saves on development costs over web and .net • Provides UI flexibility and rapid response to business changes • Cut out Jet or minimize Jet’s role • No need for separate reporting tools • No need for custom controls
  • 19. SQL SERVER (EXPRESS) • Best thing that ever happened to Access! • Make an unbeatable combination if done right • Cut out Jet or minimize Jet’s role
  • 20. TOP TEN THINGS YOU CAN DO IN SQL SERVER YOU CAN’T DO IN ACCESS • #10 Table Triggers • #9 Identity Insert • #8 Identity Seed • #7 Table Function Calls • #6 Table Variables • #5 Triggers for Views • #4 Batch Transactions/Rollback • #3 Backup while in use • #2 Column Security • #1 Intellisense SSMS
  • 21. USE ACCESS ONLY FOR THE EYE CANDY • All code and reporting in Access • All data storage, security and querying in SQL • Use local tables to minimize traffic, i.e. static tables in Access • Minimize connections • In short, treat Access as the presentation layer, not the data layer
  • 22. MIGRATING ACCESS DATA INTO SQL • Use the Microsoft SQL Server Migration Assistant for Access bit.ly/SQLMigration • REVIEW the suggested conversions • Follow these conventions: • Make all Yes/No fields bit, with zero as default • All tables must have a time stamp field (avoids record conflicts) • Create Indexes for foreign keys, (Access will auto-generate them if the field ends in ID, such as CustomerID but SQL server does not)
  • 23. MIGRATING QUERIES INTO VIEWS • Can’t migrate hybrid queries that use local Jet tables • Must replace Access custom functions • Convert Access native functions to SQL version • Views used in data entry will require local indexes, which can be created in Access using this SQL code: • Create IndexName On ViewNameInAccess (field1, field2,…) WITH PRIMARY" • Views will also require delete trigger when multiple tables used in view • Views are considered tables in regular Access
  • 24. OPTIMAL DESIGN • Use Windows credentials for user validation, security roles and limiting users to features and data • Use SQL Server to store most data, use local tables for small lists. • Use DSNless tables for rapid deployment • Use ADODB with SQLOLEDB and bypass jet to send commands direct to SQL
  • 25. DESIGN CONTINUED • Use a unique view for each report • Use stored procedures for inserts, deletes, and business rules • Use pass through queries to retrieve output of stored procedures as tables in Access
  • 26. WHAT ABOUT STORED PROCEDURES? • Only way to use them in regular Access is through a pass- through query, which would require re-building them each time arguments change or through code using ADODB recordset or command object. • Use the QueryDef object to create queries on the fly with code • In code: Use ADODB recordset object to return recordset from stored procedure
  • 27. SQL SERVER OVER THE WEB AND ACCESS • Great when there is no VPN available • Requires extensive optimization and tweaking • Faster then Jet!
  • 28. *NEW* ACCESS WEB APPS • Easliy create web apps and deploy in seconds • Great for data collection apps • Works with IE, Chrome and Safari • Upload to SharePoint • Stores all data on SQL Server, including webpages and report designs
  • 30. PROS & CONS • Benefits • Users comfortable with creating Access solutions will experience short learning curve • No need to worry about users overloading the system • No need to learn Visual Basic for Applications, safer environment • Disadvantages • Does not use VBA • Limited functionality in Access • Look at it as Access 1.0 for the Web
  • 31. WHAT’S NEXT? • Subscribe to my blog at AccessExperts.com/blog • Contact me at AccessExperts.com/Contact • Connect with me on LinkedIN • Attend a AccessUserGroups.org meeting! • Access Latino America • Access with SQL Server